ptsname_r, ptsname: Avoid test failures on AIX 7.2.
[gnulib.git] / ChangeLog
blobe0b017de4e56796c69089b3d8d1cc44545938c28
1 2021-01-05  Bruno Haible  <bruno@clisp.org>
3         ptsname_r, ptsname: Avoid test failures on AIX 7.2.
4         * tests/test-ptsname_r.c (main): On AIX, set a 20-seconds timer.
5         * tests/test-ptsname.c (main): Likewise. On AIX, open a pty through
6         /dev/ptc and don't test the BSD ptys.
8 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
10         libc-config: merge from glibc
11         Use a better way of keeping glibc <sys/cdefs.h> and gnulib
12         lib/cdefs.h mostly in sync, by using lib/cdefs.h only on platforms
13         where <sys/cdefs.h> does not work well enough for Gnulib.
14         * lib/cdefs.h: Go back to using _SYS_CDEFS_H rather than
15         _GL_DEFS_H as an include guard.
16         (__THROW, __THROWNL, __NTH, __NTHNL):
17         Define to noexcept for C++11 and later.
18         (__glibc_objsize, __glibc_objsize0): New, for _FORTIFY_SOURCE=3.
19         (__warndecl): Remove.
20         (__attribute_copy__): New macro, for GCC 9 support.
21         (__LDBL_REDIR, __LDBL_REDIR_DECL, __LDBL_REDIR1)
22         (__LDBL_REDIR1_DECL, __LDBL_REDIR1_NTH, __REDIRECT_NTH_LDBL)
23         (__REDIRECT_LDBL, __LDBL_REDIR_NTH):
24         Redirections for IEEE long double on powerpc64le.
25         (__LDBL_REDIR2_DECL): New macro.
26         (__attr_access): New macro, for GCC 10 bounds checking.
27         (__attribute_returns_twice__): New macro, for setjmp etc.
28         * lib/libc-config.h: Include <cdefs.h> only if __glibc_likely is
29         undefined.  The following changes apply only if __glibc_likely
30         is not defined.
31         (__LDBL_REDIR2_DECL, __attr_access, __attribute_returns_twice__)
32         (__glibc_clang_has_attribute, __glibc_clang_has_extension)
33         (__glibc_objsize, __glibc_objsize0):
34         Undef these new (or newer) <cdefs.h> macros.
35         (__P, __PMT, __always_inline): Do not undef, since cdefs.h does that.
36         (__glibc_likely): Do not undef, since this is inside
37         ifndef __glibc_likely.
38         (__warndecl): Do not undef; no longer defined.
40 2021-01-05  Jim Meyering  <meyering@fb.com>
42         maintainer-makefile: correct preceding change
43         * top/maint.mk (syntax-check-rules): Use LC_ALL=C, not LANG=C.
45 2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>
47         maint: note syncs to glibc
48         * config/srclist.txt: filename.h, idx.h, scratch_buffer.h and
49         scratch_buffer_dupfree.c are now identical to glibc.  Add
50         commentary about some other syncs we’d like.
51         * modules/filename, modules/idx (Maintainer): Add glibc.
53 2021-01-05  Bruno Haible  <bruno@clisp.org>
55         truncate: Work around trailing slash bug in truncate() on AIX 7.2.
56         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Add a test whether truncate
57         rejects trailing slashes. Set REPLACE_TRUNCATE and define
58         TRUNCATE_TRAILING_SLASH_BUG if not.
59         * lib/truncate.c (orig_truncate): New function.
60         (truncate): Add alternative implementation when
61         TRUNCATE_TRAILING_SLASH_BUG is defined.
62         * modules/truncate (Depends-on): Add sys_stat, stat.
64 2021-01-05  Bruno Haible  <bruno@clisp.org>
66         mkfifoat: Fix cross-compilation guess (regression from 2021-01-04).
67         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Fix copy-and-paste mistake.
69 2021-01-05  Bruno Haible  <bruno@clisp.org>
71         ffsll: Override completely broken implementation on AIX in 32-bit mode.
72         * m4/ffsll.m4 (gl_FUNC_FFSLL): Test whether ffsll minimally works. If
73         not, set REPLACE_FFSLL.
74         * lib/string.in.h (ffsll): Consider REPLACE_FFSLL.
75         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
76         REPLACE_FFSLL.
77         * modules/string (Makefile.am): Substitute REPLACE_FFSLL.
78         * modules/ffsll (Depends-on, configure.ac): Consider REPLACE_FFSLL.
79         * doc/glibc-functions/ffsll.texi: Mention the AIX 7.2 bug.
81 2021-01-04  Bruno Haible  <bruno@clisp.org>
83         symlinkat: Fix trailing slash handling.
84         * lib/symlinkat.c (rpl_symlinkat): Don't follow symlinks during the
85         trailing slash handling.
86         * modules/symlinkat (Depends-on): Update conditions.
88 2021-01-04  Bruno Haible  <bruno@clisp.org>
90         mkfifoat: Update module description.
91         * modules/mkfifoat (Depends-on): Update conditions after last commits.
93 2021-01-04  Bruno Haible  <bruno@clisp.org>
95         link: Improve trailing slash handling on native Windows.
96         * lib/link.c (link): If stat() fails, provide a better errno.
98 2021-01-04  Bruno Haible  <bruno@clisp.org>
100         mkfifoat: Work around trailing slash bug in mknodat() on AIX 7.2.
101         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Set also REPLACE_MKNODAT.
102         * lib/sys_stat.in.h (mknodat): Consider REPLACE_MKNODAT.
103         * lib/mknodat.c: Add an overriding implementation of mknodat().
104         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKNODAT.
105         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKNODAT.
106         * modules/mkfifoat (Depends-on, configure.ac): Consider REPLACE_MKNODAT.
107         * doc/posix-functions/mknodat.texi: Mention the AIX bug.
109         mkfifoat: Work around trailing slash bug in mkfifoat() on AIX 7.2.
110         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Add a test whether mkfifoat rejects
111         trailing slashes. Set REPLACE_MKFIFOAT if not.
112         * lib/sys_stat.in.h (mkfifoat): Consider REPLACE_MKFIFOAT.
113         * lib/mkfifoat.c: Add an overriding implementation of mkfifoat().
114         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
115         REPLACE_MKFIFOAT.
116         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKFIFOAT.
117         * modules/mkfifoat (Depends-on): Add fstatat.
118         (configure.ac): Consider REPLACE_MKFIFOAT.
119         * doc/posix-functions/mkfifoat.texi: Mention the AIX bug.
121 2021-01-04  Bruno Haible  <bruno@clisp.org>
123         libc-config: Avoid overriding the headers from an installed newer glibc.
124         Reported by Paul E Murphy <murphyp@linux.ibm.com> in
125         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00106.html>.
126         * lib/cdefs.h: Use a different include guard than glibc's <sys/cdefs.h>.
127         * lib/libc-config.h: Update accordingly.
129 2021-01-04  Simon Josefsson  <simon@josefsson.org>
131         maintainer-makefile: Invoke syntax-checks regardless of locale.
132         * top/maint.mk (syntax-check-rules): Invoke sed with LANG=C
133         environment because [a-z] may not include 'w' in all locales.
135 2021-01-04  Bruno Haible  <bruno@clisp.org>
137         nstrftime, time_rz: Avoid using an obsolete Autoconf macro.
138         Reported by Mike Gran <spk121@yahoo.com> in
139         <https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00067.html>.
140         * lib/time-internal.h: Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
141         * lib/time_rz.c: Likewise.
142         * lib/nstrftime.c: Set and test HAVE_STRUCT_TM_TM_ZONE, not
143         HAVE_TM_ZONE.
144         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Update comments.
146 2021-01-04  Bruno Haible  <bruno@clisp.org>
148         expm1f-ieee: Work around AIX 7.2 bug.
149         * m4/expm1f.m4 (gl_FUNC_EXPM1F): Initialize gl_expm1f_required. If
150         module 'expm1f-ieee' is in use, check whether expm1f works according to
151         IEEE.
152         * m4/expm1f-ieee.m4: New file.
153         * modules/expm1f-ieee (Files): Add it.
154         (Depends-on): Update conditions.
155         (configure.ac): Invoke gl_FUNC_EXPM1F_IEEE.
156         * doc/posix-functions/expm1f.texi: Mention the AIX bug.
158 2021-01-04  Bruno Haible  <bruno@clisp.org>
160         ffsl, ffsll: Work around AIX 7.2 problem.
161         * lib/string.in.h: On AIX, include <strings.h> for the declarations of
162         ffsl and ffsll.
163         * doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem.
164         * doc/glibc-functions/ffsll.texi: Likewise.
166 2021-01-04  Bruno Haible  <bruno@clisp.org>
168         ssfmalloc: Fix includes.
169         * lib/ssfmalloc.h: Include <strings.h>, for ffs().
170         * tests/test-ssfmalloc.c: Include <string.h>, for memset().
172 2021-01-03  Bruno Haible  <bruno@clisp.org>
174         quotearg tests: Avoid test failures on Solaris 11.3.
175         * tests/test-quotearg.sh: Copy the fr/ directory using 'cp -R', not
176         'cp -a'.
178 2021-01-03  Bruno Haible  <bruno@clisp.org>
180         tests: Fix link errors on Solaris, when libunistring-optional is in use.
181         * modules/wcwidth (Link): New section.
182         * modules/wcswidth (Link): New section.
183         * modules/mbchar (Link): New section.
184         * modules/mbfile (Link): Link against libunistring.
185         * modules/mbiter (Link): Likewise.
186         * modules/mbuiter (Link): Likewise.
187         * modules/mbmemcasecmp (Link): Likewise.
188         * modules/mbscasecmp (Link): Likewise.
189         * modules/mbscasestr (Link): Likewise.
190         * modules/mbschr (Link): Likewise.
191         * modules/mbscspn (Link): Likewise.
192         * modules/mbslen (Link): Likewise.
193         * modules/mbsncasecmp (Link): Likewise.
194         * modules/mbsnlen (Link): Likewise.
195         * modules/mbspbrk (Link): Likewise.
196         * modules/mbspcasecmp (Link): Likewise.
197         * modules/mbsrchr (Link): Likewise.
198         * modules/mbssep (Link): Likewise.
199         * modules/mbsspn (Link): Likewise.
200         * modules/mbsstr (Link): Likewise.
201         * modules/mbstok_r (Link): Likewise.
202         * modules/mbswidth (Link): Likewise.
203         * modules/exclude (Link): Likewise.
204         * modules/propername (Link): Likewise.
205         * modules/regex-quote (Link): Likewise.
206         * modules/trim (Link): Likewise.
207         * modules/mbmemcasecmp-tests (Makefile.am): Link the test program
208         against libunistring.
209         * modules/mbscasecmp-tests (Makefile.am): Likewise.
210         * modules/mbscasestr-tests (Makefile.am): Likewise.
211         * modules/mbschr-tests (Makefile.am): Likewise.
212         * modules/mbscspn-tests (Makefile.am): Likewise.
213         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
214         * modules/mbspbrk-tests (Makefile.am): Likewise.
215         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
216         * modules/mbsrchr-tests (Makefile.am): Likewise.
217         * modules/mbsspn-tests (Makefile.am): Likewise.
218         * modules/mbsstr-tests (Makefile.am): Likewise.
219         * modules/exclude-tests (Makefile.am): Likewise.
220         * modules/regex-quote-tests (Makefile.am): Likewise.
222 2021-01-03  Bruno Haible  <bruno@clisp.org>
224         c32ispunct tests: Avoid test failures on FreeBSD.
225         * tests/test-c32ispunct.c (main): On FreeBSD, disable tests that fail on
226         FreeBSD 12.1.1.
228 2021-01-04  Simon Josefsson  <simon@josefsson.org>
230         doc: Repeat warning that --with-tests cannot be used twice.
231         * doc/gnulib-tool.texi (Multiple instances): Remind reader of
232         --with-tests limitation.
234 2021-01-03  Bruno Haible  <bruno@clisp.org>
236         iconv, iconv_open: Improve documentation.
237         Reported by Noah Misch <noah@leadboat.com> in
238         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>.
239         * doc/posix-functions/iconv_open.texi: Add new paragraph "Portability
240         problems handled by Gnulib".
241         * doc/posix-functions/iconv.texi: Likewise. Update info about AIX.
242         * m4/iconv.m4 (AM_ICONV_LINK): Improve comments.
244 2021-01-03  Bruno Haible  <bruno@clisp.org>
246         iconv-h: Fix module description.
247         * modules/iconv-h (Include): Check HAVE_ICONV_H.
249 2021-01-03  Noah Misch  <noah@leadboat.com>
251         iconv_open: Fix module description.
252         * modules/iconv_open (Include): Check HAVE_ICONV, like modules/iconv.
254 2021-01-03  Bruno Haible  <bruno@clisp.org>
256         stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.
257         * m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t
258         stricter: Add tests for offsetof-based alignof.
259         * lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode.
260         * doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.
262 2021-01-03  Bruno Haible  <bruno@clisp.org>
264         free-posix: Work around GCC mis-optimization bug.
265         Code by Bernhard Voelker <mail@bernhard-voelker.de>.
266         * lib/free.c (rpl_free): Add alternative complicated code for GCC.
268 2021-01-02  Bruno Haible  <bruno@clisp.org>
270         valgrind-tests: Disable valgrind if it would cause all tests to fail.
271         Suggested by Simon Josefsson <simon@josefsson.org> in
272         <https://lists.gnu.org/archive/html/help-gsasl/2021-01/msg00004.html>.
273         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Test $VALGRIND on an
274         executable produced by the current compiler. Set VALGRIND to empty if it
275         does not work. Don't set VALGRIND to empty if it merely does not accept
276         the --error-exitcode=1 --leak-check=full options.
278 2021-01-02  Bruno Haible  <bruno@clisp.org>
280         valgrind-tests: Really enable the valgrind options test.
281         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Don't assume that the
282         valgrind options --error-exitcode=1 --leak-check=full always work.
284 2021-01-02  Bruno Haible  <bruno@clisp.org>
286         utimensat: Fix test failures on macOS 10.13.
287         * lib/utimensat.c: Include <string.h>, <sys/stat.h>.
288         (rpl_utimensat): Check against invalid tv_nsec values. Before calling
289         utimensat, recognize a filename ending in a slash that does not point
290         to a directory.
292 2021-01-02  Bruno Haible  <bruno@clisp.org>
294         utimens: Fix test failure on macOS 10.13.
295         * lib/utimens.c: Include <string.h>.
297         utimens: Fix test failure on macOS 10.13.
298         * lib/utimens.c (fdutimens): Before calling utimensat, recognize a
299         filename ending in a slash that does not point to a directory.
301 2021-01-02  Bruno Haible  <bruno@clisp.org>
303         utimens: Avoid test failures on macOS 10.13.
304         Reported by Martin Storsjö <martin@martin.st> in
305         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
306         * tests/test-utimens-common.h (check_ctime): Define to -1 on macOS.
307         * tests/test-utimens.h (test_utimens): Don't expect a ctime change when
308         only the atime is requested to change.
309         * tests/test-futimens.h (test_futimens): Likewise.
310         * tests/test-lutimens.h (test_lutimens): Likewise.
312 2021-01-02  Bruno Haible  <bruno@clisp.org>
314         renameatu: Fix test failures on macOS.
315         Reported by Martin Storsjö <martin@martin.st> in
316         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
317         * lib/renameatu.c (renameatu): Don't call renameatx_np right away.
318         Instead, treat it as a variant of renameat, with all possible bugs that
319         renameat might have.
321 2021-01-02  Bruno Haible  <bruno@clisp.org>
323         getgroups test: Avoid warning with glibc >= 2.32 and gcc >= 10.
324         Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
325         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>.
326         * tests/test-getgroups.c: Silence gcc warnings of type
327         -Wstringop-overflow.
329 2021-01-02  Bruno Haible  <bruno@clisp.org>
331         timespec_get: Add tests.
332         * tests/test-timespec_get.c: New file.
333         * modules/timespec_get-tests: New file.
335         timespec_get: New module.
336         * lib/time.in.h (timespec_get): New declaration.
337         * lib/timespec_get.c: New file.
338         * m4/timespec_get.m4: New file.
339         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
340         GNULIB_TIMESPEC_GET, HAVE_TIMESPEC_GET.
341         * modules/time (Makefile.am): Substitute GNULIB_TIMESPEC_GET,
342         HAVE_TIMESPEC_GET.
343         * modules/timespec_get: New file.
344         * tests/test-time-c++.cc (timespec_get): Check signature.
345         * doc/glibc-functions/timespec_get.texi: Mention the new module.
347 2021-01-01  Bruno Haible  <bruno@clisp.org>
349         time: Define TIME_UTC.
350         * lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros.
351         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC.
352         * modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC.
353         * tests/test-time.c: Check that TIME_UTC is defined and a positive
354         integer.
355         * doc/posix-headers/time.texi: Mention TIME_UTC.
357 2021-01-01  Bruno Haible  <bruno@clisp.org>
359         stddef: Try harder to get max_align_t defined on OpenBSD, part 2.
360         * modules/stddef (Depends-on): Add extensions.
362 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
364         canonicalize: remove NARROW_ADDRESSES optimization
365         * lib/canonicalize-lgpl.c, lib/canonicalize.c (NARROW_ADDRESSES):
366         Remove, and remove all uses, as the optimization is arguably not
367         worth the extra complexity.  Suggested by Adhemerval Zanella in:
368         https://sourceware.org/pipermail/libc-alpha/2020-December/121203.html
370 2021-01-01  Bruno Haible  <bruno@clisp.org>
372         stddef: Try harder to get max_align_t defined on OpenBSD.
373         * m4/stddef_h.m4 (gl_STDDEF_H): Require gl_USE_SYSTEM_EXTENSIONS.
375 2021-01-01  Bruno Haible  <bruno@clisp.org>
377         aligned_alloc: Fix test failure on OpenBSD 6.8.
378         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): On OpenBSD, define
379         _ISOC11_SOURCE.
380         * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Require it. Update
381         comment.
383 2021-01-01  Bruno Haible  <bruno@clisp.org>
385         posixtm tests: Disable part of the test on plaforms where it fails.
386         * tests/test-posixtm.c (T): Disable two tests on macOS as well.
388 2021-01-01  Bruno Haible  <bruno@clisp.org>
390         c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
391         * tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
392         Solaris 11 OmniOS.
393         * tests/test-c32isprint.c (main): Likewise.
394         * tests/test-c32ispunct.c (main): Likewise.
396 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
398         libc-config: port to Sun C 5.9
399         * lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
400         definition.  It’s not needed for Gnulib and elicits a diagnostic
401         from Sun C 5.9 Patch 124867-12 2009/11/22.
403 2021-01-01  Bruno Haible  <bruno@clisp.org>
405         quotearg tests: Avoid test failures on Solaris 11.
406         * modules/quotearg-tests (Makefile.am): Set host_os in
407         TESTS_ENVIRONMENT.
408         * tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
409         directory that contains the .mo file.
411 2021-01-01  Bruno Haible  <bruno@clisp.org>
413         maint: Update copyright notices in --version output.
414         List the most recent year in which changes were made, per
415         <https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
416         * build-aux/declared.sh (func_version): Say 2019.
417         * build-aux/libtool-next-version (func_version): Likewise.
418         * build-aux/run-test (func_version): Likewise.
419         * check-module (COPYRIGHT_NOTICE): Say 2012.
420         * lib/git-merge-changelog.c (main): Say 2020.
422 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
424         filename: change filename.h comment to LGPLv2.1+
425         * lib/filename.h: Change license notice to match what should be in
426         glibc, and what modules/filename specifies.  This is to simplify
427         syncing with glibc.
429         doc: mention year-0 bugs in Solaris etc.
430         * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
431         * doc/posix-functions/localtime.texi:
432         * doc/posix-functions/localtime_r.texi:
433         * doc/posix-functions/mktime.texi:
434         Mention year-0 bugs in localtime etc.
436 2020-12-31  Bruno Haible  <bruno@clisp.org>
438         ptsname_r: Fix test failure on Solaris.
439         * lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
440         the device.
442 2020-12-31  Bruno Haible  <bruno@clisp.org>
444         posixtm tests: Disable part of the test on plaforms where it fails.
445         * tests/test-posixtm.c (T): Disable two tests on Solaris.
447 2020-12-31  Bruno Haible  <bruno@clisp.org>
449         poll tests: Avoid test failure on AIX.
450         * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
451         shutdown" test on AIX.
452         * doc/posix-functions/poll.texi: Mention the AIX bug.
454 2020-12-31  Bruno Haible  <bruno@clisp.org>
456         poll tests: Avoid test failure on BSD and Solaris systems.
457         * tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
458         "expecting POLLHUP after shutdown" test on all platforms except Linux.
460 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
462         fnmatch: merge from glibc + proposal
463         This merges the change proposed by Adhemerval Zanella in:
464         https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
465         which fixes a Gnulib bug that led to a failed assert.
466         * lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
467         check that it stays nonnegative.  Use __flexarr instead of
468         FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
469         * tests/test-fnmatch.c (main): New test cases, taken from glibc.
471         glob: merge proposed glibc changes
472         This merges the change proposed by Adhemerval Zanella in:
473         https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
474         * lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.
476 2020-12-31  Bruno Haible  <bruno@clisp.org>
478         memalign: Work around Solaris bug.
479         * lib/memalign.c: New file.
480         * m4/memalign.m4: New file.
481         * modules/memalign (Files): Add them.
482         (Depends-on): Add malloc-h.
483         (configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
484         memalign.c. Set module indicator.
485         (Include): Include <malloc.h> unconditionally.
486         * doc/glibc-functions/memalign.texi: Mention the Solaris issues.
488         malloc-h: Add tests.
489         * tests/test-malloc-h.c: New file.
490         * modules/malloc-h-tests: New file.
491         * tests/test-malloc-h-c++.cc: New file.
492         * modules/malloc-h-c++-tests: New file.
494         malloc-h: New module.
495         * lib/malloc.in.h: New file.
496         * m4/malloc_h.m4: New file.
497         * modules/malloc-h: New file.
498         * doc/glibc-headers/malloc.texi: New file.
499         * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
501 2020-12-31  Bruno Haible  <bruno@clisp.org>
503         unistd: Fix portability warnings.
504         * lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.
506 2020-12-31  Bruno Haible  <bruno@clisp.org>
508         utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
509         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
510         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
511         * lib/utime.c: Include <errno.h>.
513 2020-12-30  Karl Berry  <karl@freefriends.org>
515         config: srclistvars doc.
516         * config/srclistvars.sh: doc a couple of unusual source repo urls.
518 2020-12-30  Bruno Haible  <bruno@clisp.org>
520         getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
521         * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
522         with no errno.
523         * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
524         EINVAL.
526 2020-12-29  Jim Meyering  <meyering@fb.com>
528         regex-tests: tweak to avoid a clang-10 warning
529         * tests/test-regex.c: Compare with explicit zero, rather than
530         as boolean to avoid this from clang-10:
531         test-regex.c:315:9: error: converting the result of '<<' to a \
532           boolean always evaluates to true \
533           [-Werror,-Wtautological-constant-compare]
534         if (! REG_STARTEND)
536         hash: add casts-to-float to avoid clang-10 warnings
537         * lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
538         to avoid this warning from clang-10 (for use in grep):
539           hash.c:501:11: error: implicit conversion from 'unsigned long' \
540             to 'float' changes value from 18446744073709551615 to \
541             18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
542           if (SIZE_MAX <= new_candidate)
543         (hash_insert_if_absent): Likewise.
545 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
547         canonicalize: fix size overflow treatment
548         This also has some minor cleanups.
549         * lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
550         stddef.h, since the code no longer refers directly to ptrdiff_t.
551         * lib/canonicalize-lgpl.c (realpath_stk):
552         * lib/canonicalize.c (canonicalize_filename_mode_stk):
553         Treat size overflow like other out-of-memory.
554         * lib/canonicalize.c: No need to include stdlib.h, since
555         the code no longer refers to stdlib.h functions (other
556         than those that canonicalize.h must declare).
557         * lib/canonicalize.c (canonicalize_filename_mode_stk):
558         Do not bother terminating the string result on error.
560 2020-12-29  Bruno Haible  <bruno@clisp.org>
562         list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
563         * lib/gl_list.hh: Include <stdlib.h>.
564         * lib/gl_map.hh: Likewise.
565         * lib/gl_omap.hh: Likewise.
566         * lib/gl_set.hh: Likewise.
567         * lib/gl_oset.hh: Likewise.
569 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
571         canonicalize: fix ptrdiff_t overflow bug
572         Problem reported by Adhemerval Zanella in:
573         https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
574         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
575         Include intprops.h.
576         (NARROW_ADDRESSES): New constant.
577         * lib/canonicalize-lgpl.c (realpath_stk):m
578         * lib/canonicalize.c (canonicalize_filename_mode_stk):
579         Work even if strlen (END) does not fit in idx_t, or if adding
580         N to it overflows.
581         * modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
582         Add intprops.
584 2020-12-28  Bruno Haible  <bruno@clisp.org>
586         havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
587         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
588         acl_is_expected_elfclass, use 'expr', not 'test'.
590 2020-12-28  Bruno Haible  <bruno@clisp.org>
592         ptsname_r: Fix a compiler warning on Solaris.
593         * lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.
595 2020-12-28  Bruno Haible  <bruno@clisp.org>
597         gnulib-tool: Fix logic whether to add a dummy.c.
598         * gnulib-tool (func_remove_if_blocks): New function.
599         (func_modules_add_dummy): Use it to eliminate all conditional statements
600         from the automake snippet.
602 2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>
604         faccessat: revert recent EOVERFLOW change
605         I misunderstood the glibc source code.  Deduced from
606         Adhemerval Zanella’s proposed glibc patch in:
607         https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
608         * doc/posix-functions/faccessat.texi: It is not a problem.
609         * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
610         (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
611         * lib/faccessat.c: Revert to simpler version now that
612         LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
613         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
614         Remove.  All uses removed.
615         * modules/canonicalize, modules/canonicalize-lgpl (Files):
616         Remove m4/faccessat.m4.
618         canonicalize-lgpl: accommodate picky cpp
619         * lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
620         case preprocessor is picky.  Reported by Adhemerval Zanella in:
621         https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html
623         canonicalize: simplify via scratch_buffer_dupfree
624         * config/srclist.txt: Adjust accordingly.
625         * lib/canonicalize-lgpl.c (realpath_stk):
626         * lib/canonicalize.c (canonicalize_filename_mode_stk):
627         Simplify by using scratch_buffer_dupfree.
628         * lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
629         * lib/malloc/scratch_buffer_dupfree.c: New file.
630         * modules/scratch_buffer (Files, Depends-on):
631         Add malloc/scratch_buffer_dupfree.c.
633 2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>
635         regex: remove glibc21.m4
636         It doesn’t seem to be needed any more; at least, I couldn’t
637         reproduce the circa-2013 problem.  Perhaps the recent
638         --conditional-dependencies fixes have removed the need for it.
639         * m4/glibc21.m4: Remove.  All uses removed.
641 2020-12-26  Bruno Haible  <bruno@clisp.org>
643         gnulib-tool: Make --conditional-dependencies work with --with-tests.
644         Reported by Paul Eggert in
645         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
646         * gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
647         dependencies like func_emit_lib_Makefile_am.
649 2020-12-26  Bruno Haible  <bruno@clisp.org>
651         execvpe: Make dependency to stdbool explicit.
652         * lib/execvpe.c: Include <stdbool.h>.
653         * modules/execvpe (Depends-on): Add stdbool.
655         execlp: Add tests.
656         * tests/test-execlp-main.c: New file.
657         * tests/test-execlp.sh: New file.
658         * modules/execlp-tests: New file.
660         execlp: New module.
661         * lib/execlp.c: New file.
662         * m4/execlp.m4: New file.
663         * modules/execlp: New file.
664         * doc/posix-functions/execlp.texi: Mention more Windows problems and the
665         new module.
667         execle: Add tests.
668         * tests/test-execle-main.c: New file.
669         * tests/test-execle.sh: New file.
670         * modules/execle-tests: New file.
672         execle: New module.
673         * lib/execle.c: New file.
674         * m4/execle.m4: New file.
675         * modules/execle: New file.
676         * doc/posix-functions/execle.texi: Mention more Windows problems and the
677         new module.
679         execl: Add tests.
680         * tests/test-execl-main.c: New file.
681         * tests/test-execl.sh: New file.
682         * modules/execl-tests: New file.
684         execl: New module.
685         * lib/execl.c: New file.
686         * m4/execl.m4: New file.
687         * modules/execl: New file.
688         * doc/posix-functions/execl.texi: Mention more Windows problems and the
689         new module.
691         execv: Add tests.
692         * tests/test-execv-main.c: New file.
693         * tests/test-execv.sh: New file.
694         * modules/execv-tests: New file.
696         execv: New module.
697         * lib/execv.c: New file.
698         * m4/execv.m4: New file.
699         * modules/execv: New file.
700         * doc/posix-functions/execv.texi: Mention more Windows problems and the
701         new module.
703         execvp: Add tests.
704         * tests/test-execvp-main.c: New file.
705         * tests/test-execvp.sh: New file.
706         * modules/execvp-tests: New file.
708         execvp: New module.
709         * lib/execvp.c: New file.
710         * m4/execvp.m4: New file.
711         * modules/execvp: New file.
712         * doc/posix-functions/execvp.texi: Mention more Windows problems and the
713         new module.
715         execvpe: Add tests.
716         * tests/test-execvpe-main.c: New file.
717         * tests/test-execvpe.sh: New file.
718         * modules/execvpe-tests: New file.
720         execvpe: New module.
721         * lib/execvpe.c: New file.
722         * m4/execvpe.m4: New file.
723         * modules/execvpe: New file.
724         * doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
725         new module.
727         execve: Add tests.
728         * tests/test-exec-child.c: New file.
729         * tests/test-execve-main.c: New file.
730         * tests/test-execve.sh: New file.
731         * modules/execve-tests: New file.
733         execve: New module.
734         * lib/execve.c: New file.
735         * m4/execve.m4: New file.
736         * modules/execve: New file.
737         * doc/posix-functions/execve.texi: Mention more Windows problems and the
738         new module.
740         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
741         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
742         execvpe): Add declarations for the new modules.
743         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
744         execv, execve, execvp, execvpe are declared.
745         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
746         REPLACE_EXEC*.
747         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
748         REPLACE_EXEC*.
749         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
750         execlp, execv, execve, execvp, execvpe.
752 2020-12-26  Bruno Haible  <bruno@clisp.org>
754         stack: Fix typo in comments.
755         * lib/stack.h: Fix typo in comments.
757 2020-12-26  Bruno Haible  <bruno@clisp.org>
759         bitset: Fix conflict with 'free-posix' module.
760         * lib/bitset/base.h: Include <stdlib.h>.
762 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
764         idx: change idx.h comment to LGPLv2.1+
765         * lib/idx.h: Change license notice to match what should be in glibc.
766         gnulib-tool will change it as appropriate anyway, so this is just
767         to simplify syncing with glibc.
769 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
771         MODULES.html.sh: Update after 2020-12-19 change.
772         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
774 2020-12-25  Bruno Haible  <bruno@clisp.org>
776         Make it possible to turn off the mkdir override on Windows.
777         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
778         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
779         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
780         GNULIB_MDA_MKDIR.
781         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
782         GNULIB_MDA_MKDIR.
783         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
784         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
786         Make it possible to turn off each of the Windows oldnames workarounds.
787         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
788         oldnames workarounds through a GNULIB_MDA_<func> symbol.
789         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
790         * lib/search.in.h (lfind, lsearch): Likewise.
791         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
792         Likewise.
793         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
794         * lib/string.in.h (memccpy, strdup): Likewise.
795         * lib/sys_stat.in.h (chmod, umask): Likewise.
796         * lib/time.in.h (tzset): Likewise.
797         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
798         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
799         read, rmdir, swab, unlink, write): Likewise.
800         * lib/utime.in.h (utime): Likewise.
801         * lib/wchar.in.h (wcsdup): Likewise.
802         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
803         GNULIB_MDA_<func> symbols.
804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
805         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
807         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
808         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
809         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
810         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
812         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
813         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
814         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
815         symbols.
816         * modules/math (Makefile.am): Likewise.
817         * modules/search (Makefile.am): Likewise.
818         * modules/stdio (Makefile.am): Likewise.
819         * modules/stdlib (Makefile.am): Likewise.
820         * modules/string (Makefile.am): Likewise.
821         * modules/sys_stat (Makefile.am): Likewise.
822         * modules/time (Makefile.am): Likewise.
823         * modules/unistd (Makefile.am): Likewise.
824         * modules/utime-h (Makefile.am): Likewise.
825         * modules/wchar (Makefile.am): Likewise.
827 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
829         canonicalize, canonicalize-lgpl: remove lint
830         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
831         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
832         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
833         Sort shared include directives, for consistency.
834         (IF_LINT): New macro.
835         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
836         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
837         New macros.
838         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
839         * lib/canonicalize.c (canonicalize_filename_mode_stk):
840         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
842 2020-12-24  Bruno Haible  <bruno@clisp.org>
844         spawn-pipe: Use posix_spawn by default on native Windows.
845         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
846         (create_pipe): Use it to decide among the two possible implementations.
847         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
849 2020-12-24  Bruno Haible  <bruno@clisp.org>
851         unistd-safer: Implement pipe_safer on native Windows.
852         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
853         * modules/unistd-safer (Depends-on): Add pipe-posix.
855 2020-12-24  Bruno Haible  <bruno@clisp.org>
857         execute: Use posix_spawn by default on native Windows.
858         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
859         (execute): Use it to decide among the two possible implementations.
861 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
863         canonicalize-lgpl: merge proposed libc changes
864         This merges the changes proposed for glibc in:
865         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
866         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
867         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
868         unconditionally.
869         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
870         (ISSLASH) [_LIBC]: Remove.
872 2020-12-24  Bruno Haible  <bruno@clisp.org>
874         posix_spawn-internal: Implement for native Windows.
875         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
876         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
877         do_dup2, do_close): New functions.
878         (__spawni): Implement on native Windows.
879         * modules/posix_spawn-internal (Depends-on): Add filename,
880         concat-filename, findprog-in, malloca, windows-spawn.
881         * doc/posix-functions/posix_spawn.texi: Update.
882         * doc/posix-functions/posix_spawnp.texi: Likewise.
884 2020-12-24  Bruno Haible  <bruno@clisp.org>
886         windows-spawn: Export another auxiliary function.
887         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
888         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
889         extracted from spawnpvech.
890         (spawnpvech): Use it.
892 2020-12-24  Bruno Haible  <bruno@clisp.org>
894         windows-spawn: Export some more auxiliary functions.
895         * lib/windows-spawn.h: Include <stdbool.h>.
896         (struct inheritable_handles): New type.
897         (init_inheritable_handles, compose_handles_block,
898         free_inheritable_handles): New declarations.
899         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
900         New functions, based on spawnvech.
901         (free_inheritable_handles): New function.
902         (spawnpvech): Use them.
904 2020-12-24  Bruno Haible  <bruno@clisp.org>
906         windows-spawn: Export another auxiliary function.
907         * lib/windows-spawn.h (compose_envblock): New declaration.
908         * lib/windows-spawn.c (compose_envblock): New function, extracted from
909         spawnpvech.
910         (spawnpvech): Use it.
912 2020-12-24  Bruno Haible  <bruno@clisp.org>
914         windows-spawn: Export an auxiliary function.
915         * lib/windows-spawn.h (compose_command): New declaration.
916         * lib/windows-spawn.c (compose_command): New function, extracted from
917         spawnpvech.
918         (spawnpvech): Use it.
920 2020-12-24  Bruno Haible  <bruno@clisp.org>
922         posix_spawn* tests: Add support for native Windows.
923         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
924         like Cygwin.
925         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
926         SIGHUP and SIGPIPE. On native Windows, don't call
927         posix_spawnattr_setsigmask.
928         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
929         * tests/test-posix_spawn-fchdir.c (main): Likewise.
930         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
931         output from Cygwin's 'pwd' program.
932         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
933         executable-shell-script part of the test.
934         * tests/test-posix_spawnp-script.c (main): Likewise.
935         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
936         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
937         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
938         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
939         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
940         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
941         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
942         test the POSIX_SPAWN_PORTED conditional.
943         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
944         Define the POSIX_SPAWN_PORTED conditional here.
946 2020-12-24  Bruno Haible  <bruno@clisp.org>
948         sh-filename: Add support for native Windows.
949         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
951 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
953         careadlinkat: improve warning line number
954         This propagates an idea first used in canonicalize-lgpl.
955         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
956         New macro.
957         (careadlinkat): Use it.
959         linkat: use eloop-threshold
960         * lib/linkat.c: Include eloop-threshold.h.
961         Do not include sys/param.h.
962         (MAXSYMLINKS): Remove.
963         (link_follow, linkat_follow): Use __eloop_threshold instead
964         of MAXSYMLINKS.
965         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
966         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
968         canonicalize-lgpl: use eloop-threshold
969         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
970         (MAXSYMLINKS, __eloop_threshold): Remove.
971         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
973         eloop-threshold: new module
974         * config/srclist.txt: Add a comment about it.
975         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
977         canonicalize: prefer faccessat to stat
978         A proper faccessat doesn't have the EOVERFLOW problem, and can be
979         more efficient as it needn't gather data from the filesystem to
980         fill in struct stat.  So use stat only if faccessat is absent,
981         or when checking for symlink loops in canonicalize.c.
982         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
983         Include fcntl.h, for AT_EACCESS.
984         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
985         (file_accessible): New function, based on faccessat but with
986         a fallback to stat and with an EOVERFLOW workaround.
987         (dir_check): Use it.
988         (dir_suffix): New static constant.
989         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
990         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
991         (__faccessat) [!_LIBC]: Define.
992         (realpath_stk): Use dir_suffix now.
993         * lib/canonicalize.c (canonicalize_filename_mode_stk):
994         If logical, don't check each component's existence; just check
995         at the end, as that's enough.
996         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
997         (gl_CANONICALIZE_LGPL_SEPARATE):
998         Require gl_FUNC_FACCESSAT_EOVERFLOW,
999         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
1000         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
1001         as the code does not use HAVE_READLINK.
1002         * modules/canonicalize, modules/canonicalize-lgpl (Files):
1003         Add m4/faccessat.m4, m4/lstat.m4.
1004         (Depends-on): Add fcntl-lh.
1006         faccessat: work around F_OK EOVERFLOW bug
1007         * doc/posix-functions/faccessat.texi: Mention the problem.
1008         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
1009         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
1010         for F_OK and EOVERFLOW, which means we can return 0.
1011         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
1012         (gl_FUNC_FACCESSAT): Use it.
1014         stat failing with EOVERFLOW implies existence
1015         * lib/euidaccess.c (euidaccess):
1016         * lib/file-has-acl.c (file_has_acl):
1017         * lib/link.c (link, rpl_link):
1018         * lib/mkdir.c (rpl_mkdir):
1019         * lib/mkfifo.c (rpl_mkfifo):
1020         * lib/mknod.c (rpl_mknod):
1021         * lib/ptsname_r.c (__ptsname_r):
1022         * lib/symlink.c (rpl_symlink):
1023         * lib/symlinkat.c (rpl_symlinkat):
1024         * lib/unlink.c (rpl_unlink):
1025         * lib/unlinkat.c (rpl_unlinkat):
1026         * lib/utime.c (utime):
1027         If stat fails with EOVERFLOW the file exists, so treat it that way
1028         in file-existence tests that do not need struct stat values.
1030         canonicalize-lgpl: remove freea macro
1031         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
1033         canonicalize, canonicalize-lgpl: fix symlink bug
1034         Problem reported by Adhemerval Zanella in:
1035         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
1036         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
1037         (suffix_requires_dir_check, dir_check): New functions.
1038         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
1039         closer to the related GCC diagnostics.
1040         * lib/canonicalize-lgpl.c (realpath_stk):
1041         * lib/canonicalize.c (canonicalize_file_mode_stk):
1042         Use them to fix a bug with .../symlink-to-regular-file/ etc.
1043         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
1044         (realpath_stk): New function,
1045         with the contents of the old __realpath and a new scratch buffer arg.
1046         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
1047         (__realpath): Use it.
1048         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
1049         Add test cases for the bugs.
1051 2020-12-24  Bruno Haible  <bruno@clisp.org>
1053         execute: Treat signalled processes like wait-process does.
1054         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
1055         (execute): Recognize the case where the exit code indicates a signalled
1056         child process.
1057         * tests/test-execute-main.c (main): Update expected test result.
1058         * modules/execute (Depends-on): Add sys_wait.
1060 2020-12-24  Bruno Haible  <bruno@clisp.org>
1062         windows-spawn: Improve errno upon failure on native Windows.
1063         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
1064         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
1065         * tests/executable-script.sh: New file.
1066         * tests/test-posix_spawn-script.c (main): Also try executing
1067         executable-script.sh.
1068         * tests/test-posix_spawnp-script.c (main): Likewise.
1069         * tests/test-execute-script.c (main): Likewise.
1070         * tests/test-spawn-pipe-script.c (main): Likewise.
1071         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
1072         * modules/posix_spawnp-tests (Files): Likewise.
1073         * modules/execute-tests (Files): Likewise.
1074         * modules/spawn-pipe-tests (Files): Likewise.
1076 2020-12-24  Bruno Haible  <bruno@clisp.org>
1078         findprog-in: Improve errno upon failure on native Windows.
1079         * lib/findprog-in.c (find_in_given_path): If the file basename has no
1080         dot and the search with a suffix returned no result, do also a search
1081         without a suffix, and set errno = ENOEXEC if we find a file in this way.
1082         * tests/test-spawn-pipe-script.c (main): Update expected errno.
1084 2020-12-23  Bruno Haible  <bruno@clisp.org>
1086         posix_spawn, posix_spawnp: Fix execution of scripts.
1087         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
1088         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
1089         or posix_spawnp allows unsecure execution of scripts.
1090         * doc/posix-functions/posix_spawn.texi: Document the script execution
1091         problem.
1092         * doc/posix-functions/posix_spawnp.texi: Likewise.
1094 2020-12-23  Bruno Haible  <bruno@clisp.org>
1096         Add unit tests regarding execution of scripts.
1097         * tests/executable-script: New file.
1098         * tests/executable-shell-script: New file.
1099         * tests/test-posix_spawn-script.c: New file.
1100         * tests/test-posix_spawnp-script.c: New file.
1101         * tests/test-execute-script.c: New file.
1102         * tests/test-spawn-pipe-script.c: New file.
1103         * modules/posix_spawn-tests (Files): Add
1104         tests/test-posix_spawn-script.c, tests/executable-script,
1105         tests/executable-shell-script.
1106         (Makefile.am): Compile and run test-posix_spawn-script.
1107         * modules/posix_spawnp-tests (Files): Add
1108         tests/test-posix_spawnp-script.c, tests/executable-script,
1109         tests/executable-shell-script.
1110         (Makefile.am): Compile and run test-posix_spawnp-script.
1111         * modules/execute-tests (Files): Add tests/test-execute-script.c,
1112         tests/executable-script, tests/executable-shell-script.
1113         (Makefile.am): Compile and run test-execute-script.
1114         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
1115         tests/executable-script, tests/executable-shell-script.
1116         (Makefile.am): Compile and run test-spawn-pipe-script.
1118 2020-12-23  Bruno Haible  <bruno@clisp.org>
1120         Don't execute scripts without '#!' marker through /bin/sh.
1121         This reflects the change done in glibc through
1122         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
1123         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
1124         * lib/spawni.c (internal_function): Remove macro.
1125         (script_execute): Remove function.
1126         (__spawni): Don't invoke script_execute.
1127         * lib/execute.c (execute): Disable the ENOEXEC handling.
1128         * lib/spawn-pipe.c (create_pipe): Likewise.
1129         * NEWS: Mention the change.
1131 2020-12-23  Bruno Haible  <bruno@clisp.org>
1133         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
1134         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
1135         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
1136         * lib/spawni.c (__spawni): Update function parameters.
1138 2020-12-23  Bruno Haible  <bruno@clisp.org>
1140         posix_spawn tests: Add two more tests.
1141         * tests/test-posix_spawn-inherit0.c: New file, based on
1142         tests/test-posix_spawn-open2.c.
1143         * tests/test-posix_spawn-inherit1.c: New file, based on
1144         tests/test-posix_spawn-open2.c.
1145         * modules/posix_spawn-tests (Files): Add them.
1146         (Depends-on): Add fflush.
1147         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
1148         test-posix_spawn-inherit1.
1150 2020-12-23  Bruno Haible  <bruno@clisp.org>
1152         posix_spawn tests: Add another test.
1153         * tests/test-posix_spawn-open2.c: New file, based on
1154         tests/test-posix_spawn-open1.c.
1155         * modules/posix_spawn-tests (Files): Add it.
1156         (Makefile.am): Compile and run test-posix_spawn-open1.
1158 2020-12-20  Bruno Haible  <bruno@clisp.org>
1160         Remove support for broken <wchar.h> in AIX 3.
1161         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
1163 2020-12-20  Bruno Haible  <bruno@clisp.org>
1165         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
1166         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
1167         * lib/mbchar.h: Likewise.
1168         * lib/mbiter.h: Likewise.
1169         * lib/mbuiter.h: Likewise.
1170         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
1171         * lib/mbfile.h: Don't include <time.h>.
1172         * lib/mbswidth.h: Update comment.
1173         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
1174         <wchar.h>.
1175         * lib/wctype.in.h: Likewise.
1176         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
1177         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
1178         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
1179         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
1180         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
1181         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
1182         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
1183         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
1184         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
1185         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
1186         AC_FUNC_MBRTOWC): Likewise.
1187         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
1188         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
1189         Likewise.
1190         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
1191         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
1192         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1193         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
1194         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
1195         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1196         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
1197         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
1198         Likewise.
1199         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
1200         gl_WCSRTOMBS_NULL): Likewise.
1201         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
1202         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1203         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1204         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1205         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1206         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
1207         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
1208         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
1209         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
1210         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
1212 2020-12-20  Bruno Haible  <bruno@clisp.org>
1214         isnanf: Fix autoconf test.
1215         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
1217 2020-12-20  Bruno Haible  <bruno@clisp.org>
1219         Remove some of the support for obsolete IRIX 4 and 5.
1220         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
1221         libsun.
1222         * tests/init.sh (setup_): Don't talk about IRIX 5.
1224 2020-12-20  Bruno Haible  <bruno@clisp.org>
1226         filemode: Remove Cray support.
1227         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
1228         (filemodestring): Don't produce an 'M' type.
1229         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
1230         * m4/st_dm_mode.m4: Remove file.
1231         * modules/filemode (Files): Remove it.
1233 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1235         free-posix: assume glibc 2.33 fixes this.
1236         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
1237         Use compile-time test rather than guessing for cross-builds.
1239 2020-12-20  Bruno Haible  <bruno@clisp.org>
1241         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
1242         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
1243         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
1244         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
1246 2020-12-20  Bruno Haible  <bruno@clisp.org>
1248         float: Fix compilation error when gnulib's float.h exists twice.
1249         Reported by Santiago Vila <sanvila@unex.es>.
1250         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
1252 2020-12-19  Bruno Haible  <bruno@clisp.org>
1254         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
1255         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
1256         Don't trust _POSIX_VERSION for this test.
1258 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1260         free-posix: port to GNU/Linux
1261         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
1262         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
1263         other GNU/Linux hosts.
1265 2020-12-19  Bruno Haible  <bruno@clisp.org>
1267         free-posix: Add tests.
1268         * tests/test-free.c: New file.
1269         * tests/macros.h (ASSERT_NO_STDIO,
1270         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
1271         WRITE_TO_STDERR): New macros.
1272         * modules/free-posix-tests: New file.
1274 2020-12-18  Bruno Haible  <bruno@clisp.org>
1276         free-posix: Add C++ declaration test.
1277         * tests/test-stdlib-c++.cc (free): New declaration.
1279 2020-12-18  Bruno Haible  <bruno@clisp.org>
1281         free-posix: New module, renamed from 'free'.
1282         * modules/free-posix: Renamed from modules/free.
1283         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
1284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
1285         not GNULIB_FREE.
1286         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
1287         GNULIB_FREE.
1288         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
1289         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
1290         what it does.
1291         * NEWS: Mention that module 'free' no longer exists.
1292         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
1293         * modules/canonicalize-lgpl (Depends-on): Likewise.
1295 2020-12-18  Bruno Haible  <bruno@clisp.org>
1297         free: Remove support for obsolete platforms.
1298         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
1299         CANNOT_FREE_NULL.
1300         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
1301         * modules/free (Description): Update.
1302         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
1304 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1306         intprops: port to ICC 2021.1 Beta 20201112
1307         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
1308         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
1309         Add a clause for other compilers that claim to support
1310         __builtin_mul_overflow_p, since we might as well find out about
1311         slackers other than Clang and ICC.
1312         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
1313         like older GCCs even when it claims to be a newer one.
1315 2020-12-18  Bruno Haible  <bruno@clisp.org>
1317         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
1318         Reported by Stefan Liebler <stli@linux.ibm.com> in
1319         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
1320         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
1321         GCC 5.x and 6.x.
1322         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
1323         GCC 5.x and 6.x.
1325 2020-12-17  Bruno Haible  <bruno@clisp.org>
1327         free: Fix warning.
1328         Reported by Pádraig Brady <P@draigBrady.com> in
1329         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
1330         * lib/stdlib.in.h (free): New declaration.
1331         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
1332         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
1333         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
1334         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
1335         'free' as a macro here.
1336         * modules/free (Depends-on): Add stdlib.
1337         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
1339 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1341         canonicalize-lgpl: fix AIX test failures
1342         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
1343         Problem reported by Bruno Haible in:
1344         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
1345         * lib/canonicalize-lgpl.c: Include sys/stat.h.
1346         (__realpath): When testing a file name ending in '/', use stat
1347         rather than readlink, so that it does the right thing on AIX.
1348         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
1350         canonicalize: omit second readlink when not needed
1351         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1352         Omit second readlink when (can_exist != CAN_MISSING
1353         && startlen != 0 && !logical).  Simplify.
1355         canonicalize: remove arbitrary 8192-byte limit
1356         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
1357         like GNU Hurd that do not define the PATH_MAX macro, and similarly
1358         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
1359         using scratch buffers.  Lessen the number of differences between
1360         the two source files, to simplify this and future maintenance.
1361         * lib/canonicalize-lgpl.c (__realpath):
1362         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1363         Use scratch buffers instead of malloc and malloca.  This avoids
1364         the need for alloca, and avoids the need for malloc in most cases.
1365         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
1366         easier to compare, e.g., by sorting include files and by switching
1367         to the GNU convention of calling file names "file names", not
1368         "path names".  Include stdbool.h, scratch_buffer.h.
1369         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
1370         (malloca) [_LIBC]: Remove.
1371         [!_LIBC]: Do not include malloca.h.
1372         (get_path_max): New function, so that pathconf is called only in
1373         the rare and dubious case when when RESOLVED is not null and
1374         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
1375         file name, as we care about the longest file name starting from
1376         "/" (not from the input file name), and POSIX does not specify
1377         what pathconf does on a non-directory file anyway.  If PATH_MAX is
1378         not defined, do not worry about overriding a path_max of 0, and do
1379         not let path_max exceed IDX_MAX.
1380         (__realpath): Remove an assumption that file name components
1381         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
1382         the Hurd, presumably).
1383         When allocating the result, allocate it to just the right size;
1384         this costs nothing when the result is smaller than 1023 bytes,
1385         and for larger results it's probably worth the CPU to call realloc,
1386         as canonicalize.c already does.
1387         * lib/canonicalize.c: Include attribute.h.
1388         Do not include pathmax.h or xgetcwd.h.
1389         (PATH_MAX): Do not define, so file names longer than 8192 bytes
1390         work on platforms with no fixed limit.
1391         (canonicalize_filename_mode_stk): New function, with
1392         the content of the old canonicalize_filename_mode.
1393         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
1394         since the scratch buffers now do memory management for us.
1395         Use rawmemchr instead of adding strlen.
1396         Use mempcpy instead of mempcpy + size.
1397         Assume free preserves errno.
1398         (canonicalize_filename_mode): Use it.
1399         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
1400         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
1401         scratch_buffer, stdbool, xalloc-die.
1402         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
1403         malloca, realloc-posix.  Add scratch_buffer, stdbool.
1405         canonicalize-lgpl: simplify merge to glibc
1406         This patch lessens the differences between git glibc
1407         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
1408         The (perhaps wishful) goal is to make them identical.
1409         * lib/canonicalize-lgpl.c [!_LIBC]:
1410         Include <libc-config.h>, not config.h.
1411         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
1412         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
1413         Do not include alloca.h, since we use malloca now.
1414         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
1415         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
1416         freea so that the mainline code can be kept #ifdef free.
1417         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
1418         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
1419         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
1420         __eloop_threshold.  All uses of their definiens changed.
1421         (SIZE_MAX): Remove; no longer needed.
1422         (alloc_failed): Remove, and remove all instances.
1423         No need for alloc_failed now that free preserves errno.
1424         (__realpath): Default path_max to 1024 instead of 8192, as that’s
1425         the glibc tradition and is safer when the 2nd argument is null.
1426         Use __rawmemchr instead of strchr.
1427         Use __mempcpy where appropriate.
1428         Simplify test for overflow so that it does not need SIZE_MAX.
1429         Do not preserve errno around free or freea calls; no longer needed.
1430         Mark __realpath with libc_hidden_def.
1431         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
1432         malloc-posix, mempcpy, realloc-posix, rawmemchr.
1433         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
1435         free: preserve errno
1436         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
1437         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
1438         platforms that do not preserve errno.
1439         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
1440         Also, define CANNOT_FREE_NULL if free cannot free NULL.
1441         * modules/free (configure.ac): Also replace 'free' if
1442         it does not preserve errno.
1444         idx: simplify IDX_MAX, remove IDX_WIDTH
1445         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
1446         to UNSIGNED_IDX_T.
1447         (IDX_WIDTH): Remove, since it’s not used and its value
1448         arguably should be PTRDIFF_WIDTH anyway.
1450 2020-12-16  Bruno Haible  <bruno@clisp.org>
1452         posix_spawn_file_actions_addfchdir-tests: Rename test.
1453         * tests/test-posix_spawn-fchdir.c: Renamed from
1454         tests/test-posix_spawn5.c.
1455         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
1456         Update.
1458         posix_spawn_file_actions_addchdir-tests: Rename test.
1459         * tests/test-posix_spawn-chdir.c: Renamed from
1460         tests/test-posix_spawn4.c.
1461         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
1462         Update.
1464         posix_spawn-tests: Rename test.
1465         * tests/test-posix_spawn-open1.c: Renamed from
1466         tests/test-posix_spawn3.c.
1467         * modules/posix_spawn-tests (Files, Makefile.am): Update.
1469         posix_spawnp-tests: Rename test.
1470         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
1471         tests/test-posix_spawn2.c.
1472         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
1473         tests/test-posix_spawn2.in.sh.
1474         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1476         posix_spawnp-tests: Rename test.
1477         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
1478         tests/test-posix_spawn1.c.
1479         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
1480         tests/test-posix_spawn1.in.sh.
1481         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1483 2020-12-14  Bruno Haible  <bruno@clisp.org>
1485         findprog-in: Allow overriding the current directory.
1486         * lib/findprog.h (find_in_given_path): Add directory argument.
1487         * lib/findprog-in.c (find_in_given_path): Likewise.
1488         * lib/execute.c (execute): Update caller.
1489         * lib/spawn-pipe.c (create_pipe): Likewise.
1490         * lib/windows-spawn.c (spawnpvech): Likewise.
1491         * NEWS: Mention the change.
1493 2020-12-14  Bruno Haible  <bruno@clisp.org>
1495         posix_spawn-internal: Make better use of 'const'.
1496         * lib/spawn_int.h (__spawni): Does not need write access to the elements
1497         of argv and envp.
1498         * lib/spawni.c (__spawni, script_execute): Likewise.
1499         * lib/spawn.c (posix_spawn): Update caller.
1500         * lib/spawnp.c (posix_spawnp): Likewise.
1502 2020-12-14  Bruno Haible  <bruno@clisp.org>
1504         spawn: Make it compile on native Windows.
1505         * modules/spawn (Depends-on): Add signal-h.
1507 2020-12-14  Bruno Haible  <bruno@clisp.org>
1509         windows-spawn: Avoid shadowing a variable.
1510         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
1512 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1514         string: port memchr macro to AIX 7.2 XLC
1515         Its <string.h> defines a memchr macro to help inlining.
1516         * lib/string.in.h (memchr): #undef before #defining.
1518         canonicalize: fix AIX test failures
1519         Problem reported by Bruno Haible in:
1520         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
1521         * lib/canonicalize.c (canonicalize_filename_mode):
1522         When testing a file name ending in '/', use stat rather than
1523         readlink, so that it does the right thing on AIX.
1524         * modules/canonicalize (Depends-on): Add readlink, to pull in the
1525         recent changes in the Gnulib readlink module.
1527         Assume readlink/readlinkat ERANGE fix
1528         * lib/areadlink-with-size.c (areadlink_with_size):
1529         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
1530         * lib/careadlinkat.c (readlink_stk):
1531         Do not worry about readlink or readlinkat failing with errno == ERANGE,
1532         since the Gnulib readlink and readlinkat modules now fix that.
1534         getcwd: port to AIX
1535         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
1536         in case our sys/stat.h #defined a function macro with the same name.
1538         readlink, readlinkat: add ERANGE portability
1539         Fix some portability issues with Gnulib's readlink and readlinkat,
1540         notably mostly working around the ERANGE problem in AIX and HP-UX.
1541         * doc/posix-functions/readlink.texi:
1542         * doc/posix-functions/readlinkat.texi:
1543         ERANGE problem is mostly fixed now.  Mention AIX problem with
1544         trailing / and EINVAL.  Lessen differences between these two files.
1545         * lib/readlink.c (rpl_readlink):
1546         * lib/readlinkat.c (rpl_readlinkat):
1547         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
1548         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
1549         Lessen spurious differences between the readlink and readlinkat code.
1550         * lib/readlinkat.c (rpl_readlinkat):
1551         Fix bug where stat was used where fstatat was intended.
1552         * m4/readlink.m4 (gl_FUNC_READLINK):
1553         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
1554         to identify readlink problems more precisely.  All uses changed.
1555         Guess no on AIX or HP-UX for this variable.
1556         Add check for whether readlink truncates results,
1557         and define new macro READLINK_TRUCATE_BUG accordingly.
1558         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
1559         Also check gl_cv_func_readlink_trailing_slash when deciding
1560         whether to replace readlinkat.
1561         * modules/readlinkat (Depends-on): Most dependencies are also
1562         needed if replacing readlinkat.  fstatat is different, as it
1563         is needed only if replacing an existing readlinkat.
1565 2020-12-13  Bruno Haible  <bruno@clisp.org>
1567         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
1568         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
1569         the stdin_handle and/or stdout_handle.
1571 2020-12-12  Bruno Haible  <bruno@clisp.org>
1573         Fix gnulib-tool error when some modules occur in tests/.
1574         * doc/gnulib.texi (Specification): Update statistics.
1575         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
1576         (Using AC_LIBOBJ): New section.
1577         * check-AC_LIBOBJ: New file.
1578         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
1579         * modules/fopen-gnu (Files): Add lib/fopen.c.
1580         * modules/memmem (Files): Add lib/memmem.c.
1581         * modules/renameat (Files): Add lib/at-func2.c.
1582         * modules/strcasestr (Files): Add lib/strcasestr.c.
1583         * modules/strstr (Files): Add lib/strstr.c.
1585 2020-12-11  Bruno Haible  <bruno@clisp.org>
1587         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
1588         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
1589         elements of argv.
1590         * lib/sh-quote.c (shell_quote_argv): Likewise.
1591         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
1592         the return type.
1593         * lib/windows-spawn.c (prepare_spawn): Likewise.
1594         * lib/os2-spawn.h (prepare_spawn): Likewise.
1595         * lib/os2-spawn.c (prepare_spawn): Likewise.
1596         * lib/execute.h (execute): Does not need write access to the elements of
1597         prog_argv.
1598         * lib/execute.c (execute): Likewise.
1599         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1600         Likewise.
1601         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
1602         create_pipe_out): Likewise.
1603         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
1604         Likewise.
1605         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
1606         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
1607         * lib/javaexec.h (execute_fn): Does not need write access to the
1608         elements of prog_argv.
1609         * lib/javaexec.c (execute_java_class): Update variable types and remove
1610         casts to 'char *'.
1611         * lib/csharpexec.h (execute_fn): Does not need write access to the
1612         elements of prog_argv.
1613         * lib/csharpexec.c (execute_csharp_using_mono,
1614         execute_csharp_using_sscli): Update variable types and remove casts to
1615         'char *'.
1616         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1617         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
1618         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
1619         is_jikes_present): Update variable types and remove casts to 'char *'.
1620         * lib/javaversion.c (execute_and_read_line): Does not need write access
1621         to the elements of prog_argv.
1622         * lib/csharpcomp.c (compile_csharp_using_mono,
1623         compile_csharp_using_sscli): Update variable types and remove casts to
1624         'char *'.
1625         * tests/test-sh-quote.c (main): Update variable types and remove casts
1626         to 'char *'.
1627         * tests/test-execute-main.c (main): Update variable types and remove
1628         casts to 'char *'.
1629         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
1630         remove casts to 'char *'.
1631         * NEWS: Mention the changes.
1633 2020-12-11  Bruno Haible  <bruno@clisp.org>
1635         execute-tests: Fix compilation error with MSVC.
1636         * tests/test-execute-child.c (is_device): With _fstat, use
1637         'struct _stat', not 'struct stat'.
1639 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1641         vararrays: just use 2.70
1642         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
1643         and later, since Autoconf 2.70 matches Gnulib now.
1645         sys_types: just use 2.70
1646         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
1647         Reindent to match Autoconf sources.
1648         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1650         stdint: port to Autoconf 2.70
1651         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
1652         instead of assuming that AC_INCLUDES_DEFAULT does it.
1653         The old code relied on AC_INCLUDES_DEFAULT being called
1654         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
1655         but this does not occur in Autoconf 2.70.
1657         pid_t.m4: just use 2.70
1658         * m4/pid_t.m4 (AC_TYPE_PID_T):
1659         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1661         largefile: just use 2.70
1662         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
1663         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1665         AC_C_RESTRICT: update from Autoconf
1666         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
1667         as a prerequisite, not 2.69c, since 2.70 is now out.
1668         (AC_C_RESTRICT): Define only for 2.70 or earlier.
1669         Try __restrict__ before __restrict.
1671         extensions: update from Autoconf
1672         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
1673         Provide a default implementation for Autoconf 2.69 or earlier.
1674         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
1675         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
1677         alloca: update from Autoconf
1678         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
1679         Trivial update to match Autoconf 2.70.
1681 2020-12-11  Bruno Haible  <bruno@clisp.org>
1683         memchr: Work around memory overrun bug on AIX 7.2.
1684         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
1685         * doc/posix-functions/memchr.texi: Mention the AIX bug.
1687 2020-12-11  Bruno Haible  <bruno@clisp.org>
1689         execute-tests: Fix compilation error on AIX in 32-bit mode.
1690         * tests/test-execute-child.c: In order to get the original definition of
1691         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
1692         include the system's <sys/stat.h> and use it before including other
1693         header files.
1695 2020-12-10  Bruno Haible  <bruno@clisp.org>
1697         windows-spawn: Relicense under LGPLv2+.
1698         * modules/windows-spawn (License): Change to LGPLv2+.
1700 2020-12-10  Bruno Haible  <bruno@clisp.org>
1702         execute, spawn-pipe: Fix memory leak on native Windows.
1703         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
1704         * lib/windows-spawn.c: Don't include xalloc.h.
1705         (quoted_arg_length, quoted_arg_string): New functions, extracted from
1706         prepare_spawn.
1707         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
1708         elements of *new_argv together.
1709         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
1710         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
1711         * lib/os2-spawn.c: Don't include xalloc.h.
1712         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
1713         elements of *new_argv together.
1714         * lib/execute.c: Include xalloc.h.
1715         (execute): Check return value of prepare_spawn. Free the memory
1716         allocated by prepare_spawn.
1717         * modules/execute (Depends-on): Add xalloc-die.
1718         * lib/spawn-pipe.c: Include xalloc.h.
1719         (create_pipe): Check return value of prepare_spawn. Free the memory
1720         allocated by prepare_spawn.
1721         * modules/spawn-pipe (Depends-on): Add xalloc-die.
1723 2020-12-10  Bruno Haible  <bruno@clisp.org>
1725         findprog-in: Relicense under LGPLv2+.
1726         Paul Smith's approval is in
1727         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
1728         * modules/findprog-in (License): Change to LGPLv2+.
1730 2020-12-10  Bruno Haible  <bruno@clisp.org>
1732         findprog-in: Don't exit upon out-of-memory.
1733         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
1734         code.
1735         * lib/findprog-in.c: Don't include xalloc.h.
1736         (find_in_given_path): Call concatenated_filename, not
1737         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
1738         return NULL with errno set.
1739         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
1740         concat-filename, strdup-posix, malloc-posix.
1742 2020-12-09  Bruno Haible  <bruno@clisp.org>
1744         fmaf: Work around a bug on FreeBSD 12.2/arm.
1745         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
1746         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
1748 2020-12-09  Bruno Haible  <bruno@clisp.org>
1750         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
1751         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
1752         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
1753         * lib/glthread/threadlib.c: Include <errno.h>.
1754         (glthread_in_use): For FreeBSD, provide an alternative implementation
1755         that uses pthread_key_create.
1757 2020-12-09  Bruno Haible  <bruno@clisp.org>
1759         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
1760         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
1761         not 'isnan'.
1763 2020-12-08  Bruno Haible  <bruno@clisp.org>
1765         std-gnu11: Make compatible with Autoconf 2.70.
1766         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
1767         use.
1769 2020-12-08  Bruno Haible  <bruno@clisp.org>
1771         argp: Avoid undefined behaviour when invoking qsort().
1772         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
1773         Reported by Jeffrey Walton <noloader@gmail.com> in
1774         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
1775         * lib/argp-help.c (group_cmp): Remove third argument.
1776         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
1777         upon hol_cluster_cmp.
1778         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
1779         (hol_entry_cmp): Rewritten to implement a total order.
1781 2020-12-08  Bruno Haible  <bruno@clisp.org>
1783         argp: Improve comments.
1784         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
1785         null pointer.
1786         (struct hol_entry): Fix comment regarding sort order of group.
1787         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
1788         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
1789         (hol_cluster_is_child, argp_hol): Move functions.
1790         (HOL_ENTRY_PTRCMP): Remove unused macro.
1792 2020-12-08  Bruno Haible  <bruno@clisp.org>
1794         argp: Don't pass invalid arguments to isspace() and isalnum().
1795         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
1796         before passing it to isspace() or isalnum().
1798 2020-12-08  Bruno Haible  <bruno@clisp.org>
1800         argp: Don't rely on undefined behaviour of _tolower().
1801         Patch by Eric Blake
1802         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
1803         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
1804         not upper-case.  Pass correct range to tolower.
1806 2020-12-07  Bruno Haible  <bruno@clisp.org>
1808         unicodeio: Fix wrong result on FreeBSD.
1809         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
1810         characters on all platforms.
1812 2020-12-07  Bruno Haible  <bruno@clisp.org>
1814         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
1815         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
1816         FreeBSD systems.
1818 2020-12-07  Bruno Haible  <bruno@clisp.org>
1820         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
1821         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
1822         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
1823         trivially of sbrk is not available.
1824         * doc/glibc-functions/sbrk.texi: Mention that the function does not
1825         exist in FreeBSD 12.2/arm64.
1826         * doc/glibc-functions/brk.texi: Likewise.
1828 2020-12-07  Bruno Haible  <bruno@clisp.org>
1830         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
1831         Suggested by Zack Weinberg in
1832         <https://savannah.gnu.org/support/?110294>.
1833         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
1834         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
1836 2020-12-07  Bruno Haible  <bruno@clisp.org>
1838         Tweak the Windows oldnames workaround.
1839         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1840         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
1841         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
1842         always.
1843         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
1844         * lib/stdlib.in.h (putenv): Likewise.
1846 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1848         doc: fix flat address space discussion
1849         * doc/gnulib-readme.texi (Other portability assumptions):
1850         Move the all-bits-zero assumption outside the flat address space
1851         section, since the two issues are independent.
1853         doc: document -static-libubsan more
1854         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
1855         -static-libubsan a bit more.  Mostly cons.
1857 2020-12-06  Bruno Haible  <bruno@clisp.org>
1859         doc: Add more details regarding the undefined behaviour sanitizer.
1860         * doc/gnulib-readme.texi (High Quality): Describe
1861         -fsanitize-undefined-trap-on-error better.
1863 2020-12-06  Bruno Haible  <bruno@clisp.org>
1865         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
1866         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1867         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
1868         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
1869         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
1870         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
1871         a preprocessor #define.
1872         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1873         * lib/search.in.h (lfind, lsearch): Likewise.
1874         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1875         Likewise.
1876         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1877         * lib/string.in.h (memccpy, strdup): Likewise.
1878         * lib/sys_stat.in.h (chmod, umask): Likewise.
1879         * lib/time.in.h (tzset): Likewise.
1880         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1881         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1882         read, rmdir, swab, unlink, write): Likewise.
1883         * lib/utime.in.h (utime): Likewise.
1884         * lib/wchar.in.h (wcsdup): Likewise.
1885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
1886         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
1887         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
1888         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
1889         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1890         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1891         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
1892         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
1894         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
1895         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
1896         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
1897         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
1898         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
1900 2020-12-06  Bruno Haible  <bruno@clisp.org>
1902         doc: Mention some missing function declarations.
1903         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
1904         AIX.
1905         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
1906         FreeBSD.
1907         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
1908         Cygwin.
1909         * doc/pastposix-functions/fcvt.texi: Likewise.
1910         * doc/pastposix-functions/gcvt.texi: Likewise.
1912 2020-12-06  Bruno Haible  <bruno@clisp.org>
1914         doc: Tweak example.
1915         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
1916         'print'.
1918 2020-12-06  Bruno Haible  <bruno@clisp.org>
1920         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
1921         * tests/test-filenamecat.c: Include idx.h.
1922         (main): Mark prefixlen as nonnegative.
1923         * modules/filenamecat-tests (Depends-on): Add idx.
1925 2020-12-06  Bruno Haible  <bruno@clisp.org>
1927         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
1928         * lib/time_rz.c: Include idx.h.
1929         (save_abbr): Mark zone_size as nonnegative.
1930         * modules/time_rz (Depends-on): Add idx.
1932 2020-12-06  Bruno Haible  <bruno@clisp.org>
1934         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
1935         * lib/parse-datetime.y: Include idx.h.
1936         (textint): Mark digits as nonnegative.
1937         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
1938         dsts_seen, times_seen, zones_seen as nonnegative.
1939         (lookup_word): Mark wordlen as nonnegative.
1940         (yylex): Mark count as nonnegative.
1941         (parse_datetime2): Mark tzsize as nonnegative.
1942         * modules/parse-datetime (Depends-on): Add idx.
1944 2020-12-06  Bruno Haible  <bruno@clisp.org>
1946         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
1947         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
1948         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
1949         nonnegative.
1950         * modules/fnmatch (Depends-on): Add idx.
1952 2020-12-06  Bruno Haible  <bruno@clisp.org>
1954         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
1955         * lib/c-stack.c: Include idx.h.
1956         (die): Mark buflen as nonnegative.
1957         * modules/c-stack (Depends-on): Add idx.
1959 2020-12-06  Bruno Haible  <bruno@clisp.org>
1961         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
1962         * lib/backupfile.c: Include idx.h.
1963         (numbered_backup): Mark base_offset as nonnegative.
1964         (backupfile_internal): Likewise.
1965         * modules/backup-rename (Depends-on): Add idx.
1966         * modules/backupfile (Depends-on): Likewise.
1968 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1970         doc: fix curved quotes issue
1971         * doc/gnulib.texi: Set txicodequoteundirected and
1972         txicodequotebacktick so that ` and ' in examples do not generate
1973         curved single quotes that do the wrong thing when cut and pasted.
1975         doc: mention static and dynamic checking
1976         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
1977         for static and dynamic checking.
1979         intprops: Add INT_ADD_OK etc.
1980         * doc/intprops.texi (Checking Integer Overflow): New section.
1981         * lib/intprops.h: From a suggestion by Bruno Haible in:
1982         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
1983         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
1985         doc: move exotic platfroms to Target Platforms
1986         * doc/gnulib-intro.texi (Supported Platforms)
1987         (Formerly Supported Platforms, Unsupported Platforms):
1988         New subsections, split off from Target Platforms.
1989         (Unsupported Platforms): Move the exotic-platform stuff here ...
1990         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
1991         section.
1993         doc: mention intptr_t etc. and IBM i
1994         * doc/gnulib-readme.texi (Other portability assumptions):
1995         Mention intptr_t and uintptr_t, and that arithmetic on them
1996         works in the usual way.
1997         (Exotic platforms): New section, containing material from
1998         the old 'Integer Portability' section.  Also mention IBM i.
1999         * doc/intprops.texi (Wraparound Arithmetic):
2000         Say that the macros work on unsigned integers too.
2001         (Integer Portability): Remove.
2003 2020-12-04  Bruno Haible  <bruno@clisp.org>
2005         utime: Fix a test failure on macOS 10.13.
2006         Reported by Martin Storsjö <martin@martin.st> in
2007         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2008         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
2009         slashes on files.
2010         * lib/utime.c (utime): Add alternative implementation for Unix
2011         platforms.
2012         * modules/utime (Depends-on): Add stat.
2013         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
2014         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
2015         trailing-slash bug.
2016         * doc/posix-functions/open.texi: Likewise.
2017         * doc/posix-functions/stat.texi: Likewise.
2018         * doc/posix-functions/symlink.texi: Likewise.
2020 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
2022         intprops: update doc and mention Unisys
2023         * doc/gnulib-readme.texi (Other portability assumptions):
2024         Also mention ptrdiff_t when talking about widths and overflow.
2025         * doc/intprops.texi (Integer Properties): Summarize new section.
2026         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
2027         evaluates its argument.
2028         (Integer Bounds): Fix typo.
2029         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
2030         Document that the _WRAPV macros now support pointers to unsigned
2031         integers.
2032         (Integer Range Overflow): Update SEI CERT citation.
2033         (Integer Portability): New subsection, which mentions
2034         the oddball Unisys platforms as non-Gnulib targets.
2036 2020-12-03  Bruno Haible  <bruno@clisp.org>
2038         idx: Clarify that idx_t always behaves like a signed type.
2039         Suggested by Paul Eggert in
2040         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
2041         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
2042         Don't test UNSIGNED_IDX_T.
2044 2020-12-03  Bruno Haible  <bruno@clisp.org>
2046         idx: New module.
2047         * lib/idx.h: New file.
2048         * modules/idx: New file.
2049         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
2050         ptrdiff_t.
2051         * lib/canonicalize.c: Likewise.
2052         * modules/canonicalize-lgpl (Depends-on): Add idx.
2053         * modules/canonicalize (Depends-on): Likewise.
2055 2020-12-03  Bruno Haible  <bruno@clisp.org>
2057         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
2058         Reported by Martin Storsjö <martin@martin.st> in
2059         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2060         * tests/test-fprintf-posix3.c: Skip the test on macOS.
2061         (main): Return a different exit code at each point. Allow 100 KB extra
2062         memory consumption.
2063         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
2064         doesn't work" diagnostic.
2066 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2068         canonicalize: refactor can_mode flag
2069         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
2070         (multiple_bits_set): ... this new static function.  Uses changed.
2071         (canonicalize_filename_mode): Refactor for clarity to avoid
2072         modifying the CAN_MODE argument.
2074         canonicalize: prefer signed integer types
2075         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
2076         (seen_triple, canonicalize_filename_mode): Prefer signed to
2077         unsigned types where either will do, as they avoid some glitches
2078         in comparisons and can trap on overflow when debugging.
2080         canonicalize: fix most of another EOVERFLOW issue
2081         * lib/canonicalize.c (canonicalize_filename_mode):
2082         Do not call stat if fewer than 20 symlinks have been traversed.
2083         This avoids EOVERFLOW failure in the common case where there
2084         are not that many symlinks, while continuing to catch loops
2085         (or fail due to EOVERFLOW) in the unusual case when there
2086         are many symlinks to traverse.
2088         canonicalize: do not assume symlinks have st_ino
2089         * lib/canonicalize.c (canonicalize_filename_mode):
2090         When checking for loops, use st_dev and st_ino from the parent
2091         directory not from the symlink, as pre-2017 POSIX says these
2092         members are not reliable for symlinks.  Couple this with START
2093         (the remaining file name to be resolved), not NAME (the whole file
2094         name with START as its suffix).
2095         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
2097         canonicalize: fix EOVERFLOW bug
2098         * lib/canonicalize.c (canonicalize_filename_mode):
2099         When testing whether a directory entry is a symbolic link, or a
2100         directory or other, do not use lstat or stat or
2101         areadlink_with_size.  Just use areadlink, as this suffices and it
2102         avoids the EOVERFLOW problem that lstat and stat have.
2103         * modules/canonicalize (Depends-on): Depend on areadlink instead
2104         of areadlink-with-size and stat.
2106         canonicalize-lgpl: fix EOVERFLOW bug
2107         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
2108         (__realpath): Do not use lstat.  Just use readlink, as this
2109         suffices and it avoids the EOVERFLOW problem that lstat has.
2110         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
2112 2020-12-02  Bruno Haible  <bruno@clisp.org>
2114         strsignal-tests: Fix test failure on macOS 10.13.
2115         Reported by Martin Storsjö <martin@martin.st> in
2116         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2117         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
2118         to be longer than the expected result.
2120 2020-12-02  Bruno Haible  <bruno@clisp.org>
2122         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
2123         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
2124         recursive self-include problem on FreeBSD 12.2 in C++ mode.
2126 2020-12-02  Bruno Haible  <bruno@clisp.org>
2128         spawn-pipe: Allow caller to specify directory for the subprocess.
2129         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
2130         Add directory argument.
2131         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
2132         (create_pipe): Add directory argument. If specified, resolve the program
2133         file name and make it absolute, first. Pass the directory to spawnpvech
2134         and posix_spawn_file_actions_addchdir.
2135         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
2136         argument.
2137         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
2138         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
2139         * tests/test-spawn-pipe-main.c (test_pipe): Update.
2140         * NEWS: Mention the change.
2141         * lib/csharpcomp.c (compile_csharp_using_mono,
2142         compile_csharp_using_sscli): Update.
2143         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
2144         is_gcj_43): Update.
2145         * lib/javaversion.c (execute_and_read_line): Update.
2146         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
2147         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
2149 2020-12-02  Bruno Haible  <bruno@clisp.org>
2151         execute: Allow caller to specify directory for the subprocess.
2152         * lib/execute.h (execute): Add directory argument.
2153         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
2154         (execute): Add directory argument. If specified, resolve the program
2155         file name and make it absolute, first. Pass the directory to spawnpvech
2156         and posix_spawn_file_actions_addchdir.
2157         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
2158         posix_spawn, posix_spawn_file_actions_addchdir.
2159         * tests/test-execute-main.c: Add test for passing a directory.
2160         * tests/test-execute-child.c: Likewise.
2161         * tests/test-execute.sh: Update.
2162         * modules/execute-tests (Depends-on): Add mkdir.
2163         * NEWS: Mention the change.
2164         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
2165         * lib/csharpexec.c (execute_csharp_using_mono,
2166         execute_csharp_using_sscli): Update.
2167         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2168         compile_using_javac, compile_using_jikes, is_javac_present,
2169         is_jikes_present): Update.
2170         * lib/javaexec.c (execute_java_class): Update.
2172 2020-12-01  Bruno Haible  <bruno@clisp.org>
2174         vma-iter: Add support for macOS11/arm64.
2175         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
2176         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
2177         and by Martin Storsjö <martin@martin.st> in
2178         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2179         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
2181 2020-12-01  Bruno Haible  <bruno@clisp.org>
2183         spawn-pipe: Fix handling of OS/2 kLIBC.
2184         Reported by KO Myung-Hun <komh78@gmail.com> in
2185         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
2186         * modules/spawn-pipe (configure.ac): Use the common idiom for
2187         recognizing the OS/2 operating system.
2189 2020-11-30  Bruno Haible  <bruno@clisp.org>
2191         execute: Fix uninitialized use of errno.
2192         * lib/execute.c (execute): Preserve errno across several system calls.
2194 2020-11-30  Bruno Haible  <bruno@clisp.org>
2196         access tests: Fix test failure on native Windows.
2197         * tests/test-access.c (main): Change permissions of f2 file before
2198         attempting to remove it.
2200 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2202         faccessat: link with $(LIB_EACCESS)
2203         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
2204         module depends on euidaccess.
2206 2020-11-30  Bruno Haible  <bruno@clisp.org>
2208         execute, spawn-pipe: Make multithread-safe on native Windows.
2209         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
2210         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
2211         (spawnpvech): New declaration.
2212         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
2213         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
2214         (_): Remove macro.
2215         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
2216         undup_safer_noinherit): Remove functions.
2217         (spawnpvech): New function.
2218         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
2219         cloexec, dup2, error, gettext-h.
2220         * lib/execute.c: Include msvc-nothrow.h.
2221         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
2222         * lib/spawn-pipe.c: Include msvc-nothrow.h.
2223         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
2224         instead of _spawnvpe.
2225         * modules/execute (Depends-on): Add msvc-nothrow.
2226         * modules/spawn-pipe (Depends-on): Likewise.
2228 2020-11-30  Bruno Haible  <bruno@clisp.org>
2230         execute, spawn-pipe: Improve documentation.
2231         * lib/execute.h: Describe progname, prog_path, prog_argv.
2232         * lib/spawn-pipe.h: Likewise.
2234 2020-11-30  Bruno Haible  <bruno@clisp.org>
2236         execute tests: Add more tests.
2237         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
2238         inherited file descriptors >= 3.
2239         * tests/test-execute-child.c: Likewise.
2240         * tests/test-execute.sh: Update.
2242 2020-11-30  Bruno Haible  <bruno@clisp.org>
2244         havelib: Fix for non-ELF platforms (regression 2019-11-17).
2245         Reported by comex <comexk@gmail.com> in
2246         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
2247         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
2248         don't expect an ELF header.
2250 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2252         bitset: use integer_length in table implementation
2253         * lib/bitset/table.c (tbitset_list_reverse): Use
2254         BITSET_FOR_EACH_BIT_REVERSE.
2256 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2258         bitset: use integer_length in list implementation
2259         * lib/bitset/list.c (lbitset_list_reverse): Use
2260         BITSET_FOR_EACH_BIT_REVERSE.
2262 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2264         bitset: use integer_length in vector implementation
2265         * lib/bitset/array.c (vbitset_list_reverse): Use
2266         BITSET_FOR_EACH_BIT_REVERSE.
2268 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2270         bitset: use integer_length in array implementation
2271         * modules/bitset (Depends-on): Add integer_length_l.
2272         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
2273         * lib/bitset/array.c (abitset_list_reverse): Use it.
2275 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2277         bitset: style: use consistent names
2278         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
2279         and 'boffset' as 'bitoff', for consistency with the other
2280         implementations.
2281         * bitset/table.c (tbitset_list_reverse): Likewise.
2283 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2285         bitset: style: sort header
2286         * lib/bitset/base.h (bitset_ffs): Rename as...
2287         (bitset_ffs_): this.
2288         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
2290 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2292         bitset: tests: check BITSET_FOR_EACH_REVERSE
2293         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
2294         Check BITSET_FOR_EACH_REVERSE.
2296 2020-11-29  Bruno Haible  <bruno@clisp.org>
2298         spawn-pipe tests: Fix test failure with MSVC.
2299         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
2300         (gl_msvc_invalid_parameter_handler): New function.
2301         (main): Set a global invalid-parameter handler.
2302         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
2304 2020-11-29  Bruno Haible  <bruno@clisp.org>
2306         execute: Add tests.
2307         * tests/test-execute.sh: New file.
2308         * tests/test-execute-main.c: New file.
2309         * tests/test-execute-child.c: New file.
2310         * modules/execute-tests: New file.
2312 2020-11-29  Bruno Haible  <bruno@clisp.org>
2314         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
2315         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
2316         works.
2317         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
2318         fallback implementation as on Haiku.
2319         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
2320         effective.
2321         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
2323 2020-11-29  Bruno Haible  <bruno@clisp.org>
2325         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
2326         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
2327         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
2328         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
2329         * lib/windows-spawn.c: Remove modifications for kLIBC.
2330         * modules/spawn-pipe (Files): Add the new files.
2331         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
2333 2020-11-28  Bruno Haible  <bruno@clisp.org>
2335         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
2336         Reported by Paul Eggert in
2337         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
2338         * m4/sparcv8+.m4: New file.
2339         * modules/sparcv8+: New file.
2340         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
2342 2020-11-28  Bruno Haible  <bruno@clisp.org>
2344         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
2345         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
2347 2020-11-28  Bruno Haible  <bruno@clisp.org>
2349         windows-spawn: New module.
2350         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
2351         implementations.
2352         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
2353         * modules/windows-spawn: New file.
2354         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
2355         * lib/spawn-pipe.c: Likewise.
2356         * modules/execute (Files): Remove lib/w32spawn.h.
2357         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2358         xalloc.
2359         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2360         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
2361         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2362         xalloc.
2363         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2365 2020-11-27  Bruno Haible  <bruno@clisp.org>
2367         ssfmalloc tests: Port to macOS 11.
2368         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
2370 2020-11-26  Bruno Haible  <bruno@clisp.org>
2372         Fix dependencies of modules that use '_exit' on native Windows.
2373         Reported by Jim Meyering in
2374         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
2375         * modules/_Exit (Depends-on): Add unistd.
2376         * modules/closein (Depends-on): Likewise.
2377         * modules/closeout (Depends-on): Likewise.
2378         * modules/forkpty (Depends-on): Likewise.
2379         * modules/posix_spawn-internal (Depends-on): Likewise.
2380         * modules/savewd (Depends-on): Likewise.
2381         * modules/stat-time-tests (Depends-on): Likewise.
2383 2020-11-26  Bruno Haible  <bruno@clisp.org>
2385         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
2386         * modules/raise-tests (Depends-on): Add unistd.
2387         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
2389 2020-11-25  Jim Meyering  <meyering@fb.com>
2391         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
2392         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
2393         non-NULL, since we don't bother handing strdup failure.
2395         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
2396         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
2397         * tests/test-raise.c: Include unistd.h.
2398         (handler): Use _exit, not exit.
2400 2020-11-23  Bruno Haible  <bruno@clisp.org>
2402         Use the correct printf format attribute for mingw.
2403         Reported by Reuben Thomas <rrt@sc3d.org> in
2404         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
2406         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
2407         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
2409         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
2410         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
2411         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2412         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
2413         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
2414         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
2416         * modules/vasnprintf (Depends-on): Add stdio.
2417         * lib/vasnprintf.h: Include <stdio.h>.
2418         (asnprintf, vasnprintf): Use the standard printf format attribute.
2420         * modules/xvasprintf (Depends-on): Add stdio.
2421         * lib/xvasprintf.h: Include <stdio.h>.
2422         (xasprintf, xvasprintf): Use the standard printf format attribute.
2424         * modules/xprintf (Depends-on): List stdio first.
2425         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
2426         depends on GNULIB_VPRINTF_POSIX.
2427         (xfprintf, xvfprintf): Use a printf format attribute that depends on
2428         GNULIB_VFPRINTF_POSIX.
2430         * modules/c-vasnprintf (Depends-on): Add stdio.
2431         * lib/c-vasnprintf.h: Include <stdio.h>.
2432         (c_vasnprintf): Use the standard printf format attribute.
2434         * modules/c-vasprintf (Depends-on): Add stdio.
2435         * lib/c-vasprintf.h: Include <stdio.h>.
2436         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
2438         * modules/c-vsnprintf (Depends-on): Add stdio.
2439         * lib/c-vsnprintf.h: Include <stdio.h>.
2440         (c_vsnprintf): Use the standard printf format attribute.
2442         * modules/c-snprintf (Depends-on): Add stdio.
2443         * lib/c-snprintf.h: Include <stdio.h>.
2444         (c_snprintf): Use the standard printf format attribute.
2446         * modules/c-xvasprintf (Depends-on): Add stdio.
2447         * lib/c-xvasprintf.h: Include <stdio.h>.
2448         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
2450         * modules/error (Depends-on): Depend on stdio always.
2451         * lib/error.h: Include <stdio.h>.
2452         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
2453         (error, error_at_line): Use a printf format attribute that depends on
2454         GNULIB_VFPRINTF_POSIX.
2455         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2456         _GL_ATTRIBUTE_FORMAT_PRINTF.
2458         * modules/verror (Depends-on): Add stdio.
2459         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
2460         (verror, verror_at_line): Use the standard printf format attribute.
2461         * lib/verror.c: Include "error.h".
2463         * modules/argp (Depends-on): Add stdio.
2464         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
2465         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
2467         * modules/libtextstyle-optional (Depends-on): Add stdio.
2468         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
2469         printf format attribute.
2471         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
2472         format attribute.
2474 2020-11-23  Pádraig Brady  <P@draigBrady.com>
2476         selinux-at, selinux-h: use const correct declarations
2477         * lib/se-selinux.in.h: Use const for "set" functions,
2478         to match current selinux, and support cleaner user code.
2479         * lib/selinux-at.c: Likewise.
2480         * lib/selinux-at.h: Likewise.
2482 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
2484         canonicalize-lgpl: fix memory leak
2485         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
2486         which could have occurred if BUF was so large that malloc was
2487         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
2488         this eliminates the need to free BUF separately.
2490 2020-11-22  Bruno Haible  <bruno@clisp.org>
2492         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
2493         * modules/xvasprintf (Depends-on): Add xalloc.
2494         * modules/pipe-filter-gi (Depends-on): Likewise.
2495         * modules/execute (Depends-on): Likewise, for w32spawn.h.
2496         * modules/spawn-pipe (Depends-on): Likewise.
2498 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
2500         bootstrap: add option hooks
2501         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
2502         (bootstrap_option_hook): Likewise.
2503         (usage): Call bootstrap_print_option_usage_hook.
2505 2020-11-22  Bruno Haible  <bruno@clisp.org>
2507         argp: Don't break getprogname on non-glibc systems.
2508         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
2509         program_invocation_name and program_invocation_short_name.
2511 2020-11-22  Bruno Haible  <bruno@clisp.org>
2513         doc: Document <link.h>.
2514         * doc/glibc-headers/link.texi: New file.
2515         * doc/gnulib.texi: Include it.
2517 2020-11-22  Bruno Haible  <bruno@clisp.org>
2519         doc: Add references to the LSB.
2520         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
2521         * doc/posix-functions/*.texi: Likewise.
2523 2020-11-22  Bruno Haible  <bruno@clisp.org>
2525         doc: Fix a makeinfo warning (regression 2020-11-03).
2526         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
2528 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
2530         parse-datetime: fix printf format typo
2531         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
2532         previous patch to this file.  Problem reported by Chris Elvidge in
2533         <https://bugs.gnu.org/44763#32>.
2535         setlocale-null-tests: work around GCC bug 44511
2536         * tests/test-setlocale_null-mt-all.c:
2537         * tests/test-setlocale_null-mt-one.c:
2538         Ignore -Wreturn-type, to work around GCC bug 44511.
2540         nl_langinfo-tests: work around GCC bug 44511
2541         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
2542         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
2543         Problem reported for GNU grep by Andreas Schwab
2544         <https://bugs.gnu.org/44535>.
2546         selinux-h: add stubs for selabel_open etc.
2547         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
2548         because matchpathcon is deprecated in favor of selabel_open etc.,
2549         so this patch adds stubs for these functions.
2550         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
2551         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
2552         as it is needed for selabel_open and selinux/selinux.h declares
2553         this type here.
2554         * modules/selinux-h (Files): Add the new files.
2555         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
2556         (lib_SOURCES): Add se-label.in.h, se-label.c.
2557         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
2558         (selinux/label.h): New rule, mimicking selinux/context.h.
2559         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
2560         (Include): Add selinux/label.h.
2562 2020-11-21  Bruno Haible  <bruno@clisp.org>
2564         Update after 'test-driver' in Automake changed.
2565         * build-aux/test-driver.diff: Rebase.
2567 2020-11-21  Daiki Ueno  <ueno@gnu.org>
2569         read-file: remove dead assignment
2570         * lib/read-file.c (fread_file): Remove dead assignment when
2571         RF_SENSITIVE is set, flagged by clang-analyzer.
2573 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2575         bitset: tests: exercise the stats too
2577         * tests/test-bitset.c: Display the stats at the end of the test.
2578         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
2579         last bin, display "256-..." rather that "256-511", since the last bin
2580         does count item greater than or equal to 256.
2582 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2584         bitset: tests: try harder to break it
2585         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
2586         BITSET_LIST_SIZE.
2587         (main): Likewise.
2588         While at it, also exercise super small bitsets.
2590 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2592         bitset: use ffs where possible in the vector implementation
2593         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
2595 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2597         bitset: use ffs where possible in the table implementation
2598         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
2600 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2602         bitset: check empty and full bitsets
2603         * tests/test-bitset.c (check_zero, check_ones): New.
2604         (check_attributes): Use them.
2606 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2608         bitset: be sure to always return a value
2609         * lib/bitset/array.c (abitset_small_list): Always update *next and
2610         return a value.
2612 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2614         vcs-to-changelog: Expect spaces in file names
2615         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
2616         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
2617         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
2618         tabs to spaces.
2619         (list_changes): Use tabs to identify file names.
2621 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2623         bitset: strengthen tests
2624         * tests/test-bitset.c (compare): Also check count.
2625         Deal only with random values, move the one-bit tests to...
2626         (check_one_bit): this new function.
2627         (check_attributes): Call it.
2629 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2631         bitset: fix iteration over table bitsets
2632         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
2634 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2636         bitset: rename internal details for consistency
2637         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
2639 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2641         bitset: test: run deterministic tests on several bitset sizes
2642         * tests/test-bitset.c (check_attributes): Run it with small and large
2643         sizes.
2645 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2647         bitset: use ffs where possible in the list implementation
2648         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
2650 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2652         bitset: use ffs where possible in array implementation
2653         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
2655 2020-11-17  Bruno Haible  <bruno@clisp.org>
2657         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
2658         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2659         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2660         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
2661         C++ mode.
2663 2020-11-17  Bruno Haible  <bruno@clisp.org>
2665         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
2666         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
2667         is always declared.
2668         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
2669         declared.
2671 2020-11-17  Bruno Haible  <bruno@clisp.org>
2673         Fix link errors on AIX.
2674         * modules/clean-temp (Link): Link with $(LIBTHREAD).
2675         * modules/getumask (Link): Link with $(LIBTHREAD).
2676         * modules/getumask-tests (Makefile.am): Link test-getumask with
2677         $(LIBTHREAD).
2678         * modules/supersede (Link): Link with $(LIBTHREAD).
2679         * modules/supersede-tests (Makefile.am): Link test-supersede with
2680         $(LIBTHREAD).
2681         * modules/fatal-signal (Link): New section.
2682         * modules/execute (Link): New section.
2683         * modules/csharpexec (Link): Link with $(LIBTHREAD).
2684         * modules/javaexec (Link): Link with $(LIBTHREAD).
2685         * modules/spawn-pipe (Link): New section.
2686         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
2687         $(LIBTHREAD).
2688         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
2689         * modules/javacomp (Link): Link with $(LIBTHREAD).
2690         * modules/javaversion (Link): Link with $(LIBTHREAD).
2691         * modules/pipe-filter-gi (Link): New section.
2692         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
2693         test-pipe-filter-gi2-main with $(LIBTHREAD).
2694         * modules/pipe-filter-ii (Link): New section.
2695         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
2696         test-pipe-filter-ii2-main with $(LIBTHREAD).
2697         * modules/term-style-control (Link): New section.
2698         * modules/term-style-control-tests (Makefile.am): Link
2699         test-term-style-control-hello, test-term-style-control-yes with
2700         $(LIBTHREAD).
2701         * modules/wait-process (Link): New section.
2702         * modules/nonblocking-pipe-tests (Makefile.am): Link
2703         test-nonblocking-pipe-main with $(LIBTHREAD).
2704         * modules/nonblocking-socket-tests (Makefile.am): Link
2705         test-nonblocking-socket-main with $(LIBTHREAD).
2707 2020-11-16  Bruno Haible  <bruno@clisp.org>
2709         Fix link errors on platforms with libunistring.
2710         * modules/c32isalnum (Link): New section.
2711         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
2712         $(LIBUNISTRING).
2713         * modules/c32isalpha (Link): New section.
2714         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
2715         $(LIBUNISTRING).
2716         * modules/c32isblank (Link): New section.
2717         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
2718         $(LIBUNISTRING).
2719         * modules/c32iscntrl (Link): New section.
2720         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
2721         $(LIBUNISTRING).
2722         * modules/c32isdigit (Link): New section.
2723         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
2724         $(LIBUNISTRING).
2725         * modules/c32isgraph (Link): New section.
2726         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
2727         $(LIBUNISTRING).
2728         * modules/c32islower (Link): New section.
2729         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
2730         $(LIBUNISTRING).
2731         * modules/c32isprint (Link): New section.
2732         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
2733         $(LIBUNISTRING).
2734         * modules/c32ispunct (Link): New section.
2735         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
2736         $(LIBUNISTRING).
2737         * modules/c32isspace (Link): New section.
2738         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
2739         $(LIBUNISTRING).
2740         * modules/c32isupper (Link): New section.
2741         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
2742         $(LIBUNISTRING).
2743         * modules/c32isxdigit (Link): New section.
2744         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
2745         $(LIBUNISTRING).
2746         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
2747         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2748         $(LIBUNISTRING).
2750 2020-11-16  Bruno Haible  <bruno@clisp.org>
2752         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
2753         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2754         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2755         * modules/getumask-tests (Makefile.am): Link test-getumask with
2756         $(LIBINTL).
2757         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
2758         * modules/supersede-tests (Makefile.am): Link test-supersede with
2759         $(LIBINTL).
2760         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2761         $(LIBINTL).
2763 2020-11-16  Bruno Haible  <bruno@clisp.org>
2765         getumask: Document link dependencies.
2766         * modules/getumask (Link): New section.
2768 2020-11-16  Bruno Haible  <bruno@clisp.org>
2770         Update link dependencies in modules after 2020-09-09 change.
2771         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
2772         * modules/mkdtemp (Link): Likewise.
2773         * modules/mkostemp (Link): Likewise.
2774         * modules/mkostemps (Link): Likewise.
2775         * modules/mkstemp (Link): Likewise.
2776         * modules/mkstemps (Link): Likewise.
2777         * modules/supersede (Link): Likewise.
2778         * modules/tmpfile (Link): Likewise.
2779         * modules/tmpfile-safer (Link): Likewise.
2781 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
2783         getumask-tests: port to Solaris 10 etc.
2784         Problem reported by Tom Christensen in:
2785         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
2786         * modules/getumask-tests (test_getumask_LDADD):
2787         Add $(LIB_CLOCK_GETTIME).
2789 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2791         bitset: use ffsl to accelerate iterations over set bits
2792         Suggested by Bruno Haible.
2793         * modules/bitset: Depend upon ffsl.
2794         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
2795         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
2797 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2799         bitset: more tests
2800         * tests/test-bitset.c (compare): Make it clear that the random values
2801         should not be modified.
2802         Check bitset_first, bitset_last and BITSET_FOR_EACH.
2804 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2806         bitset: fix the copy from lbitset to other types
2807         * lib/bitset/list.c (lbitset_copy): Rename as...
2808         (lbitset_copy_): this.
2809         (lbitset_copy): New.
2810         Dispatch to heterogeneous/homogeneous copy.
2812 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2814         bitset: making debug traces more useful
2815         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
2817         bitset: comment changes
2818         * lib/bitset.c: Move some documenting comments to...
2819         * lib/bitset.h: here.
2820         * lib/bitset/array.c: Fix some comments.
2822 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2824         careadlinkat: warn better about GCC bug 93644
2825         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
2826         not in effect, use "#warning" to let builders know more clearly
2827         about GCC bug 93644, because the bug triggers even if no -W option
2828         is given to GCC.
2830 2020-11-13  Jim Meyering  <meyering@fb.com>
2832         hard-locale-tests: avoid a -Wstrict-prototypes warning
2833         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
2834         changing "main ()" to "main (void)". This was the only case that
2835         triggered a warning when building grep with --enable-gcc-warnings.
2837 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2839         time_rz: simplify CVE-2017-7476 fix
2840         * lib/time_rz.c: Do not include limits.h; I think it was included
2841         under the mistaken impression that limits.h defines SIZE_MAX.
2842         (SIZE_MAX): Remove.
2843         (save_abbr): Put string length into a ptrdiff_t variable,
2844         so that the size comparison works naturally.  This
2845         fixes CVE-2017-7476 in a cleaner way.
2847         parse-datetime: streamline overflow checking
2848         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
2849         did not work for unsigned destinations, and since time_t might
2850         be unsigned that meant it did not work for time_t destinations.
2851         This limitation of INT_ADD_WRAPV has been fixed, so we can
2852         now streamline parse-datetime.y a bit.
2853         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
2854         has not been used for a while.
2855         (yylex, parse_datetime2): Assume C99 declarations after statements.
2856         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
2857         to TYPE_MINIMUM.
2858         (parse_datetime2): No need for time_overflow now that
2859         INT_ADD_WRAPV works for unsigned results.
2861         parse-datetime-tests: port to Alpine Linux 3.12.1
2862         * tests/test-parse-datetime.c: Include errno.h for errno,
2863         and unistd.h for _SC_TZNAME_MAX and sysconf.
2864         (main): In the outlandishly-long time zone abbreviation test,
2865         do not exceed TZNAME_MAX as this has undefined behavior,
2866         and on Alpine Linux 3.12.1 it makes the test fail.
2868 2020-11-09  Pádraig Brady  <P@draigBrady.com>
2870         mgetgroups: avoid warning with clang
2871         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
2872         so disable -Wpointer-sign for all clang versions.
2874 2020-11-07  Bruno Haible  <bruno@clisp.org>
2876         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
2877         Reported by Simon Josefsson in
2878         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
2879         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
2880         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
2881         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
2883 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2885         tests: pacify Sun C 5.9
2886         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
2887         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
2888         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
2889         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
2890         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
2891         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
2892         Remove unreachable ‘return NULL;’s.
2894         tests: port better to XLC 12.01
2895         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
2896         even in code that is not executed, as IBM XLC 12.01 complains "The
2897         subscript -1 is less than zero."
2898         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
2899         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
2900         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
2901         arguments than are required by the macro definition."
2903 2020-11-03  Bruno Haible  <bruno@clisp.org>
2905         aligned-malloc: Use fixes from the new modules.
2906         * modules/aligned-malloc (Depends-on): Add posix_memalign,
2907         aligned_alloc, memalign.
2908         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
2910 2020-11-03  Bruno Haible  <bruno@clisp.org>
2912         aligned_alloc: Add tests.
2913         * tests/test-aligned_alloc.c: New file.
2914         * modules/aligned_alloc-tests: New file.
2916         aligned_alloc: New module.
2917         * lib/stdlib.in.h (aligned_alloc): New declaration.
2918         * lib/aligned_alloc.c: New file.
2919         * m4/aligned_alloc.m4: New file.
2920         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
2921         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
2922         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2923         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
2924         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2925         * modules/aligned_alloc: New file.
2926         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
2927         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
2928         AIX bug.
2930 2020-11-03  Bruno Haible  <bruno@clisp.org>
2932         posix_memalign: Add tests.
2933         * tests/test-posix_memalign.c: New file.
2934         * modules/posix_memalign-tests: New file.
2936         posix_memalign: New module.
2937         * lib/stdlib.in.h (posix_memalign): New declaration.
2938         * lib/posix_memalign.c: New file.
2939         * m4/posix_memalign.m4: New file.
2940         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
2941         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
2942         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2943         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
2944         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2945         * modules/posix_memalign: New file.
2946         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
2947         * doc/posix-functions/posix_memalign.texi: Mention the new module and
2948         the OpenBSD bug.
2950 2020-11-03  Bruno Haible  <bruno@clisp.org>
2952         memalign: Add tests.
2953         * tests/test-memalign.c: New file.
2954         * modules/memalign-tests: New file.
2956         memalign: New module.
2957         * modules/memalign: New file.
2958         * doc/glibc-functions/memalign.texi: Mention the new module.
2960 2020-11-03  Bruno Haible  <bruno@clisp.org>
2962         verify tests: Fix crash with GCC (regression 2020-11-02).
2963         * tests/test-verify.c (main): Fix initializer of s.
2965 2020-11-03  Pádraig Brady  <P@draigBrady.com>
2967         mountlist: recognize more file system types as remote
2969         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
2970         "remote" file systems from stat.c in coreutils.
2972 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
2974         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
2975         * tests/test-verify.c (main): Initialize state variable.
2976         Reported by Bruno Haible for GCC 5.4.0.
2978 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
2980         dfa.h: support inclusion from C++
2981         * lib/dfa.h: Allow multiple inclusion, and inclusion from
2982         C++ code.  The latter was suggested by Arnold Robbins.
2984 2020-11-01  Bruno Haible  <bruno@clisp.org>
2986         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
2987         * tests/test-ssfmalloc.c: Include <limits.h>.
2988         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
2990 2020-11-01  Bruno Haible  <bruno@clisp.org>
2992         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
2993         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
2995 2020-11-01  Jim Meyering  <meyering@fb.com>
2997         dfa-tests: test for today's invalid-merge fix
2998         * tests/test-dfa-invalid-merge.sh: New file.
2999         * modules/dfa-tests (Files): Add it.
3000         (TESTS): Add it.
3002 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3004         dfa: retain sequences of similar nodes in optimization
3005         DFA was merging similar nodes when it should not.  For example,
3006         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
3007         is not merged.  Problem reported by Gonzalo Padrino in
3008         https://bugs.gnu.org/44351
3009         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
3010         optimization.
3012 2020-11-01  Jim Meyering  <meyering@fb.com>
3014         test-dfa-match-aux.c: accept EREs, not BREs
3015         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
3016         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
3018 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
3020         verify tests: avoid -Wmissing-declarations warnings
3021         * tests/test-verify.c (test_assume_expressions): Add declaration.
3022         (test_assume_optimization): Likewise.
3023         (test_assume_noreturn): Likewise.
3024         (main): Move down after all other definitions.  While at it, also
3025         call test_assume_expressions and test_assume_optimization as a
3026         runtime check.
3028 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3030         sys_stat: update comments for S_IRWXUGO, S_IXUGO
3031         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
3032         Perhaps these macros should be removed, as they’re not in either
3033         POSIX or GNU.  They could be moved to stat-macros.h, which would
3034         be cleaner in some sense.
3036 2020-10-25  Bruno Haible  <bruno@clisp.org>
3038         ssfmalloc tests: Small tweaks.
3039         * tests/test-ssfmalloc.c: Add comments.
3040         (alloc_pages): Don't require PROT_EXEC bits.
3041         (block_sizes): Add more small sizes, for better coverage of
3042         ssfmalloc-bitmap.h.
3044         ssfmalloc tests: Portability to Minix.
3045         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
3046         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
3047         * m4/mmap-anon.m4: Update comment.
3049         ssfmalloc: Portability to AIX.
3050         * modules/ssfmalloc (Include): Add ssfmalloc.h.
3051         (Link): New section.
3052         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
3053         $(LIBTHREAD).
3055         ssfmalloc: Portability to Cygwin.
3056         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
3057         (pg_offset_t): Define depending on PAGESIZE_MAX.
3058         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
3059         (PAGESIZE_MAX): New macro.
3061         ssfmalloc: Fix buffer overrun in bitmap search.
3062         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
3063         word *words_end.
3065 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3067         doc: mention ‘restrict’ and C++
3068         * doc/gnulib-readme.texi (C99 features assumed): Document
3069         that ‘restrict’ should be avoided in C++ code.
3071 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
3073         selinux-at, selinux-h: port to SELinux 3.1
3074         The new release finally deprecated the typedef 'security_context_t',
3075         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
3076         Use the simpler 'char *' instead.
3077         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
3078         (lgetfilecon): Likewise.
3079         (fgetfilecon): Likewise.
3080         (map_to_failure): Likewise.
3081         (rpl_getfilecon): Likewise.
3082         (rpl_lgetfilecon): Likewise.
3083         (rpl_fgetfilecon): Likewise.
3084         * lib/se-selinux.in.h (security_context_t): Remove typedef.
3085         (getcon): Adjust type of context parameter.
3086         (freecon): Likewise.
3087         (getfscreatecon): Likewise.
3088         (setfscreatecon): Likewise.
3089         (matchpathcon): Likewise.
3090         (getfilecon): Likewise.
3091         (lgetfilecon): Likewise.
3092         (fgetfilecon): Likewise.
3093         (setfilecon): Likewise.
3094         (lsetfilecon): Likewise.
3095         (fsetfilecon): Likewise.
3096         (security_check_context): Likewise.
3097         (security_check_context_raw): Likewise.
3098         (setexeccon): Likewise.
3099         (security_compute_create): Likewise.
3100         * lib/selinux-at.c (getfileconat): Likewise.
3101         (lgetfileconat): Likewise.
3102         (setfileconat): Likewise.
3103         (lsetfileconat): Likewise.
3104         * lib/selinux-at.h: Likewise.
3106 2020-10-19  Bruno Haible  <bruno@clisp.org>
3108         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
3109         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
3110         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
3111         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
3112         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
3113         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
3114         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
3116 2020-10-18  Bruno Haible  <bruno@clisp.org>
3118         ssfmalloc: Add tests.
3119         * tests/test-ssfmalloc.c: New file.
3120         * modules/ssfmalloc-tests: New file.
3122         ssfmalloc: New module.
3123         * lib/ssfmalloc.h: New file.
3124         * lib/ssfmalloc-bitmap.h: New file.
3125         * modules/ssfmalloc: New file.
3127 2020-10-18  Bruno Haible  <bruno@clisp.org>
3129         wchar: Fix configure test result on some versions of AIX.
3130         Reported by Clément Chigot <clement.chigot@atos.net> in
3131         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
3132         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
3133         systems.
3135 2020-10-18  Bruno Haible  <bruno@clisp.org>
3137         time: Fix warning about asctime when asctime is not used.
3138         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
3139         invocation.
3141 2020-10-18  Bruno Haible  <bruno@clisp.org>
3143         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
3144         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
3145         '_GL_ATTRIBUTE_CONST'.
3146         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
3147         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
3148         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
3149         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
3150         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
3151         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
3152         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
3154 2020-10-18  Bruno Haible  <bruno@clisp.org>
3156         obstack: Fix a clang warning.
3157         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
3159 2020-10-16  Bruno Haible  <bruno@clisp.org>
3161         hash: Rename hash_delete to hash_remove.
3162         * lib/hash.h (hash_remove): Renamed from hash_delete.
3163         (hash_delete): New declaration.
3164         * lib/hash.c (hash_remove): Renamed from hash_delete.
3165         (hash_delete): New function.
3166         * tests/test-hash.c (main): Update.
3167         * lib/fts-cycle.c (leave_dir): Likewise.
3168         * NEWS: Mention the change.
3170 2020-10-16  Bruno Haible  <bruno@clisp.org>
3172         hash, xhash: Make usable from C++.
3173         * lib/hash.h: Add extern "C".
3175 2020-10-16  Bruno Haible  <bruno@clisp.org>
3177         hash, xhash: Move comments to the .h file.
3178         * lib/hash.c: Move comments meant for the user from here...
3179         * lib/xhash.c: ... and here...
3180         * lib/hash.h: ... to here.
3182 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
3184         Don't declare an intention to modify the return value of strerror.
3185         * tests/test-perror2.c (main): Assign the return value of strerror to a
3186         'const char *' variable.
3188 2020-10-11  Bruno Haible  <bruno@clisp.org>
3190         *printf: Avoid "expanded before it was required" warning.
3191         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
3192         AC_DEFUN_ONCE.
3194 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
3196         getprogname: Add support for OpenServer 6 and UnixWare 7.
3197         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
3198         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
3200 2020-10-11  Bruno Haible  <bruno@clisp.org>
3202         tests: Avoid a name clash on UnixWare.
3203         Reported by Tim Rice <tim@multitalents.net> in
3204         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
3205         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
3207 2020-10-11  Bruno Haible  <bruno@clisp.org>
3209         stdioext: Update comments regarding UnixWare.
3210         Reported by Tim Rice <tim@multitalents.net> in
3211         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3212         * lib/fbufmode.c: Update comments.
3213         * lib/fflush.c: Likewise.
3214         * lib/fpending.c: Likewise.
3215         * lib/fpurge.c: Likewise.
3216         * lib/freadable.h: Likewise.
3217         * lib/freadable.c: Likewise.
3218         * lib/freadahead.c: Likewise.
3219         * lib/freading.h: Likewise.
3220         * lib/freading.c: Likewise.
3221         * lib/freadptr.c: Likewise.
3222         * lib/freadseek.c: Likewise.
3223         * lib/fseeko.c: Likewise.
3224         * lib/fseterr.c: Likewise.
3225         * lib/fwritable.h: Likewise.
3226         * lib/fwritable.c: Likewise.
3227         * lib/fwriting.h: Likewise.
3228         * lib/fwriting.c: Likewise.
3230 2020-10-11  Bruno Haible  <bruno@clisp.org>
3232         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
3233         Reported by Tim Rice <tim@multitalents.net> in
3234         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3235         Uses the info from
3236         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
3237         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
3239 2020-10-11  Bruno Haible  <bruno@clisp.org>
3241         stdioext: Avoid compilation errors on UnixWare 7.
3242         Reported by Tim Rice <tim@multitalents.net> in
3243         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
3244         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
3245         * lib/fpurge.c: Likewise.
3246         * lib/freadable.h: Likewise.
3247         * lib/freading.h: Likewise.
3248         * lib/fwritable.h: Likewise.
3249         * lib/fwriting.h: Likewise.
3250         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
3251         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3252         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
3253         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
3254         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
3255         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
3257 2020-10-11  Bruno Haible  <bruno@clisp.org>
3259         stdioext: Update comments regarding Cygwin.
3260         * lib/fpending.c: Update comments.
3261         * lib/fpurge.c: Likewise.
3262         * lib/freadable.h: Likewise.
3263         * lib/freadable.c: Likewise.
3264         * lib/freading.h: Likewise.
3265         * lib/freading.c: Likewise.
3266         * lib/fwritable.h: Likewise.
3267         * lib/fwritable.c: Likewise.
3268         * lib/fwriting.h: Likewise.
3269         * lib/fwriting.c: Likewise.
3271 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
3273         Fix "warning: implicit declaration of function 'pthread_sigmask'".
3274         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
3275         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
3277 2020-10-10  Bruno Haible  <bruno@clisp.org>
3279         *-list, *-oset, *-omap: Avoid possible compiler warnings.
3280         Reported by Marc Nieper-Wißkirchen in
3281         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
3282         * lib/gl_anylinked_list2.h (gl_linked_iterator,
3283         gl_linked_iterator_from_to): Mark as 'pure'.
3284         (gl_linked_iterator_free): Mark as 'const'.
3285         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
3286         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
3287         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
3288         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
3289         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
3290         (gl_tree_iterator_free): Mark as 'const'.
3291         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
3292         'pure'.
3293         (gl_tree_iterator_free): Mark as 'const'.
3294         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
3295         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
3296         (gl_tree_iterator_free): Mark as 'const'.
3297         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
3298         compare_position_threshold): Mark as 'pure'.
3299         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
3300         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
3301         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
3302         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
3303         'pure'.
3304         (gl_array_iterator_free): Mark as 'const'.
3305         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
3306         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
3307         (gl_array_iterator_free): Mark as 'const'.
3308         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
3309         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
3310         gl_array_iterator_atleast): Mark as 'pure'.
3311         (gl_array_iterator_free): Mark as 'const'.
3312         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
3313         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
3314         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
3315         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
3316         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
3317         gl_carray_sortedlist_search): Mark as 'pure'.
3318         (gl_carray_iterator_free): Mark as 'const'.
3320 2020-10-10  Bruno Haible  <bruno@clisp.org>
3322         rbtree-list: Avoid possible compiler warnings.
3323         This mirrors the change of avltree-list on 2014-09-16.
3324         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
3325         declaration. Add cast to void for ignored value of check_invariants.
3327 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
3329         stack: New module.
3330         * MODULES.html.sh: Add entry for the stack module.
3331         * modules/stack: New file.
3332         * modules/stack-tests: New file.
3333         * lib/stack.h: New file.
3334         * tests/test-stack.c: New file.
3336 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3338         attribute: improve const, pure doc
3339         Problem reported by Marc Nieper-Wißkirchen in:
3340         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
3341         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
3342         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
3344 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3346         thread: pacify GCC on Solaris 10
3347         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
3348         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
3349         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
3350         where pthread_t is unsigned int.
3352 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
3354         c-stack: avoid AS_IF
3355         Problem reported by Bruno Haible in:
3356         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
3357         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
3359         c-stack: pacify GCC 9.3.1 when using libsigsegv
3360         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
3362 2020-10-04  Bruno Haible  <bruno@clisp.org>
3364         localename: Fix a couple of "unused parameter" warnings.
3365         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
3366         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
3367         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
3368         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
3369         parameter list.
3371 2020-10-04  Bruno Haible  <bruno@clisp.org>
3373         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
3374         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
3375         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
3376         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
3377         HAVE_SNPRINTF_TRUNCATION_C99.
3378         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
3379         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
3381 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3383         c-stack: streamline Solaris configuration
3384         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
3385         the code is used only if a test for sigaltstack worked
3386         in some other way.
3387         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
3388         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
3389         heuristic does not work).
3390         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
3391         we no longer require the libsigsegv module.
3392         (Depends-on): Depend on havelib, not libsigsegv.
3394         c-stack: stop using SIGSTKSZ
3395         It’s been proposed to stop making SIGSTKSZ an integer constant:
3396         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
3397         Also, using SIGSTKSZ in #if did not conform to current POSIX.
3398         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
3399         * lib/c-stack.c (SIGSTKSZ): Remove.
3400         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
3401         All uses changed.
3403         c-stack: fix libsigsegv typo
3404         Problem reported by Bruno Haible in:
3405         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
3406         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
3407         to be used only on Solaris (exactly where it is not needed!).
3409 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
3411         MODULES.html.sh: Fix typo.
3412         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
3414 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
3416         version-etc: pacify Oracle Studio 12.6
3417         Without this patch, it complains: "version-etc.h", line 64:
3418         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
3419         pedantic mode.
3420         * lib/version-etc.h (version_etc): Port to C89 macro rules.
3422 2020-09-27  Bruno Haible  <bruno@clisp.org>
3424         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
3425         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3426         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3427         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
3428         ourselves; don't use AC_DECL_SYS_SIGLIST.
3430 2020-09-27  Bruno Haible  <bruno@clisp.org>
3432         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
3433         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3434         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3435         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
3436         instead of _AC_COMPUTE_INT.
3438 2020-09-27  Bruno Haible  <bruno@clisp.org>
3440         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
3441         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3442         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3443         Based on a patch by Paul Eggert.
3444         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
3445         test STDC_HEADERS. Assume <stdlib.h> exists.
3446         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
3448 2020-09-27  Bruno Haible  <bruno@clisp.org>
3450         Enable testing of prereleases of Autoconf 2.70.
3451         Suggested by Paul Eggert in
3452         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
3453         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
3454         >= 2.70.
3455         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
3456         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
3457         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
3459 2020-09-27  Bruno Haible  <bruno@clisp.org>
3461         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
3462         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3463         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3464         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
3465         AC_PROG_CC, depending on the Autoconf version.
3467 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
3469         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
3470         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
3471         of AC_HELP_STRING.
3472         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
3474 2020-09-27  Bruno Haible  <bruno@clisp.org>
3476         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
3477         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3478         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3479         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
3481 2020-09-27  Bruno Haible  <bruno@clisp.org>
3483         extensions: Simplify last commit.
3484         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
3485         AC_GNU_SOURCE ever.
3487 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3489         extensions: require AC_GNU_SOURCE only for <=2.63
3490         Problem reported by Gavin Smith in:
3491         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
3492         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
3493         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
3494         shouldn’t be needed after that, and Autoconf 2.70 complains about
3495         it being obsolete.
3497 2020-09-26  Bruno Haible  <bruno@clisp.org>
3499         regex-tests: Make test more robust.
3500         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
3501         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
3503 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3505         regex-tests: fix possible Turkish false-alarm
3506         * modules/regex-tests (Depends-on): Add wctype-h.
3507         * tests/test-regex.c: Include wctype.h.
3508         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
3509         as the Turkish regex test assumes this.
3511         regex-tests: fix test and add debug output
3512         Perhaps this will fix the recent grep test failure reported at:
3513         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
3514         At least, the debug output should help narrow down the failure.
3515         * tests/test-regex.c: Include stdarg.h, stdio.h.
3516         (exit_status): New var.
3517         (report_error): New function.
3518         (main): Use it to report failures to stdout instead of merely
3519         exiting with some nonzero status.  The status info alone isn’t
3520         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
3521         regex before calling re_compile_pattern, fixing a portability bug.
3523         regex: no longer match glibc
3524         * config/srclist.txt: Comment out regex_internal.c for now.
3526 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3528         regex: fix ignore-case Turkish bug
3529         * lib/regex_internal.c (build_wcs_upper_buffer):
3530         Do not assume that converting single-byte character to upper
3531         yields a single-byte character.  This is not true for Turkish,
3532         where towupper (L'i') yields L'İ', which is not single-byte.
3533         * tests/test-regex.c (main): Test for this bug.
3535         regex: port to weird isascii platforms
3536         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
3538 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3540         dfa: make dfasupported a global function
3541         * lib/dfa.c (dfasupported): Rename, and make it global.
3542         Update caller.
3543         * lib/dfa.h (dfasupported): Add prototype.
3545 2020-09-20  Bruno Haible  <bruno@clisp.org>
3547         canonicalize: Add support for UNC file names on native Windows.
3548         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
3549         <https://savannah.gnu.org/bugs/?59079>.
3550         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
3551         extend the prefix to include the server.
3553 2020-09-20  Bruno Haible  <bruno@clisp.org>
3555         supersede: Fix test failures on native Windows.
3556         * lib/supersede.c (open_supersede): Handle non-regular files on native
3557         Windows like on Solaris.
3558         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
3560 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3562         test-stdalign: test Oracle Studio better
3563         * doc/posix-headers/stdalign.texi (stdalign.h):
3564         * tests/test-stdalign.c (main):
3565         Sun Studio Bug #2125432 seems to be fixed.
3567         c-stack: output diagnostic in single 'write'
3568         * lib/c-stack.c (die): In the typical case, use just one 'write'
3569         syscall to output the diagnostic, as this lessens interleaving.
3570         (die, c_stack_action): Assume C99.
3571         * modules/c-stack (Depends-on): Add c99, mempcpy.
3573         c-stack: improve checking if !libsigsegv
3574         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
3575         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
3576         unlikely pointer overflow.  Also, fix some obsolete code and typos.
3577         I found these problems while looking into this bug report:
3578         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
3579         * lib/c-stack.c: Include c-stack.h first, to test interface.
3580         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
3581         max_align_t, intprops.h for INT_ADD_WRAPV.
3582         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
3583         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
3584         for libsigsegv 2.8 and earlier since the bug should be fixed
3585         after that.
3586         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
3587         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
3588         Assume sprintf returns byte count; this assumption is safe now.
3589         (page_size): New static volatile variable, since sysconf isn’t
3590         documented to be async-signal-safe on Solaris.  This variable is
3591         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
3592         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
3593         SIGINFO_WORKS).
3594         (segv_handler): Use it if present.  Never report null pointer
3595         dereference as a stack overflow.  Check for (unlikely) unsigned
3596         and/or pointer overflow.
3597         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
3598         Rename cache variables to gl_cv_sys_stack_overflow_works
3599         and gl_cv_sys_xsi_stack_overflow_heuristic.
3600         All uses changed.
3601         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
3602         c-stack no longer uses STACK_DIRECTION.
3603         Do not check for unistd.h, since we depend on unistd.
3604         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
3605         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
3606         stdbool, stddef.
3608 2020-09-20  Bruno Haible  <bruno@clisp.org>
3610         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
3611         * m4/musl.m4: Revert 2020-09-19 patch.
3612         * m4/setlocale_null.m4: Likewise.
3613         * modules/setlocale-null: Likewise.
3615 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
3616             Bruno Haible  <bruno@clisp.org>
3618         relocatable-prog: Fix for multiple relocatable library directories.
3619         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
3620         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
3621         being attached to a single one.
3623 2020-09-19  Jim Meyering  <meyering@fb.com>
3625         test-verify.c: avoid -Wshadow warnings
3626         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
3627         (enum): Capitalize member names. Adjust uses.
3629 2020-09-19  Bruno Haible  <bruno@clisp.org>
3631         havelib: Avoid linking with libc.a on GNU systems.
3632         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
3633         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
3634         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
3635         dependency_libs value of a .la file, ignore '-lc' options on GNU
3636         systems.
3638 2020-09-19  Bruno Haible  <bruno@clisp.org>
3640         Fix recognition of musl libc on Alpine Linux 3.10.
3641         Reported by Jeffrey Walton <noloader@gmail.com> in
3642         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
3643         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
3644         (gl_MUSL_LIBC): Require it.
3645         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
3646         * modules/setlocale-null (Files): Add m4/musl.m4.
3648 2020-09-19  Bruno Haible  <bruno@clisp.org>
3650         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
3651         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
3652         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
3653         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
3654         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
3655         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
3656         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
3657         or <threads.h>.
3658         (ITEMS, MAX_RESULT_LEN): New macros.
3659         (nl_langinfo_unlocked): New function.
3660         (gl_get_nl_langinfo_lock): New declaration.
3661         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
3662         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
3663         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
3664         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
3665         REPLACE_NL_LANGINFO.
3666         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
3667         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
3668         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
3669         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
3670         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
3672 2020-09-18  Bruno Haible  <bruno@clisp.org>
3674         fsusage, getaddrinfo: Produce more regular configure output.
3675         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
3676         corresponding AC_MSG_RESULT.
3677         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
3679 2020-09-18  Bruno Haible  <bruno@clisp.org>
3681         Add back gl_SILENT.
3682         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
3684 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3686         c-stack-tests: fix -fsanitize=undefined false alarm
3687         * tests/test-c-stack2.sh: Skip the test-harness self-test
3688         if ‘gcc -fsanitize=undefined’ is in use.
3690 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
3692         signalblocking: simplify and remove gl_SILENT
3693         gl_SILENT was problematic because if a trap was sprung, stderr
3694         generated during the trap was lost.  Avoid the problem by
3695         removing the need for gl_SILENT.
3696         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
3697         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
3698         Simplify, avoiding the need for gl_SILENT while preserving the
3699         ability of the user to override the value of the cache variable,
3700         now ac_cv_func_sigprocmask.
3702 2020-09-17  Bruno Haible  <bruno@clisp.org>
3704         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
3705         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
3706         (gl_SILENT): Use 'exec', not a compound statement, to redirect
3707         AS_MESSAGE_FD.
3709 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
3711         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
3712         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
3713         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
3714         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
3715         Define to 0.
3716         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
3717         Do not use __builtin_mul_overflow_p.
3719         libc-config: port __THROW to Ubuntu 4
3720         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
3721         for GCC 3.3.  Problem reported by Jeffrey Walton in:
3722         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
3723         The GCC 3.3.4 documentation says the attribute should work, but
3724         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
3725         little point or desire to research this circa-2004 platform further,
3726         so just avoid the attribute there.
3728 2020-09-17  Jim Meyering  <meyering@fb.com>
3730         test-dfa-match.sh: port timeout work-around to newer Busybox
3731         * tests/test-dfa-match.sh: Update timeout -t portability test to
3732         accommodate Busybox 1.30.0 and newer.
3734 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
3736         fnmatch: adjust to match glibc fix
3737         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
3738         This does not affect Gnulib; it merely keeps Gnulib and glibc
3739         closer together, to help with any eventual merge, by incorporating
3740         a recent glibc patch.  The patch and the following commentary is
3741         by Andreas Schwab.
3742         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
3743         contains the index into the extra array, whereas wextra points
3744         into the extra array at this index, containing the length of the
3745         following collating sequence in the wide character representation.
3747 2020-09-16  Bruno Haible  <bruno@clisp.org>
3749         stat, fstat: Fix compilation error with old mingw headers.
3750         Reported by Eli Zaretskii <eliz@gnu.org> in
3751         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3752         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
3753         define it.
3755 2020-09-16  Bruno Haible  <bruno@clisp.org>
3757         stat, fstat: Fix when compiling for versions older than Windows Vista.
3758         Reported by Eli Zaretskii <eliz@gnu.org> in
3759         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3760         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
3761         that was originally set before we redefined it.
3762         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
3763         (gl_PREREQ_STAT): Require it.
3764         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
3766 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3768         dfa: remove dfa-heap-overrun workaround
3769         * lib/dfa.c (reorder_tokens): Go back to a single pass that
3770         both sets map[*] and does other things.  This reverts
3771         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
3772         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
3773         fixed the underlying problem.
3775 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3777         dfa: avoid use of uninitialized constraint
3778         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
3779         to zero here.
3780         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
3781         use of an uninitialized constraint by later code when ! (flags[i]
3782         & OPT_QUEUED) means merge_nfa_state was not called to initialize
3783         the constraint.  Problem found by running 'valgrind src/grep -E
3784         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
3786         dfa: assume C99 in reorder_tokens
3787         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
3789         dfa: fix dfa-heap-overrun failure
3790         * lib/dfa.c (reorder_tokens): When setting
3791         map[d->follows[i].elems[j].index], instead of incorrectly assuming
3792         that (i < d->follows[i].elems[j].index), use two loops, one to set
3793         the map array and the other to use it.  The incorrect assumption
3794         caused some elements to be missed, and this in turn caused grep's
3795         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
3796         with GCC.  I found this bug while investigating
3797         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
3798         and I think the bug also occurs on GNU/Linux but with more-subtle
3799         symptoms.  The bug predates the recent dfa.c changes; perhaps the
3800         recent changes make the bug more likely.
3802 2020-09-13  Bruno Haible  <bruno@clisp.org>
3804         parse-datetime: Make the build rule work with parallel 'make'.
3805         Reported by Daiki Ueno <ueno@gnu.org> in
3806         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
3807         * modules/parse-datetime (Makefile.am): Use a phony target and the
3808         general idiom for rules that produce multiple files.
3810 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
3812         getpass: Check for nonnull prompt argument while avoiding warnings.
3813         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
3814         (getpass) [!_WIN32]: Print prompt only if nonnull.
3816 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3818         dfa: epsilon-closure tweaks (Bug#40634)
3819         Rename BACKWORD to BACKWARD consistently.
3820         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
3821         (addtok_mb): Redo slightly to make it act more like a state machine.
3822         Check depth only when it increases.
3823         (epsclosure): Let the switch test the tokens.
3824         (dfaanalyze): Cache tindex.  Simplify position loops.
3825         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
3826         only if it is not null, since we're testing that anyway.
3827         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
3829 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3831         dfa: use backward set in removal of epsilon closure
3832         When removing in epsilon closure, the code searched all nodes
3833         sequentially, and this was slow for some cases.  Build a backward
3834         set before search, and only check previous position with the set.
3835         Problem reported in <https://bugs.gnu.org/40634>.
3836         * lib/dfa.c (struct dfa): New member 'epsilon'.
3837         (addtok_mb): Check whether a pattern has epsilon node or not.
3838         (epsclosure): New arg BACKWORD; caller changed.  When removing
3839         epsilon node and reconnecting, check only previous positions.
3840         Treat BEG as if it were character.
3841         (dfaanalyze): Build backward set.
3843 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3845         canonicalize: fix pointer indexing bugs
3846         Problem reported by Florian Weimer in:
3847         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
3848         * lib/canonicalize-lgpl.c (__realpath):
3849         * lib/canonicalize.c (canonicalize_filename_mode):
3850         Do not generate a pointer past the end of the array.
3851         * lib/canonicalize.c (canonicalize_filename_mode):
3852         Do not use a pointer after passing it to realloc.
3854 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3856         tempname: help merge with glibc
3857         Inspired by draft patches by Adhemerval Zanella in:
3858         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
3859         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
3860         * lib/tempname.c: Include stdalign.h, time.h.
3861         If _LIBC, do not include random-bits.h.
3862         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
3863         (RANDOM_BITS): Remove, replacing with ...
3864         (random_bits): ... this new static function.  All uses changed.
3865         Add entropy each time if getrandom is not supported.
3866         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
3867         Assume 64-bit support a la C99.
3868         (try_tempname_len): Take advantage of ASLR when initializing
3869         random value.
3870         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
3872         getcwd: merge recent glibc changes
3873         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
3874         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
3876 2020-09-06  Bruno Haible  <bruno@clisp.org>
3878         attribute: Clarify which file to include.
3879         * modules/attribute (Include): Add "attribute.h".
3881 2020-09-06  Bruno Haible  <bruno@clisp.org>
3883         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
3884         * lib/pipe-filter-ii.c: Include <process.h>.
3885         * lib/pipe-filter-gi.c: Likewise.
3887 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3889         verify: avoid __builtin_assume
3890         Our latest attempt to use Clang’s __builtin_assume caused a crash
3891         in GNU Emacs that we spent quite some time tracking down as being
3892         caused by the switch to __builtin_assume.  It’s not known whether
3893         the crash is due is a Clang bug or a portability bug in GNU Emacs.
3894         For now, play it safe and avoid __builtin_assume.
3895         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
3896         (assume): Simplify by not trying to use Clang’s __builtin_assume.
3898 2020-09-05  Bruno Haible  <bruno@clisp.org>
3900         Fix several "warning: no previous prototype for function".
3901         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
3902         in front of the declaration of the lookup function in
3903         unicase/locale-languages.h.
3904         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
3905         unictype/bidi_byname.h.
3906         * modules/unictype/category-byname (Makefile.am): Likewise in
3907         unictype/categ_byname.h.
3908         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
3909         unictype/combiningclass_byname.h.
3910         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
3911         unictype/joininggroup_byname.h.
3912         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
3913         unictype/joiningtype_byname.h.
3914         * modules/unictype/property-byname (Makefile.am): Likewise in
3915         unictype/pr_byname.h.
3916         * modules/unictype/scripts (Makefile.am): Likewise in
3917         unictype/scripts_byname.h.
3918         * modules/uninorm/composition (Makefile.am): Likewise in
3919         uninorm/composition-table.h.
3921 2020-09-05  Bruno Haible  <bruno@clisp.org>
3923         select: Fix "warning: no previous prototype for function".
3924         * lib/select.c: Include <sys/select.h>.
3926 2020-09-05  Bruno Haible  <bruno@clisp.org>
3928         Use module 'c99' when needed for variadic macros with '...' syntax.
3929         * modules/crypto/sm3 (Depends-on): Add c99.
3931 2020-09-05  Bruno Haible  <bruno@clisp.org>
3933         Use module 'c99' when needed for subobject initializer syntax.
3934         * modules/tempname (Depends-on): Add c99.
3935         * modules/nstrftime-tests (Depends-on): Likewise.
3937 2020-09-05  Bruno Haible  <bruno@clisp.org>
3939         Use module 'c99' when needed for declaration-after-statement syntax.
3940         * modules/backup-rename (Depends-on): Add c99.
3941         * modules/backupfile (Depends-on): Likewise.
3942         * modules/bitset-tests (Depends-on): Likewise.
3943         * modules/bitsetv (Depends-on): Likewise.
3944         * modules/c-strtod (Depends-on): Likewise.
3945         * modules/c-strtold (Depends-on): Likewise.
3946         * modules/clean-temp (Depends-on): Likewise.
3947         * modules/copy-file (Depends-on): Likewise.
3948         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
3949         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
3950         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
3951         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
3952         * modules/crypto/md5-buffer (Depends-on): Likewise.
3953         * modules/crypto/md5-tests (Depends-on): Likewise.
3954         * modules/crypto/sha1-buffer (Depends-on): Likewise.
3955         * modules/crypto/sha1-tests (Depends-on): Likewise.
3956         * modules/crypto/sha256-buffer (Depends-on): Likewise.
3957         * modules/crypto/sha256-tests (Depends-on): Likewise.
3958         * modules/crypto/sha512-buffer (Depends-on): Likewise.
3959         * modules/crypto/sha512-tests (Depends-on): Likewise.
3960         * modules/diffseq (Depends-on): Likewise.
3961         * modules/fatal-signal (Depends-on): Likewise.
3962         * modules/fchmodat (Depends-on): Likewise.
3963         * modules/fstrcmp (Depends-on): Likewise.
3964         * modules/fsusage (Depends-on): Likewise.
3965         * modules/fts (Depends-on): Likewise.
3966         * modules/fts-tests (Depends-on): Likewise.
3967         * modules/getumask (Depends-on): Likewise.
3968         * modules/git-merge-changelog (Depends-on): Likewise.
3969         * modules/hash-map (Depends-on): Likewise.
3970         * modules/hash-set (Depends-on): Likewise.
3971         * modules/lchmod (Depends-on): Likewise.
3972         * modules/libgmp-tests (Depends-on): Likewise.
3973         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
3974         * modules/linkedhash-map (Depends-on): Likewise.
3975         * modules/linkedhash-set (Depends-on): Likewise.
3976         * modules/long-options (Depends-on): Likewise.
3977         * modules/mbrtoc32 (Depends-on): Likewise.
3978         * modules/memchr2-tests (Depends-on): Likewise.
3979         * modules/memmem-tests (Depends-on): Likewise.
3980         * modules/memrchr-tests (Depends-on): Likewise.
3981         * modules/mktime-internal (Depends-on): Likewise.
3982         * modules/nstrftime (Depends-on): Likewise.
3983         * modules/opendirat (Depends-on): Likewise.
3984         * modules/parse-datetime (Depends-on): Likewise.
3985         * modules/quotearg-simple-tests (Depends-on): Likewise.
3986         * modules/same (Depends-on): Likewise.
3987         * modules/supersede (Depends-on): Likewise.
3988         * modules/supersede-tests (Depends-on): Likewise.
3989         * modules/time_rz (Depends-on): Likewise.
3990         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
3991         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
3992         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
3993         * modules/xalloc (Depends-on): Likewise.
3994         * modules/xnanosleep (Depends-on): Likewise.
3996 2020-09-05  Bruno Haible  <bruno@clisp.org>
3998         Fix "warning: array initialized from parenthesized string constant".
3999         * tests/test-memmem.c (main): Remove parentheses around string constant.
4000         * tests/test-c-strcasestr.c (main): Likewise.
4001         * tests/test-strcasestr.c (main): Likewise.
4003 2020-09-05  Bruno Haible  <bruno@clisp.org>
4005         argmatch tests: Fix ISO C compliance warning.
4006         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
4007         invocation.
4009 2020-09-05  Bruno Haible  <bruno@clisp.org>
4011         uniname/uniname: Fix -Wshadow warning.
4012         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
4013         * modules/uniname/uniname (Depends-on): Add c99.
4015 2020-09-05  Bruno Haible  <bruno@clisp.org>
4017         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
4018         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
4019         argument to size_t.
4020         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
4021         n to size_t.
4023 2020-09-05  Bruno Haible  <bruno@clisp.org>
4025         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
4026         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
4027         u32_uctomb): Change type of last argument to ptrdiff_t.
4028         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
4029         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
4030         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
4031         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
4032         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
4034 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4036         manywarnings: remove -Wchkp and -Wabi from C++ too
4037         Suggested by Reuben Thomas in:
4038         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
4039         At some point somebody should merge the many other manywarnings-c.m4
4040         changes into manywarnings-c++.m4 too, e.g.,
4041         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
4042         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
4043         Remove -Wchkp, -Wabi.
4045 2020-08-30  Bruno Haible  <bruno@clisp.org>
4047         strerrorname_np: Add tests.
4048         * tests/test-strerrorname_np.c: New file.
4049         * modules/strerrorname_np-tests: New file.
4051         strerrorname_np: New module.
4052         * lib/string.in.h (strerrorname_np): New declaration.
4053         * lib/strerrorname_np.c: New file.
4054         * m4/strerrorname_np.m4: New file.
4055         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
4056         is declared.
4057         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
4058         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4059         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
4060         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
4061         * modules/strerrorname_np: New file.
4062         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
4063         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
4064         the glibc 2.32 bug.
4066 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
4068         perror, strerror_r: remove unportable tests
4069         Problem reported by Florian Weimer in:
4070         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
4071         * tests/test-perror2.c (main):
4072         * tests/test-strerror_r.c (main): Omit unportable tests.
4074 2020-08-26  Bruno Haible  <bruno@clisp.org>
4076         stdint, wchar, wctype-h: Change configure message.
4077         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
4078         enough..." instead of "checking whether wint_t is too small...".
4080 2020-08-26  Bruno Haible  <bruno@clisp.org>
4082         time_rz: Change configure message.
4083         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
4084         near extrema..." instead of "checking whether localtime loops forever
4085         near extrema...".
4087 2020-08-26  Bruno Haible  <bruno@clisp.org>
4089         stdint: Change configure message.
4090         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
4091         without ISO C predefines..." instead of "checking whether stdint.h
4092         predates C++11...".
4094 2020-08-26  Bruno Haible  <bruno@clisp.org>
4096         socketlib: Change configure message.
4097         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
4098         instead of "checking if we need to call WSAStartup in winsock2.h and
4099         -lws2_32...".
4101 2020-08-26  Bruno Haible  <bruno@clisp.org>
4103         include_next: Change configure message.
4104         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
4105         code line length is unlimited..." instead of "checking whether system
4106         header files limit the line length...".
4108 2020-08-26  Bruno Haible  <bruno@clisp.org>
4110         getcwd: Change configure message.
4111         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
4112         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
4113         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
4115 2020-08-26  Bruno Haible  <bruno@clisp.org>
4117         chdir-long: Change configure message.
4118         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
4119         system supports file names of any length..." instead of "checking
4120         whether this system has an arbitrary file name length limit...".
4121         Set gl_cv_have_unlimited_file_name_length instead of
4122         gl_cv_have_arbitrary_file_name_length_limit.
4123         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
4125 2020-08-26  Bruno Haible  <bruno@clisp.org>
4127         ceill: Change configure message.
4128         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
4129         instead of "checking whether ceill() breaks with small values...".
4131 2020-08-26  Bruno Haible  <bruno@clisp.org>
4133         iconv: Change configure message.
4134         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
4135         with its POSIX signature..." instead of "checking for iconv
4136         declaration...". Remove K&R C support.
4138 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
4140         getcwd: help the merge back into glibc
4141         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
4142         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
4143         The idea is to make it easier for Gnulib lib/getcwd.c to match
4144         glibc io/getcwd-generic.c.
4145         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
4146         Include not-cancel.h.
4147         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
4148         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
4149         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
4150         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
4151         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
4152         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
4153         (__getcwd_generic): Rename from __getcwd.
4154         Use the abovementioned macros for consistency with glibc.
4155         (weak_alias): Remove.
4157 2020-08-25  Bruno Haible  <bruno@clisp.org>
4159         verify: Avoid warnings when assume(0) is used.
4160         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
4161         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
4162         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
4163         the constant 0.
4164         * tests/test-verify.c (f): New function.
4165         (state): New type.
4166         (test_assume_expressions, test_assume_optimization,
4167         test_assume_noreturn): New functions.
4169 2020-08-25  Bruno Haible  <bruno@clisp.org>
4171         fstrcmp: Clarification regarding NOTE_ORDERED.
4172         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
4174 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4176         diffseq: new option NOTE_ORDERED
4177         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
4178         * NEWS: Mention this.
4179         * lib/diffseq.h (NOTE_ORDERED): New macro.
4180         (IF_LINT2): Remove; no longer needed.
4181         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
4182         subproblem and iterate to do the larger.
4184 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4186         sys_types: let Autoconf 2.70 do pid_t
4187         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
4188         only for Autoconf versions 2.69 and earlier, since 2.70
4189         will be fixed.
4191 2020-08-23  Bruno Haible  <bruno@clisp.org>
4193         tests: Don't assume that pid_t fits in an 'int'.
4194         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
4195         of 'int'.
4196         * tests/test-nonblocking-socket-main.c (main): Likewise.
4198         sys_types: Fix definition of pid_t on 64-bit MSVC.
4199         * m4/pid_t.m4: New file.
4200         * modules/sys_types (Files): Add it.
4201         * modules/dirent (Files): Likewise.
4202         * modules/fcntl-h (Files): Likewise.
4203         * modules/sched (Files): Likewise.
4204         * modules/signal-h (Files): Likewise.
4205         * modules/spawn (Files): Likewise.
4206         * modules/sys_stat (Files): Likewise.
4207         * modules/sys_wait (Files): Likewise.
4208         * modules/termios (Files): Likewise.
4209         * modules/unistd (Files): Likewise.
4211 2020-08-23  Bruno Haible  <bruno@clisp.org>
4213         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
4214         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
4215         program.
4217 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4219         intprops: be consistent about +X vs X+0
4220         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
4222         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
4223         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
4224         is a bit-field, on older GCC or non-GCC compilers where we do
4225         things ourselves instead of using __builtin_mul_overflow.
4226         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
4227         to applying sizeof to a bit-field.
4228         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
4229         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
4231 2020-08-23  Bruno Haible  <bruno@clisp.org>
4233         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
4234         Reported by Jörg Sonnenberger <joerg@netbsd.org>
4235         via Thomas Klausner <tk@giga.or.at> in
4236         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
4237         * lib/supersede.c (open_supersede): When opening an existing non-regular
4238         file on Solaris, use O_CREAT although it should not be necessary.
4240 2020-08-23  Bruno Haible  <bruno@clisp.org>
4242         verify: Make assume work on bit field expressions (regr. 2020-08-22).
4243         Reported by Benno Schulenberg <bensberg@telfort.nl> in
4244         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
4245         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
4246         variable.
4248 2020-08-23  Bruno Haible  <bruno@clisp.org>
4250         libc-config: Improve comments.
4251         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
4252         cannot use clang's __diagnose_if__ here.
4254 2020-08-22  Bruno Haible  <bruno@clisp.org>
4256         verify: Do use __builtin_assume on clang.
4257         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
4258         variable in a statement expression.
4260 2020-08-22  Bruno Haible  <bruno@clisp.org>
4262         sig2str: Add more signals.
4263         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
4265 2020-08-22  Bruno Haible  <bruno@clisp.org>
4267         doc: Update for OpenBSD 6.0, 6.7.
4268         * doc/*/*.texi: Update.
4269         * m4/printf.m4: Update comments and cross-compilation guesses.
4270         * m4/ceill.m4: Update comments.
4271         * m4/getcwd-abort-bug.m4: Likewise.
4272         * m4/ilogb.m4: Likewise.
4273         * m4/ilogbf.m4: Likewise.
4274         * m4/langinfo_h.m4: Likewise.
4275         * m4/modf.m4: Likewise.
4276         * m4/modff.m4: Likewise.
4278 2020-08-22  Bruno Haible  <bruno@clisp.org>
4280         doc: Mention sig2str module.
4281         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
4283 2020-08-21  Bruno Haible  <bruno@clisp.org>
4285         sigdescr_np: Add tests.
4286         * tests/test-sigdescr_np.c: New file.
4287         * modules/sigdescr_np-tests: New file.
4289         sigdescr_np: New module.
4290         * lib/string.in.h (sigdescr_np): New declaration.
4291         * lib/sigdescr_np.c: New file.
4292         * m4/sigdescr_np.m4: New file.
4293         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
4294         declared.
4295         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
4296         HAVE_SIGDESCR_NP.
4297         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
4298         HAVE_SIGDESCR_NP.
4299         * modules/sigdescr_np: New file.
4300         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
4301         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
4303 2020-08-20  Bruno Haible  <bruno@clisp.org>
4305         sigabbrev_np: Add tests.
4306         * tests/test-sigabbrev_np.c: New file.
4307         * modules/sigabbrev_np-tests: New file.
4309         sigabbrev_np: New module.
4310         * lib/string.in.h (sigabbrev_np): New declaration.
4311         * lib/sigabbrev_np.c: New file.
4312         * m4/sigabbrev_np.m4: New file.
4313         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
4314         declared.
4315         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
4316         HAVE_SIGABBREV_NP.
4317         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
4318         HAVE_SIGABBREV_NP.
4319         * modules/sigabbrev_np: New file.
4320         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
4321         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
4323 2020-08-20  Bruno Haible  <bruno@clisp.org>
4325         stdalign tests: Skip test with AIX xlclang.
4326         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
4328 2020-08-20  Bruno Haible  <bruno@clisp.org>
4330         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
4331         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
4332         workaround as for GCC versions < 4.9.
4334 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4336         Sync up ProjectQuirks comments and documentation
4337         Transform the ProjectQuirks comments into a docstring so that it can
4338         be accessed from python as ProjectQuirks.__doc__ and harmonize
4339         descriptions with the documentation.
4340         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
4341         Transform comments into a docstring.
4342         * doc/vcs-to-changelog.texi: Sync up description with comments.
4344         Split ProjectQuirks out into its own file
4345         ProjectQuirks is used by external quirks files and importing it from
4346         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
4347         is cleaner to put it in its own file anyway.
4348         * build-aux/vcstocl/projectquirks.py: A new file...
4349         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
4350         we move ProjectQuirks and import the file.
4352 2020-08-19  Bruno Haible  <bruno@clisp.org>
4354         uchar: Fix compilation errors in C++ mode on macOS.
4355         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
4356         system header file before attempting to use 'char16_t' and 'char32_t'.
4358 2020-08-19  Bruno Haible  <bruno@clisp.org>
4360         ansi-c++-opt: Work around an autoconf macro reordering problem.
4361         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
4362         section.
4364 2020-08-19  Bruno Haible  <bruno@clisp.org>
4366         math C++ tests: Fix compilation error in with GCC 10.
4367         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
4368         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
4369         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4371 2020-08-19  Bruno Haible  <bruno@clisp.org>
4373         uchar: Fix compilation errors in C++ mode on OpenBSD.
4374         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
4375         CXX_HAS_UCHAR_TYPES is 1.
4376         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
4377         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
4378         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
4380 2020-08-19  Bruno Haible  <bruno@clisp.org>
4382         Fix compilation errors in C++ mode on OpenBSD.
4383         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
4384         OpenBSD with clang, use the approach without C preprocessor macro.
4386 2020-08-18  Bruno Haible  <bruno@clisp.org>
4388         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
4389         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
4390         AC_LANG_POP.
4392 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4394         verify: avoid __built_assume on Clang
4395         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
4396         Clang 9 incorrectly diagnoses arguments as having side effects
4397         even when they do not.  I guess Clang 9 considers any function
4398         call as if it had a side effect here.
4400         libc-config: avoid Clang’s __diagnose_if__
4401         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
4402         For now, do not use __diagnose_if__ here, as this fails
4403         on Fedora 31 with Clang 9.0.1, with diagnostic
4404         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
4405         size than length of destination buffer
4406         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
4407         for functions that are not called?
4409         careadlinkat: speedup for GCC 10 with GCC_LINT
4410         Inspired by a suggestion by Bruno Haible in:
4411         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
4412         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
4413         (readlink_stk): New function, with most of the old careadlinkat
4414         contents and with a new STACK_BUF arg.  Inline it in GCC 10
4415         if GCC_LINT.
4416         (careadlinkat): Use the new function for everything but the
4417         stack buffer.
4419         * build-aux/gcc-warning.spec: Update comments.
4421 2020-08-17  Bruno Haible  <bruno@clisp.org>
4423         Assume autoconf >= 2.64.
4424         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
4426 2020-08-17  Bruno Haible  <bruno@clisp.org>
4428         Revert autoupdate's revert.
4429         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
4431 2020-08-17  Bruno Haible  <bruno@clisp.org>
4433         uchar C++ tests: Fix build error on FreeBSD 12.
4434         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
4435         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
4436         <cuchar> does not exist.
4438 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4440         time_rz: remove unused functions
4441         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
4443         time_rz: fix issues with mktime_z failures
4444         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
4445         Use a cheaper tm_yday test for failed mktime.
4447 2020-08-16  Bruno Haible  <bruno@clisp.org>
4449         intprops test: Strengthen on clang.
4450         * tests/test-intprops.c (VERIFY): Use verify_stmt.
4452 2020-08-16  Bruno Haible  <bruno@clisp.org>
4454         nstrftime: Guide inlining also on clang.
4455         * lib/nstrftime.c (iso_week_days): Inline also on clang.
4457 2020-08-16  Bruno Haible  <bruno@clisp.org>
4459         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
4460         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
4462 2020-08-16  Bruno Haible  <bruno@clisp.org>
4464         log2l: Disable MSVC workaround on clang.
4465         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
4467 2020-08-16  Bruno Haible  <bruno@clisp.org>
4469         argp: Emit a warning also with clang.
4470         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
4471         clang.
4473 2020-08-16  Bruno Haible  <bruno@clisp.org>
4475         libc-config: Enable __REDIRECT macro also on clang.
4476         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
4477         __ASMNAME2): Define on clang like on GCC.
4479 2020-08-16  Bruno Haible  <bruno@clisp.org>
4481         regex: Use initializer shorthand syntax also with clang.
4482         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
4483         with clang.
4485 2020-08-16  Bruno Haible  <bruno@clisp.org>
4487         regex: Use space optimization also with clang.
4488         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
4489         with clang.
4491 2020-08-16  Bruno Haible  <bruno@clisp.org>
4493         Use _Static_assert and static_assert primitives when present on clang.
4494         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
4495         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
4496         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
4498 2020-08-16  Bruno Haible  <bruno@clisp.org>
4500         Use 'throw ()' for optimization in C++ mode also on clang.
4501         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
4502         * lib/getopt-cdefs.in.h (__THROW): Likewise.
4503         * lib/md5.h (__THROW): Likewise.
4505 2020-08-16  Bruno Haible  <bruno@clisp.org>
4507         absolute-header: Add support for clang.
4508         * modules/absolute-header (Makefile.am): Include '__clang__' in the
4509         HAVE_INCLUDE_NEXT expression.
4511 2020-08-16  Bruno Haible  <bruno@clisp.org>
4513         Fix "warning: implicitly declaring library function 'strcasecmp'".
4514         * lib/argp-help.c: Include <strings.h>.
4516 2020-08-16  Bruno Haible  <bruno@clisp.org>
4518         stdio: Don't break attribute 'scanf' on clang.
4519         * lib/stdio.in.h (scanf): Treat clang like GCC.
4521 2020-08-16  Bruno Haible  <bruno@clisp.org>
4523         Use __restrict also on clang.
4524         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
4525         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
4526         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
4528 2020-08-16  Bruno Haible  <bruno@clisp.org>
4530         pthread-spin: Use GCC built-ins also on clang.
4531         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4532         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
4533         also on clang.
4535 2020-08-16  Bruno Haible  <bruno@clisp.org>
4537         asyncsafe-spin tests: Update.
4538         * tests/test-asyncsafe-spin2.c: Update to match the change in
4539         lib/asyncsafe-spin.c from 2020-08-11.
4541 2020-08-16  Bruno Haible  <bruno@clisp.org>
4543         setenv: Use tree code also with clang.
4544         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
4546 2020-08-16  Bruno Haible  <bruno@clisp.org>
4548         math: Optimize signbit also on clang.
4549         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
4550         on clang.
4552 2020-08-16  Bruno Haible  <bruno@clisp.org>
4554         avltreehash-list, rbtreehash-list: Optimize also on clang.
4555         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
4556         __builtin_expect also on clang.
4558 2020-08-16  Bruno Haible  <bruno@clisp.org>
4560         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
4561         * lib/socket.c: Use WSASocketW, not WSASocketA.
4563         Fix "warning: format specifies type 'unsigned long'".
4564         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
4565         argument to match the format directive.
4567         Fix "warning: no case matching constant switch condition '0'".
4568         * tests/test-fcntl.c (check_flags): Add a 'default' case.
4570         Fix "warning: integer overflow in expression".
4571         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
4572         remove a 'long' overflow.
4574         Fix "warning: "getpagesize" redefined".
4575         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
4576         macro.
4578         Fix "warning: implicitly declaring library function 'strncasecmp'".
4579         * lib/strptime.c: Include <strings.h>.
4581         Fix "warning: 'snprintf' macro redefined".
4582         * lib/strerror_r.c (snprintf): Undefine before redefining.
4584         Fix "warning: address of array 'locale' will always evaluate to 'true'".
4585         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
4587         Fix "warning: '__stat64' macro redefined".
4588         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
4590         Fix "warning: 'format' attribute argument not supported: rpl_printf".
4591         * lib/stdio.in.h (printf): Treat clang like GCC.
4593         Fix "warning: attribute declaration must precede definition" with clang.
4594         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
4595         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
4596         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
4597         on non-glibc systems.
4598         * lib/netdb.in.h (gai_strerror): Likewise.
4599         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
4600         * lib/sys_stat.in.h (fstat): Likewise.
4601         * lib/utime.in.h (utime): Likewise.
4603         Fix undesired warnings.
4604         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
4605         clang.
4607 2020-08-16  Bruno Haible  <bruno@clisp.org>
4609         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
4610         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
4611         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
4612         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
4613         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
4615 2020-08-16  Bruno Haible  <bruno@clisp.org>
4617         Don't use Autoconf quadrigraphs.
4618         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
4619         Autoconf quadrigraph.
4620         * m4/free.m4 (gl_FUNC_FREE): Likewise.
4621         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
4622         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
4623         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
4624         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
4625         * m4/math_h.m4 (gl_MATH_H): Likewise.
4626         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4628 2020-08-16  Bruno Haible  <bruno@clisp.org>
4630         Fix quoting of AC_LANG_PROGRAM arguments.
4631         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
4632         arguments through [[...]].
4633         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
4634         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
4635         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
4636         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
4637         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
4638         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4639         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
4640         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4641         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
4642         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4643         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4644         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
4645         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4647 2020-08-16  Bruno Haible  <bruno@clisp.org>
4649         Assume autoconf >= 2.64.
4650         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
4651         * DEPENDENCIES: Require Autoconf 2.64 or newer.
4652         * NEWS: Mention the changed requirement.
4653         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
4654         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
4655         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
4656         variables.
4657         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4658         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4659         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4660         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
4661         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
4662         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
4663         Likewise.
4664         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
4665         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
4666         * m4/configmake.m4: Update comment.
4668 2020-08-16  Bruno Haible  <bruno@clisp.org>
4670         sys_ioctl: Simplify.
4671         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
4672         AC_INCLUDES_DEFAULT.
4674 2020-08-16  Bruno Haible  <bruno@clisp.org>
4676         Fix quoting of AC_LANG_SOURCE arguments.
4677         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
4678         GL_NOCRASH expansion.
4679         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
4680         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4681         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4682         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4683         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4685 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4687         nstrftime: be more predictable about errno
4688         This aligns nstrftime better with draft POSIX 202x strftime.
4689         * lib/nstrftime.c: Include errno.h.
4690         (width_add, __strftime_internal): Set errno on failure,
4691         and preserve it on success.  Check for mktime_z failure.
4692         * modules/nstrftime (Depends-on): Add errno.
4693         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
4694         * tests/test-nstrftime.c: Include intprops.h, limits.h.
4695         (errno_test): New test function.
4696         (main): Call it.
4698 2020-08-15  Bruno Haible  <bruno@clisp.org>
4700         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
4701         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
4702         from dependency analysis first.
4704 2020-08-15  Bruno Haible  <bruno@clisp.org>
4706         Determine asm output option and filename suffix for MSVC/clang.
4707         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
4708         clang-cl.
4710 2020-08-15  Bruno Haible  <bruno@clisp.org>
4712         doc: Update for MSVC/clang.
4713         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
4714         that MSVC 14 does not have.
4716 2020-08-15  Bruno Haible  <bruno@clisp.org>
4718         Revert autoupdate's revert.
4719         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
4721 2020-08-15  Bruno Haible  <bruno@clisp.org>
4723         frexpl: Fix configuration test result on MSVC.
4724         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
4725         zero.
4727 2020-08-15  Bruno Haible  <bruno@clisp.org>
4729         Support compiling without -loldnames on native Windows.
4730         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
4731         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
4732         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
4733         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
4734         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
4735         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
4736         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
4737         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
4738         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
4739         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
4740         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
4741         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
4742         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
4743         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
4744         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
4745         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
4746         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4747         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4748         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
4749         Likewise.
4750         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
4751         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4752         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
4753         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
4754         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
4755         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
4756         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
4757         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
4758         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
4759         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
4760         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
4761         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
4762         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
4763         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
4764         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
4765         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
4766         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4767         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4768         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
4769         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4770         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
4771         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
4772         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
4773         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4774         * m4/utimens.m4 (gl_UTIMENS): Likewise.
4775         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4776         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
4777         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
4778         test for getcwd.
4779         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
4780         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
4781         with GL_MDA_DEFINES.
4782         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
4783         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
4784         prefixed symbol.
4785         * lib/search.in.h (lfind, lsearch): Likewise.
4786         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
4787         Likewise.
4788         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
4789         * lib/string.in.h (memccpy, strdup): Likewise.
4790         * lib/sys_stat.in.h (chmod, umask): Likewise.
4791         * lib/time.in.h (tzset): Likewise.
4792         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
4793         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
4794         read, rmdir, swab, unlink, write): Likewise.
4795         * lib/utime.in.h (utime): Likewise.
4796         * lib/wchar.in.h (wcsdup): Likewise.
4797         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
4798         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
4799         rpl_-prefixed macro.
4800         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
4801         * lib/close.c (close_nothrow): On native Windows, use _close.
4802         * lib/creat.c (orig_creat): On native Windows, use _creat.
4803         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
4804         * lib/dup2.c (dup2_nothrow): Use _dup2.
4805         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
4806         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
4807         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
4808         * lib/open.c (orig_open): On native Windows, use _open.
4809         * lib/read.c (read_nothrow): Use _read.
4810         * lib/rmdir.c: On native Windows, use _rmdir.
4811         * lib/unlink.c: On native Windows, use _unlink.
4812         * lib/write.c (write_nothrow): Use _write.
4813         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
4814         undefined symbol.
4815         * lib/sys_socket.in.h (close): Likewise.
4816         * lib/sys_time.in.h (close): Likewise.
4817         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
4819 2020-08-15  Bruno Haible  <bruno@clisp.org>
4821         Fix "unknown pragma ignored" warnings with clang on native Windows.
4822         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
4823         * lib/cbrtf.c: Likewise.
4824         * lib/ceil.c: Likewise.
4825         * lib/floor.c: Likewise.
4826         * lib/fma.c: Likewise.
4827         * lib/fmod.c: Likewise.
4828         * lib/rint.c: Likewise.
4829         * lib/round.c: Likewise.
4830         * lib/trunc.c: Likewise.
4831         * tests/test-ceil2.c: Likewise.
4832         * tests/test-ceilf2.c: Likewise.
4833         * tests/test-floor2.c: Likewise.
4834         * tests/test-floorf2.c: Likewise.
4835         * tests/test-trunc2.c: Likewise.
4836         * tests/test-truncf2.c: Likewise.
4837         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4838         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4840 2020-08-15  Bruno Haible  <bruno@clisp.org>
4842         Fix compilation errors in C++ mode with clang on native Windows.
4843         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
4844         non-glibc systems.
4845         * lib/sched.in.h (sched_yield): Likewise.
4847 2020-08-14  Bruno Haible  <bruno@clisp.org>
4849         stdnoreturn: Work around problem with MSVC/clang.
4850         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
4851         system header after <stdnoreturn.h>.
4852         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
4854 2020-08-14  Bruno Haible  <bruno@clisp.org>
4856         utime-h: Generate an utime.h file always.
4857         * modules/utime-h (Makefile.am): Generate utime.h always.
4858         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
4859         GL_GENERATE_UTIME_H.
4861 2020-08-14  Bruno Haible  <bruno@clisp.org>
4863         mktime, mktime-internal: Remove obsolete code.
4864         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
4866 2020-08-14  Bruno Haible  <bruno@clisp.org>
4868         getcwd: Remove obsolete code.
4869         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
4870         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4872 2020-08-14  Bruno Haible  <bruno@clisp.org>
4874         tzset: Assume the function exists.
4875         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
4876         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
4877         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
4878         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
4879         HAVE_TZSET.
4880         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
4881         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
4883         nstrftime: Assume tzset exists.
4884         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
4885         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
4886         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
4888         mktime, mktime-internal: Assume tzset exists.
4889         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
4890         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
4892 2020-08-14  Bruno Haible  <bruno@clisp.org>
4894         strdup: Assume the function exists.
4895         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
4896         whether strdup exists.
4897         * modules/strdup (Files): Remove lib/strdup.c.
4898         (configure.ac): Don't compile strdup.c.
4899         * modules/strdup-posix (Depends-on, configure.ac): Don't test
4900         ac_cv_func_strdup.
4901         * doc/posix-functions/strdup.texi: Update.
4902         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
4903         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
4904         (Depends-on): Remove unistr/u8-strlen.
4906 2020-08-13  Bruno Haible  <bruno@clisp.org>
4908         sys_random: Work around an uClibc bug.
4909         Reported by akater <nuclearspace@gmail.com>
4910         via Stefan Kangas <stefan@marxist.se>
4911         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
4912         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
4913         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
4914         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
4915         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
4917 2020-08-12  Bruno Haible  <bruno@clisp.org>
4919         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
4920         Reported by Florian Weimer in
4921         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
4922         * lib/gen-uni-tables.c (output_predicate): Change the element type of
4923         the level3 array to 'unsigned int'.
4924         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
4925         * lib/unictype/categ_*.h: Regenerated.
4926         * lib/unictype/ctype_*.h: Regenerated.
4927         * lib/unictype/pr_*.h: Regenerated.
4928         * lib/unictype/sy_*.h: Regenerated.
4929         * lib/unicase/cased.h: Regenerated.
4930         * lib/unicase/ignorable.h: Regenerated.
4932 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4934         stdint: port intptr_t to more-recent MinGW
4935         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
4936         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
4937         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
4938         Apparently those two macros were removed in mingwrt-3.22
4939         dated 2016-07-14.
4941 2020-08-12  Bruno Haible  <bruno@clisp.org>
4943         thread-optim: Export function-like macros only.
4944         Suggested by Paul Eggert.
4945         * lib/thread-optim.h (gl_multithreaded): New macro.
4946         (IF_MT_DECL, IF_MT): Remove macros.
4947         * doc/multithread.texi (Multithreading Optimizations): Add a small
4948         example.
4949         * lib/fatal-signal.c: Update all uses.
4950         * lib/clean-temp.c: Likewise.
4951         * lib/localename.c: Likewise.
4952         * modules/localename (Depends-on): Add stdbool.
4954 2020-08-12  Bruno Haible  <bruno@clisp.org>
4956         Revert autoupdate's revert.
4957         * config/srclist.txt: Mark regex.h as needing sync with glibc.
4959 2020-08-11  Bruno Haible  <bruno@clisp.org>
4961         thread-optim: Fix a compiler warning.
4962         * lib/thread-optim.h (IF_MT_DECL): Define differently.
4964 2020-08-11  Bruno Haible  <bruno@clisp.org>
4966         Use __restrict also on clang.
4967         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
4968         (__restrict_arr): On clang, define like on GCC.
4969         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
4970         (_Restrict_arr_): Use _Restrict_ also on clang.
4971         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
4972         (_Restrict_arr_): Use _Restrict_ also on clang.
4974 2020-08-11  Bruno Haible  <bruno@clisp.org>
4976         Use flexible array syntax also on clang.
4977         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
4978         define like for GCC 3.
4980 2020-08-11  Bruno Haible  <bruno@clisp.org>
4982         fcntl: On native Windows, use _setmode, not setmode.
4983         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
4984         * lib/binary-io.h: Update comment.
4985         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
4986         * tests/test-dup2.c: Likewise.
4987         * tests/test-dup-safer.c: Likewise.
4988         * tests/test-fcntl.c: Likewise.
4990 2020-08-11  Bruno Haible  <bruno@clisp.org>
4992         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
4993         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
4994         * lib/spawn-pipe.c (create_pipe): Likewise.
4995         * tests/test-nonblocking-pipe-main.c (main): Likewise.
4996         * tests/test-nonblocking-socket-main.c (main): Likewise.
4997         * lib/wait-process.c: Update comment.
4998         * doc/posix-functions/fork.texi: Update.
5000 2020-08-11  Bruno Haible  <bruno@clisp.org>
5002         asyncsafe-spin: Use GCC built-ins also on clang.
5003         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
5004         the newer GCC built-ins also on clang.
5006 2020-08-11  Bruno Haible  <bruno@clisp.org>
5008         Use expression statements also on clang.
5009         * lib/cdefs.h (__extension__): Don't define to empty on clang.
5010         * lib/obstack.h (__extension__): Likewise.
5011         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
5012         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
5013         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
5014         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
5015         obstack_finish, obstack_free): Enable as optimized macros also on clang.
5016         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
5018 2020-08-10  Bruno Haible  <bruno@clisp.org>
5020         Use many __attribute__s with clang.
5021         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
5022         on clang.
5023         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
5024         New macros.
5025         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
5026         on clang.
5027         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
5028         also on older clang versions.
5029         (__attribute__): Don't define to empty on clang.
5030         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
5031         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
5032         (__attribute_const__): Use __attribute__ __const__ also on clang.
5033         (__attribute_used__): Use __attribute__ __used__ also on clang.
5034         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
5035         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
5036         clang.
5037         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
5038         clang.
5039         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
5040         also on clang.
5041         (__nonnull): Use __attribute__ __nonnull__ also on clang.
5042         (__attribute_warn_unused_result__): Use __attribute__
5043         __warn_unused_result__ also on clang.
5044         (__always_inline): Use __attribute__ __always_inline__ also on clang.
5045         (__attribute_artificial__): Use __attribute__ __artificial__ also on
5046         clang >= 7.
5047         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
5048         clang versions.
5049         (_Noreturn): Don't redefine on clang >= 3.5.
5050         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
5051         also on clang.
5052         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
5053         on clang.
5054         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5055         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5056         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
5057         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
5058         also on clang.
5059         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
5060         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
5061         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
5062         also on clang.
5063         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
5064         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
5065         __attribute__ __noreturn__ also on clang.
5066         * lib/obstack.h (__attribute_noreturn__): Likewise.
5067         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
5068         clang.
5069         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
5070         always_inline also on clang.
5071         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
5072         clang.
5074 2020-08-10  Bruno Haible  <bruno@clisp.org>
5076         c-ldtoastr tests: Fix test failure.
5077         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
5078         is longer than 'double'.
5080 2020-08-10  Bruno Haible  <bruno@clisp.org>
5082         Revert autoupdate's revert.
5083         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
5085 2020-08-09  Bruno Haible  <bruno@clisp.org>
5087         string: Fix build error in C++ mode with clang (regression from today).
5088         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
5089         parameters, one for GCC, one for clang.
5090         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
5091         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
5092         as return type.
5094 2020-08-09  Bruno Haible  <bruno@clisp.org>
5096         ftruncate: Use _chsize, not chsize.
5097         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
5098         * lib/ftruncate.c: Test HAVE__CHSIZE.
5099         (chsize_nothrow): Use _chsize, not chsize.
5101 2020-08-09  Bruno Haible  <bruno@clisp.org>
5103         Silence warnings from clang 10 with -Wimplicit-fallthrough.
5104         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
5105         clang >= 10.
5106         * lib/fnmatch.c (FALLTHROUGH): Likewise.
5107         * lib/fts.c (FALLTHROUGH): Likewise.
5108         * tests/macros.h (FALLTHROUGH): Likewise.
5109         * lib/regex_internal.h (FALLTHROUGH): Likewise.
5110         * config/srclist.txt: Mark it as needing sync with glibc.
5112 2020-08-09  Bruno Haible  <bruno@clisp.org>
5114         stdbool tests: Enable the stricter tests also on clang.
5115         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
5116         (e): Enable the address-to-bool conversion test also on clang.
5118 2020-08-09  Bruno Haible  <bruno@clisp.org>
5120         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
5121         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
5123 2020-08-09  Bruno Haible  <bruno@clisp.org>
5125         Use attribute __aligned__ with clang.
5126         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
5127         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
5129 2020-08-09  Bruno Haible  <bruno@clisp.org>
5131         Use __alignof__ with clang.
5132         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
5133         on clang.
5134         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
5135         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
5136         clang.
5137         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
5138         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
5139         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
5140         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
5142 2020-08-09  Bruno Haible  <bruno@clisp.org>
5144         ignore-value: Simplify on clang.
5145         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
5146         workaround.
5148 2020-08-09  Bruno Haible  <bruno@clisp.org>
5150         Use __typeof__ with clang.
5151         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
5152         "clang -std=gnu99".
5153         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
5154         * tests/test-stdint.c (verify_same_types): Enable the check also on
5155         clang.
5157 2020-08-09  Bruno Haible  <bruno@clisp.org>
5159         Add ability to emit user-defined warnings and errors with clang.
5160         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
5161         _GL_ATTRIBUTE_WARNING using an attribute for clang.
5162         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
5163         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
5164         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
5165         attribute for clang.
5167 2020-08-09  Bruno Haible  <bruno@clisp.org>
5169         intprops: Fix typo in comment.
5170         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
5172 2020-08-09  Bruno Haible  <bruno@clisp.org>
5174         Use __builtin_signbit* with clang.
5175         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
5176         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
5177         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5178         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
5179         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5180         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
5181         not REPLACE_SIGNBIT_USING_GCC.
5183 2020-08-09  Bruno Haible  <bruno@clisp.org>
5185         Use __builtin_isnan with clang.
5186         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5187         not __builtin_isnanf. Also on clang.
5188         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
5189         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
5190         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
5191         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
5192         built-in.
5193         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5194         not __builtin_isnanl. Also on clang.
5195         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
5196         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
5197         * lib/math.in.h (__has_builtin): Remove macro.
5198         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
5199         __builtin_isnanf. Also on clang.
5200         (isnand, gl_isnan_d): With clang, use the GCC built-in.
5201         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
5202         __builtin_isnanl. Also on clang.
5203         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
5204         on clang.
5206 2020-08-09  Bruno Haible  <bruno@clisp.org>
5208         thread-optim: Fix logic error.
5209         Reported by Paul Eggert.
5210         * lib/thread-optim.h (IF_MT): Fix logic error.
5212 2020-08-08  Bruno Haible  <bruno@clisp.org>
5214         localename: Use module 'thread-optim'.
5215         * lib/localename.c: Include thread-optim.h.
5216         (struniq): Use IF_MT macro.
5217         * modules/localename (Depends-on): Add thread-optim.
5219         clean-temp: Use module 'thread-optim'.
5220         * lib/clean-temp.c: Include thread-optim.h.
5221         (register_temporary_file, unregister_temporary_file, create_temp_dir,
5222         register_temp_file, unregister_temp_file, register_temp_subdir,
5223         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
5224         close_temp, fclose_variant_temp): Use IF_MT macro.
5225         * modules/clean-temp (Depends-on): Add thread-optim.
5227         fatal-signal: Use module 'thread-optim'.
5228         * lib/fatal-signal.c: Include thread-optim.h.
5229         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
5230         macro.
5231         * modules/fatal-signal (Depends-on): Add thread-optim.
5233 2020-08-08  Bruno Haible  <bruno@clisp.org>
5235         New module 'thread-optim'.
5236         * lib/thread-optim.h: New file.
5237         * modules/thread-optim: New file.
5238         * doc/multithread.texi (Multithreading Optimizations): New section.
5240 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
5242         doc: more updates for glibc 2.32
5243         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
5244         * doc/posix-functions/fchmodat.texi: Update.
5246 2020-08-07  Bruno Haible  <bruno@clisp.org>
5248         doc: Update for glibc 2.32.
5249         * doc/glibc-functions/__libc_single_threaded.texi: New file.
5250         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
5251         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
5252         * doc/glibc-functions/sigabbrev_np.texi: New file.
5253         * doc/glibc-functions/sigdescr_np.texi: New file.
5254         * doc/glibc-functions/strerrordesc_np.texi: New file.
5255         * doc/glibc-functions/strerrorname_np.texi: New file.
5256         * doc/gnulib.texi: Include them.
5257         (Glibc sys/single_threaded.h): New section.
5258         * doc/pastposix-functions/h_errno.texi: Update.
5259         * doc/posix-functions/*.texi: Likewise.
5260         * doc/glibc-functions/*.texi: Likewise.
5262 2020-08-07  Bruno Haible  <bruno@clisp.org>
5264         alloca: No need to compile alloca.c with clang.
5265         * lib/alloca.c: Skip all code with clang.
5267         Use __builtin_alloca with clang.
5268         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
5270 2020-08-06  Bruno Haible  <bruno@clisp.org>
5272         Use __builtin_assume with clang.
5273         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
5274         (assume): Use __builtin_assume when available.
5276 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5278         libgmp: add <gmp/gmp.h> support
5279         * m4/libgmp.m4 (gl_LIBGMP):
5280         * modules/libgmp (configure.ac, Makefile.am):
5281         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
5282         ‘#include <gmp.h>’.
5284 2020-08-06  Bruno Haible  <bruno@clisp.org>
5286         Consider that clang defines __OPTIMIZE__ like GCC does.
5287         * lib/streq.h: Define the inline functions also on clang.
5288         * lib/c-strcaseeq.h: Likewise.
5289         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
5290         the GCC workaround to clang.
5292 2020-08-06  Bruno Haible  <bruno@clisp.org>
5294         safe-alloc: Remove unused code.
5295         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
5297 2020-08-06  Bruno Haible  <bruno@clisp.org>
5299         Use __builtin_expect with clang everywhere.
5300         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
5301         also on clang.
5303 2020-08-05  Bruno Haible  <bruno@clisp.org>
5305         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
5306         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
5307         built-in also on clang.
5308         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
5309         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
5311 2020-08-05  Bruno Haible  <bruno@clisp.org>
5313         Use __builtin_clz{,l,ll} with clang, also on Windows.
5314         * lib/integer_length.c: With clang, use the GCC built-in, not
5315         <intrin.h>.
5316         * lib/integer_length_l.c: Likewise.
5317         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
5318         also on clang.
5319         * lib/vasnprintf.c (divide): Likewise.
5321 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5323         Update srclist.txt as per recent glibc changes
5324         * config/srclist.txt: Uncomment lines to reflect recent merges
5325         from Gnulib to glibc.
5327 2020-08-03  Bruno Haible  <bruno@clisp.org>
5329         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5330         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
5332 2020-08-03  Bruno Haible  <bruno@clisp.org>
5334         integer_length_ll: Optimize for MSVC in 64-bit mode.
5335         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5336         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5338 2020-08-03  Bruno Haible  <bruno@clisp.org>
5340         integer_length_ll: Optimize for MSVC in 32-bit mode.
5341         * lib/integer_length_l.c: Include <intrin.h>.
5342         (integer_length): Define as inline function, like in
5343         lib/integer_length.c.
5345 2020-08-03  Bruno Haible  <bruno@clisp.org>
5347         integer_length: Optimize for MSVC.
5348         * lib/integer_length.c: Include <intrin.h>.
5349         (integer_length): With MSVC, use the _BitScanReverse built-in.
5351 2020-08-03  Bruno Haible  <bruno@clisp.org>
5353         ffsll: Optimize for MSVC in 64-bit mode.
5354         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5355         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5356         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
5358 2020-08-03  Bruno Haible  <bruno@clisp.org>
5360         ffsll: Optimize for MSVC in 32-bit mode.
5361         * lib/ffsl.h: Include <intrin.h>.
5362         (ffs): Define as inline function, like in lib/ffs.c.
5364 2020-08-03  Bruno Haible  <bruno@clisp.org>
5366         ffs: Optimize for MSVC.
5367         * lib/ffs.c: Include <intrin.h>.
5368         (ffs): With MSVC, use the _BitScanForward built-in.
5370 2020-08-03  Bruno Haible  <bruno@clisp.org>
5372         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
5373         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
5374         variable.
5376 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
5378         fopen: Avoid undesired interactions with glibc headers.
5379         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
5380         __need_FILE, as the latter does not work with glibc.
5382 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5384         fcntl: document some F_SETLK errno variations
5385         * doc/posix-functions/fcntl.texi (fcntl): Document
5386         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
5388 2020-08-02  Bruno Haible  <bruno@clisp.org>
5390         oset: Add an 'iterator_atleast' operation.
5391         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
5392         extracted from gl_array_search_atleast.
5393         (gl_array_search_atleast): Use it.
5394         (gl_array_iterator_atleast): New function.
5395         (gl_array_oset_implementation): Use it.
5396         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
5397         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
5398         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
5399         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
5400         member.
5401         (gl_oset_iterator_atleast): New function.
5402         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
5403         (gl_OSet::iterator): Add another auxiliary constructor.
5404         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
5405         New functions.
5406         (main): Test also gl_oset_iterator_atleast.
5407         * tests/test-avltree_oset.c (is_at_least): New function.
5408         (main): Test also gl_oset_iterator_atleast.
5409         * tests/test-rbtree_oset.c (is_at_least): New function.
5410         (main): Test also gl_oset_iterator_atleast.
5411         * tests/test-oset-c++.cc (is_at_most): New function.
5412         (main): Test also gl_OSet::begin_atleast.
5414 2020-08-02  Bruno Haible  <bruno@clisp.org>
5416         oset-c++, omap-c++: Remove restriction for search_atleast method.
5417         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
5418         a different type than the element.
5419         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
5420         a different type than the key.
5422 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5424         gnumakefile: say ‘$(MAKE)’ not ‘make’
5425         * top/GNUmakefile (abort-due-to-no-makefile):
5426         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
5427         This change is backported from Autoconf.
5429 2020-08-01  Bruno Haible  <bruno@clisp.org>
5431         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5432         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
5433         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5434         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
5435         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
5436         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
5438 2020-08-01  Bruno Haible  <bruno@clisp.org>
5440         libtextstyle-optional: Update tests.
5441         * modules/libtextstyle-optional-tests (configure.ac): Invoke
5442         gl_LIBTEXTSTYLE_OPTIONAL.
5444 2020-08-01  Bruno Haible  <bruno@clisp.org>
5446         parse-datetime: Fix wrong #line statements.
5447         * modules/parse-datetime (Makefile.am): Correct #line statements also in
5448         parse-datetime-gen.h.
5450 2020-08-01  Bruno Haible  <bruno@clisp.org>
5452         libtextstyle[-optional]: Allow requesting a minimum version.
5453         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
5454         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
5455         gl_LIBTEXTSTYLE_SEARCH): New macros.
5456         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
5457         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
5458         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
5459         * modules/libtextstyle-optional (configure.ac): Don't invoke
5460         gl_LIBTEXTSTYLE_OPTIONAL.
5461         * NEWS: Mention the changes.
5463 2020-07-31  Bruno Haible  <bruno@clisp.org>
5465         _GL_CMP: Improve documentation.
5466         Reported by Paul Eggert in
5467         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
5468         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
5469         passed.
5471 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5473         largefile: sync with Autoconf master
5474         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
5475         Avoid undefined behavior on platforms where off_t is 32 bits.
5476         See: https://bugs.debian.org/742780
5478         alloca: sync with Autoconf master
5479         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5480         Do not define if Autoconf 2.70 or later, since Autoconf master
5481         now matches us.
5483 2020-07-30  Bruno Haible  <bruno@clisp.org>
5485         unicodeio: Add comment.
5486         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
5487         different iconv behaviours.
5489 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5491         Work around some Oracle Studio attribute bugs
5492         These were discovered when building bleeding-edge Emacs with
5493         Oracle Studio.
5494         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
5495         Port to Oracle Studio 12.6, which mishandles __attribute__
5496         ((__cold__)) and __attribute__ ((__may_alias__)) even though
5497         __has_attribute says they work.
5499 2020-07-29  Bruno Haible  <bruno@clisp.org>
5501         unicodeio: Fix wrong result on musl libc.
5502         Reported by A. Wilcox <awilfox@adelielinux.org> in
5503         <https://www.openwall.com/lists/musl/2020/07/29/2>.
5504         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
5505         on musl libc.
5506         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
5507         * modules/unicodeio (Files): Add m4/musl.m4.
5509 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
5511         fsusage, regex, stat-size: remove Cray support
5512         As near as I can make out this is actually support for UNICOS/mp,
5513         last released 2005, and Cray hasn’t supported that for years.
5514         * config/srclist.txt: Comment out regex.h for now.
5515         * lib/fsusage.c (get_fs_usage):
5516         * lib/regex.h (re_comp, re_exec):
5517         * lib/stat-size.h (ST_NBLOCKSIZE):
5518         Don’t worry about _CRAY.
5520 2020-07-29  Bruno Haible  <bruno@clisp.org>
5522         parse-datetime: Fix compilation error with bison 3.7.
5523         * modules/parse-datetime (Makefile.am): Create a generated header file
5524         parse-datetime-gen.h in the source directory. Correct #include and
5525         #line statements during preprocessing.
5527 2020-07-28  Bruno Haible  <bruno@clisp.org>
5529         fopen-gnu: Create files correctly (regression from 2020-05-24).
5530         * lib/fopen.c (rpl_open): Pass a third argument to open().
5532 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5534         xalloc-die: don’t depend on xalloc
5535         This removes a circular dependency, as xalloc depends on xalloc-die.
5536         * modules/xalloc-die (Files): Add lib/xalloc.h.
5537         (Depends-on): Remove xalloc.
5538         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
5540         dfa-tests: port to MSVC
5541         Problem reported by Gisle Vanem in:
5542         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
5543         Also, remove an unnecessary dependency on getprogname.
5544         * modules/dfa-tests (Depends-on): Remove getprogname.
5545         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
5546         (exit_status): New static var.
5547         (dfawarn): Set it instead of exiting.
5548         Do not declare as _Noreturn, to pacify MSVC.
5549         (main): Return exit_status.
5551 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5553         argz: pacify MSVC
5554         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
5555         Problem reported by Gisle Vanem.
5557         libgmp: remove dependency on havelib
5558         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
5559         use the more-traditional AC_SEARCH_LIBS approach.
5560         This should work better with GNU Emacs configuration,
5561         which uses pkg-config instead of a havelib-style approach.
5562         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
5563         * modules/libgmp (Depends-on): Remove havelib.
5565         libgmp: remove HAVE_GMP, LIB_GMP
5566         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
5567         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
5569 2020-07-26  Bruno Haible  <bruno@clisp.org>
5571         inttypes: Remove support for AIX 4.
5572         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
5573         * m4/inttypes-pri.m4: Remove file.
5574         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
5575         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
5576         * modules/inttypes-incomplete (Makefile.am): Don't substitute
5577         PRI_MACROS_BROKEN.
5578         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
5580 2020-07-26  Bruno Haible  <bruno@clisp.org>
5582         gettimeofday: Remove workaround for Mac OS X 10.0.
5583         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
5584         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
5585         * lib/gettimeofday.c: Don't include localtime-buffer.h.
5586         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5587         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5588         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
5589         * modules/localtime-buffer: Remove file.
5590         * lib/localtime-buffer.h: Remove file.
5591         * lib/localtime-buffer.c: Remove file.
5592         * m4/localtime-buffer.m4: Remove file.
5593         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
5595 2020-07-26  Bruno Haible  <bruno@clisp.org>
5597         tzset: Remove workaround for Solaris 2.6.
5598         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
5599         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
5600         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
5601         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
5602         * lib/localtime-buffer.c: Likewise.
5603         * lib/localtime.c: Likewise.
5604         * lib/tzset.c: Don't include localtime-buffer.h.
5605         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
5606         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
5607         is 1.
5608         * modules/tzset (Depends-on): Remove localtime-buffer.
5610 2020-07-26  Bruno Haible  <bruno@clisp.org>
5612         expl: Simplify autoconf test.
5613         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
5614         with small values..." test into the "checking whether expl works..."
5615         test.
5617 2020-07-26  Bruno Haible  <bruno@clisp.org>
5619         alloca: Remove Cray-2 and Cray Y-MP support.
5620         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
5621         Enable also on Autoconf >= 2.69.
5622         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
5623         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
5624         i00afunc): Remove.
5626 2020-07-25  Bruno Haible  <bruno@clisp.org>
5628         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
5629         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
5631 2020-07-25  Bruno Haible  <bruno@clisp.org>
5633         sigprocmask: Small autoconf macro improvement.
5634         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
5635         user to override the value of gl_cv_func_sigprocmask.
5636         * m4/gnulib-common.m4 (gl_SILENT): New macro.
5638 2020-07-25  Bruno Haible  <bruno@clisp.org>
5640         Small autoconf macro improvements.
5641         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
5642         override the value of gl_cv_func_working_mktime.
5643         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
5644         compiler produces multi-arch binaries..." in the configure output.
5645         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
5646         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
5648 2020-07-25  Bruno Haible  <bruno@clisp.org>
5650         doc: Update for NetBSD 7.1, 8.0, 9.0.
5651         * doc/*/*.texi: Update.
5652         * m4/exp2l.m4: Update comments.
5653         * m4/expl.m4: Likewise.
5654         * m4/ilogb.m4: Likewise.
5655         * m4/ilogbf.m4: Likewise.
5656         * m4/log10l.m4: Likewise.
5657         * m4/logl.m4: Likewise.
5658         * m4/printf.m4: Likewise.
5659         * m4/rintl.m4: Likewise.
5660         * m4/wcwidth.m4: Likewise.
5662 2020-07-24  Bruno Haible  <bruno@clisp.org>
5664         doc: Update for Mac OS X 10.13.
5665         * doc/*/*.texi: Update.
5666         * m4/expm1l.m4: Update comments.
5667         * m4/getgroups.m4: Likewise.
5668         * m4/getlogin_r.m4: Likewise.
5669         * m4/linkat.m4: Likewise.
5670         * m4/printf.m4: Likewise.
5672 2020-07-24  Bruno Haible  <bruno@clisp.org>
5674         doc: Update for Cygwin 2.9.0.
5675         * doc/*/*.texi: Update.
5677 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5679         parse-datetime: modernize doc
5680         * doc/parse-datetime.texi: Use more-current examples.
5681         Don’t lead with 32-bit time_t, as it’s on its way out.
5682         Capitalize “Epoch” to be consistent with POSIX.
5684         timespec: remove dependence on ‘verify’
5685         * lib/timespec.h: Do not include verify.h; no longer needed.
5686         * modules/timespec (Depends-on): Remove ‘verify’.
5688         Optimize a few more three-valued comparisons
5689         * lib/timespec.h (timespec_cmp, timespec_sign):
5690         * lib/utimecmp.c (utimecmpat):
5691         Avoid conditional branches by using _GL_CMP.
5693         Fix _GL_CMP parenthesization typo
5694         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
5696 2020-07-24  Bruno Haible  <bruno@clisp.org>
5698         dfa: Revert breaking gawk.
5699         Reported by Arnold Robbins <arnold@skeeve.com>.
5700         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
5702 2020-07-23  Bruno Haible  <bruno@clisp.org>
5704         Optimize three-valued comparison between integers.
5705         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
5706         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
5707         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
5708         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
5709         * lib/dfa.c (compare): Likewise.
5710         * lib/fts.c (fts_compare_ino): Likewise.
5711         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
5712         * lib/mbscasecmp.c (mbscasecmp): Likewise.
5713         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
5714         * lib/memcasecmp.c (memcasecmp): Likewise.
5715         * lib/memcmp2.c (memcmp2): Likewise.
5716         * lib/savedir.c (direntry_cmp_inode): Likewise.
5717         * lib/strcasecmp.c (strcasecmp): Likewise.
5718         * lib/strncasecmp.c (strncasecmp): Likewise.
5719         * lib/unistr/u-cmp2.h (FUNC): Likewise.
5721 2020-07-23  Bruno Haible  <bruno@clisp.org>
5723         lchmod: Use /proc on Cygwin.
5724         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
5726 2020-07-23  Ken Brown  <kbrown@cornell.edu>
5728         fchmodat: Use /proc on Cygwin
5729         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
5731 2020-07-21  Bruno Haible  <bruno@clisp.org>
5733         aligned-malloc: Optionally use aligned_alloc.
5734         * lib/aligned-malloc.h: Verify the alignment.
5735         (aligned_malloc): Use aligned_alloc as an alternative.
5736         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
5737         * doc/posix-functions/aligned_alloc.texi: Mention the modules
5738         'aligned-malloc' and 'pagealign_alloc'.
5740 2020-07-21  Bruno Haible  <bruno@clisp.org>
5742         aligned-malloc: Add tests.
5743         * tests/test-aligned-malloc.c: New file.
5744         * modules/aligned-malloc-tests: New file.
5746         aligned-malloc: New module.
5747         * lib/aligned-malloc.h: New file.
5748         * m4/malloc-align.m4: New file.
5749         * modules/aligned-malloc: New file.
5750         * doc/posix-functions/posix_memalign.texi: Mention the new module.
5751         * doc/glibc-functions/memalign.texi: Likewise.
5753 2020-07-21  Bruno Haible  <bruno@clisp.org>
5755         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
5756         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
5757         sure PRIPTR_PREFIX is defined to "ll", not "l".
5759 2020-07-21  Bruno Haible  <bruno@clisp.org>
5761         printf-posix: Make an autoconf test more future-proof.
5762         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
5763         using uintptr_t.
5765 2020-07-20  Bruno Haible  <bruno@clisp.org>
5767         list, oset, omap: Relicense some of the container modules under LGPLv2+.
5768         * modules/list (License): Change to LGPLv2+.
5769         * modules/array-list (License): Likewise.
5770         * modules/carray-list (License): Likewise.
5771         * modules/linked-list (License): Likewise.
5772         * modules/avltree-list (License): Likewise.
5773         * modules/rbtree-list (License): Likewise.
5774         * modules/oset (License): Likewise.
5775         * modules/array-oset (License): Likewise.
5776         * modules/avltree-oset (License): Likewise.
5777         * modules/rbtree-oset (License): Likewise.
5778         * modules/omap (License): Likewise.
5779         * modules/array-omap (License): Likewise.
5780         * modules/avltree-omap (License): Likewise.
5781         * modules/rbtree-omap (License): Likewise.
5783 2020-07-20  Bruno Haible  <bruno@clisp.org>
5785         oset: Add an 'update' operation.
5786         * lib/gl_array_oset.c (gl_array_update): New function.
5787         (gl_array_oset_implementation): Use it.
5788         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5789         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5790         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
5791         extracted from gl_tree_nx_add_before.
5792         (gl_tree_nx_add_before): Invoke it.
5793         (gl_tree_add_node_after): New function, extracted from
5794         gl_tree_nx_add_after.
5795         (gl_tree_nx_add_after): Invoke it.
5796         (gl_tree_remove_node_no_free): New function, extracted from
5797         gl_tree_remove_node.
5798         (gl_tree_remove_node): Invoke it.
5799         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
5800         extracted from gl_tree_nx_add_before.
5801         (gl_tree_nx_add_before): Invoke it.
5802         (gl_tree_add_node_after): New function, extracted from
5803         gl_tree_nx_add_after.
5804         (gl_tree_nx_add_after): Invoke it.
5805         (gl_tree_remove_node_no_free): New function, extracted from
5806         gl_tree_remove_node.
5807         (gl_tree_remove_node): Invoke it.
5808         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
5809         from gl_tree_iterator_next.
5810         (gl_tree_iterator_next): Invoke it.
5811         (gl_tree_prev_node, gl_tree_update): New functions.
5812         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5813         (gl_avltree_oset_implementation): Use gl_tree_update.
5814         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5815         (gl_rbtree_oset_implementation): Use gl_tree_update.
5816         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
5817         (gl_oset_update): New function.
5818         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
5819         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
5820         * modules/rbtree-oset (configure.ac): Likewise.
5821         * tests/test-oset-update.h: New file.
5822         * tests/test-array_oset.c: Include test-oset-update.h.
5823         (main): Invoke test_update.
5824         * tests/test-avltree_oset.c: Likewise.
5825         * tests/test-rbtree_oset.c: Likewise.
5826         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
5827         * modules/avltree-oset-tests (Files): Likewise.
5828         * modules/rbtree-oset-tests (Files): Likewise.
5829         * tests/test-oset-c++.cc (action): New function.
5830         (main): Test the 'update' member function.
5832 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5834         md5, sha1, sha256, sha512: pacify Autoconf 2.70
5835         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
5836         shell if, so that the argument to AC_CHECK_HEADERS is
5837         a simple string that does not require shell evaluation.
5838         This fixes a warning generated by Autoconf 2.69b.
5840 2020-07-12  Bruno Haible  <bruno@clisp.org>
5842         libgmp: Avoid warning when --without-libgmp is used.
5843         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
5844         GCC >= 8, not for GCC >= 4.6.
5846 2020-07-12  Bruno Haible  <bruno@clisp.org>
5848         libgmp: Link to the correct shared library.
5849         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
5850         * modules/libgmp (Depends-on): Add havelib.
5851         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
5852         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
5854 2020-07-12  Bruno Haible  <bruno@clisp.org>
5856         libgmp tests: Add some safety checks.
5857         * modules/libgmp-tests (Depends-on): Add verify.
5858         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
5859         (main): Verify that gmp.h and libgmp versions match.
5861 2020-07-10  Bruno Haible  <bruno@clisp.org>
5863         unicodeio: Fix wrong result on NetBSD.
5864         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5865         characters also on NetBSD.
5867 2020-07-09  Bruno Haible  <bruno@clisp.org>
5869         unicodeio: Fix wrong result on Solaris 11.
5870         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
5871         via Akim Demaille <akim.demaille@gmail.com> in
5872         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
5873         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5874         characters on Solaris.
5875         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
5876         UTF-8 output or the specified fallback.
5878 2020-07-08  Bruno Haible  <bruno@clisp.org>
5880         unicodeio: Add tests.
5881         * tests/test-unicodeio.c: New file.
5882         * tests/test-unicodeio1.sh: New file.
5883         * tests/test-unicodeio2.sh: New file.
5884         * tests/test-unicodeio3.sh: New file.
5885         * modules/unicodeio-tests: New file.
5887 2020-07-08  Bruno Haible  <bruno@clisp.org>
5889         unicodeio: Document link requirements.
5890         * modules/unicodeio (Link): New section.
5892 2020-07-07  Bruno Haible  <bruno@clisp.org>
5894         doc: Remove support for some very old platforms.
5895         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
5896         * doc/posix-functions/memcpy.texi: Likewise.
5897         * doc/posix-functions/memmove.texi: Likewise.
5898         * doc/posix-functions/memset.texi: Likewise.
5899         * doc/posix-functions/getcwd.texi: Likewise.
5901         memchr: Remove support for some very old platforms.
5902         * m4/memchr-obsolete.m4: Remove file.
5903         * modules/memchr-obsolete: Remove file.
5904         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
5905         absent. Don't define HAVE_MEMCHR.
5906         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
5907         * modules/memchr (Depends-on): Remove memchr-obsolete.
5908         (configure.ac): Assume HAVE_MEMCHR is 1.
5909         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5910         HAVE_MEMCHR.
5911         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
5912         * doc/posix-functions/memchr.texi: Don't mention module
5913         'memchr-obsolete'.
5914         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5915         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5916         * modules/strnlen (Depends-on): Remove memchr-obsolete.
5918         dup2: Remove support for some very old platforms.
5919         * m4/dup2-obsolete.m4: Remove file.
5920         * modules/dup2-obsolete: Remove file.
5921         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
5922         Don't define HAVE_DUP2.
5923         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
5924         * lib/dup2.c: Likewise.
5925         * modules/dup2 (Depends-on, configure.ac): Likewise.
5926         (Depends-on): Remove dup2-obsolete.
5927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
5928         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
5929         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
5931 2020-07-07  Bruno Haible  <bruno@clisp.org>
5933         canonicalize: Trim module dependencies.
5934         * lib/hash-triple.h: Group declarations.
5935         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
5936         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
5937         (STREQ): Remove macro.
5938         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
5939         * modules/hash-triple-simple: New file, based on modules/hash-triple.
5940         * modules/hash-triple (Files): Remove lib/hash-triple.h.
5941         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
5942         * modules/canonicalize (Depends-on): Remove hash-triple. Add
5943         hash-triple-simple.
5944         * modules/file-set (Depends-on): Likewise.
5946 2020-07-07  Bruno Haible  <bruno@clisp.org>
5948         Clarify dependencies to double-slash-root.
5949         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
5950         (Depends-on): Add double-slash-root.
5951         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
5952         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
5954 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5956         libgmp: new module
5957         The idea is to let programs simply include <gmp.h>, and
5958         so long as they live within the mini-gmp subset they need
5959         not worry about whether the GMP libraries are installed.
5960         * MODULES.html.sh: Mention it.
5961         * config/srclist.txt: Mention files copied from GMP source.
5962         * config/srclistvars.sh (GMP): New var.
5963         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
5964         * modules/libgmp-tests, tests/test-libgmp.c: New files.
5965         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
5967 2020-07-05  Bruno Haible  <bruno@clisp.org>
5969         mkancesdirs: Trim module dependencies.
5970         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
5971         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
5973 2020-07-05  Bruno Haible  <bruno@clisp.org>
5975         getprogname: Trim module dependencies.
5976         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
5977         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
5978         basename-lgpl.
5980 2020-07-05  Bruno Haible  <bruno@clisp.org>
5982         filenamecat-lgpl: Trim module dependencies.
5983         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
5984         dirname.h.
5985         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
5986         basename-lgpl, filename.
5988 2020-07-05  Bruno Haible  <bruno@clisp.org>
5990         backupfile, backup-rename: Trim module dependencies.
5991         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
5992         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
5993         basename-lgpl.
5994         * modules/backup-rename (Depends-on): Likewise.
5996 2020-07-05  Bruno Haible  <bruno@clisp.org>
5998         argp: Trim module dependencies.
5999         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
6000         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
6002 2020-07-05  Bruno Haible  <bruno@clisp.org>
6004         basename-lgpl: New module.
6005         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
6006         lib/basename-lgpl.c.
6007         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
6008         <stdbool.h>, filename.h.
6009         (last_component): Rename a local variable.
6010         * lib/dirname.h: Include basename-lgpl.h.
6011         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
6012         (last_component, base_len): Remove declarations.
6013         * modules/basename-lgpl: New file.
6014         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
6015         (Depends-on): Add basename-lgpl. Remove double-slash-root.
6016         (Makefile.am): Don't compile basename-lgpl.c.
6017         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
6018         not 'dirname'.
6020 2020-07-05  Bruno Haible  <bruno@clisp.org>
6022         dirname, dirname-lgpl: Simplify.
6023         * m4/dirname.m4: Remove file.
6024         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
6025         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
6026         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
6028 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
6030         tests: avoid shadowing warning
6031         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
6033 2020-07-05  Bruno Haible  <bruno@clisp.org>
6035         supersede: Add tests.
6036         * tests/test-supersede.c: New file.
6037         * tests/test-supersede-open.h: New file.
6038         * tests/test-supersede-fopen.h: New file.
6039         * modules/supersede-tests: New file.
6041         supersede: New module.
6042         * lib/supersede.h: New file.
6043         * lib/supersede.c: New file.
6044         * m4/supersede.m4: New file.
6045         * modules/supersede: New file.
6047 2020-07-05  Bruno Haible  <bruno@clisp.org>
6049         Add some copyright headers.
6050         * lib/dev-ino.h: Add copyright header.
6051         * lib/di-set.h: Likewise.
6052         * lib/fchown-stub.c: Likewise.
6053         * lib/file-set.h: Likewise.
6054         * lib/hash-triple.h: Likewise.
6055         * lib/idcache.h: Likewise.
6056         * lib/ino-map.h: Likewise.
6057         * lib/mkancesdirs.h: Likewise.
6058         * lib/scratch_buffer.h: Likewise.
6059         * lib/se-context.in.h: Likewise.
6060         * lib/stdopen.h: Likewise.
6061         * lib/userspec.h: Likewise.
6063 2020-07-04  Bruno Haible  <bruno@clisp.org>
6065         getrandom: Relicense under LGPLv2+.
6066         Paul Eggert's approval is in
6067         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
6068         * modules/getrandom (License): Change to LGPLv2+.
6070 2020-07-04  Bruno Haible  <bruno@clisp.org>
6072         getumask: Add tests.
6073         * tests/test-getumask.c: New file.
6074         * modules/getumask-tests: New file.
6076         getumask: New module.
6077         * lib/sys_stat.in.h (getumask): New declaration.
6078         * lib/getumask.c: New file.
6079         * m4/getumask.m4: New file.
6080         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
6081         declared.
6082         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
6083         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
6084         HAVE_GETUMASK.
6085         * modules/getumask: New file.
6086         * tests/test-sys_stat-c++.cc (getumask): Check signature.
6087         * doc/glibc-functions/getumask.texi: New file.
6088         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
6090 2020-07-04  Bruno Haible  <bruno@clisp.org>
6092         clean-temp: Add support for temporary files with given mode.
6093         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
6094         * lib/clean-temp.c (struct try_create_file_params): New type.
6095         (try_create_file): New function.
6096         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
6097         gen_tempname.
6099 2020-07-04  Bruno Haible  <bruno@clisp.org>
6101         clean-temp: Document limitations.
6102         * lib/clean-temp.h: Document limitations.
6104 2020-07-04  Bruno Haible  <bruno@clisp.org>
6106         clean-temp: Add support for temporary files with unpredictable names.
6107         * lib/clean-temp.h (gen_register_open_temp): New declaration.
6108         * lib/clean-temp.c: Include tempname.h.
6109         (gen_register_open_temp): New function.
6110         * modules/tempname (configure.ac): Define a module indicator.
6112 2020-07-04  Bruno Haible  <bruno@clisp.org>
6114         clean-temp: Add support for temporary files anywhere in the file system.
6115         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
6116         cleanup_temporary_file): New declarations.
6117         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
6118         variables.
6119         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
6120         (dir_cleanup_list): Renamed from cleanup_list.
6121         (cleanup_action): Process the file_cleanup_list as well.
6122         (do_init_clean_temp): New function.
6123         (clean_temp_once): New variable.
6124         (init_clean_temp): New function.
6125         (create_temp_dir): Invoke it.
6126         (register_temporary_file, unregister_temporary_file,
6127         cleanup_temporary_file): New functions.
6128         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
6129         argument.
6131 2020-07-04  Bruno Haible  <bruno@clisp.org>
6133         clean-temp: Improve comments.
6134         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
6135         fwriteerror_temp, close_stream_temp): Clarify intended use.
6136         * lib/clean-temp.c: Likewise.
6138 2020-07-04  Bruno Haible  <bruno@clisp.org>
6140         clean-temp: Make multithread-safe, part 2.
6141         * lib/fatal-signal.h: Include <signal.h>.
6142         (get_fatal_signal_set): New declaration.
6143         * lib/fatal-signal.c (get_fatal_signal_set): New function.
6144         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
6145         (struct closeable_fd): New type.
6146         (fatal_signal_set): New variable.
6147         (init_fatal_signal_set): New function.
6148         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
6149         (cleanup_action): Invoke asyncsafe_close instead of close.
6150         (create_temp_dir): Invoke init_fatal_signal_set.
6151         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
6152         element.
6153         (unregister_fd): Remove function.
6154         (close_temp): Cleanup descriptors list on the fly. Invoke
6155         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
6156         (fclose_variant_temp): New function.
6157         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
6158         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
6160 2020-07-04  Bruno Haible  <bruno@clisp.org>
6162         clean-temp: Make multithread-safe, part 1.
6163         * lib/clean-temp.c: Include glthread/lock.h.
6164         (cleanup_list_lock): New variable.
6165         (register_temp_file, unregister_temp_file, register_temp_subdir,
6166         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
6167         (create_temp_dir): Likewise. Don't free the old array.
6168         (descriptors_lock): New variable.
6169         (register_fd, unregister_fd): Use it.
6170         * modules/clean-temp (Depends-on): Add lock.
6172 2020-07-04  Bruno Haible  <bruno@clisp.org>
6174         fatal-signal: Make multithread-safe.
6175         * lib/fatal-signal.c (init_fatal_signals): Add comment.
6176         (do_init_fatal_signal_set): New function, extracted from
6177         init_fatal_signal_set.
6178         (fatal_signal_set_once): New variable.
6179         (init_fatal_signal_set): Use gl_once.
6181 2020-07-03  Bruno Haible  <bruno@clisp.org>
6183         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
6184         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
6185         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
6186         <bcrypt.h>.
6188 2020-07-03  Bruno Haible  <bruno@clisp.org>
6190         dfa tests: Follow common file naming conventions.
6191         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
6192         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
6193         * tests/test-dfa-invalid-char-class.sh: Renamed from
6194         tests/dfa-invalid-char-class.sh. Update.
6195         * modules/dfa-tests (Files, Makefile.am): Update.
6197 2020-07-03  Bruno Haible  <bruno@clisp.org>
6199         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
6200         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
6201         the GCC extended asm syntax also for the Sun Studio 12 compilers.
6203 2020-07-03  Bruno Haible  <bruno@clisp.org>
6205         asyncsafe-spin: Reduce code duplication.
6206         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
6207         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
6208         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
6210 2020-07-03  Bruno Haible  <bruno@clisp.org>
6212         lchmod: Simplify after 2020-02-22 change.
6213         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
6215 2020-07-03  Bruno Haible  <bruno@clisp.org>
6217         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
6218         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
6220 2020-07-03  Bruno Haible  <bruno@clisp.org>
6222         dfa: Make sure the compiler does not barf on 'inline'.
6223         * modules/dfa (configure.ac): Require AC_C_INLINE.
6225 2020-07-03  Bruno Haible  <bruno@clisp.org>
6227         bitset: Make sure the compiler does not barf on 'inline'.
6228         * modules/bitset (configure.ac): New section.
6230 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6232         manywarnings: improve port to GCC 10.1
6233         * build-aux/gcc-warning.spec: Also list warnings that are default
6234         or are enabled by already-given flags.  This lets us speed up
6235         checking for attributes, and makes the generated compilation
6236         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
6237         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
6238         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
6239         to shell variables that may have long values.
6240         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
6241         consequences of other flags, to speed up checking and
6242         shorten commands.
6244         tests: pacify gcc -fanalyzer on zerosize_ptr
6245         * tests/test-memcasecmp.c (main):
6246         * tests/test-memchr.c (main):
6247         * tests/test-memchr2.c (main):
6248         * tests/test-memcmp.c (main):
6249         * tests/test-memmem.c (main):
6250         * tests/test-memrchr.c (main):
6251         * tests/unistr/test-chr.h (main):
6252         * tests/unistr/test-cmp.h (test_cmp):
6253         Check whether zerosize_ptr returns NULL before using it.
6254         This pacifies GCC 10.1’s new fanalyzer option, and matches
6255         other uses of zerosize_ptr.
6257 2020-07-01  Bruno Haible  <bruno@clisp.org>
6259         asyncsafe-spin: Add tests.
6260         * tests/test-asyncsafe-spin1.c: New file.
6261         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
6262         tests/test-pthread-spin.c.
6263         * modules/asyncsafe-spin-tests: New file.
6265 2020-07-01  Bruno Haible  <bruno@clisp.org>
6267         asyncsafe-spin: New module.
6268         * lib/asyncsafe-spin.h: New file.
6269         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
6270         * modules/asyncsafe-spin: New file.
6272 2020-07-01  Bruno Haible  <bruno@clisp.org>
6274         windows-spin: Fix race condition on multiprocessor systems.
6275         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
6277 2020-07-01  Bruno Haible  <bruno@clisp.org>
6279         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
6280         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6281         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
6282         an implementation based on other GCC built-ins.
6284 2020-07-01  Bruno Haible  <bruno@clisp.org>
6286         pthread-spin: Optimize fallback for GCC versions >= 4.7.
6287         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6288         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
6289         lock byte.
6291 2020-07-01  Bruno Haible  <bruno@clisp.org>
6293         pthread-spin: Add error checking.
6294         * lib/pthread-spin.c: Include <stdbool.h>.
6295         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
6296         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
6297         the unlocks.
6298         * modules/pthread-spin (Depends-on): Add stdbool.
6300 2020-07-01  Bruno Haible  <bruno@clisp.org>
6302         pthread-spin: Add tests.
6303         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
6304         * modules/pthread-spin-tests: New file.
6306 2020-07-01  Bruno Haible  <bruno@clisp.org>
6308         tests: Reduce code duplication.
6309         * tests/atomic-int-posix.h: New file, extracted from
6310         tests/test-pthread-mutex.c.
6311         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
6312         * tests/test-pthread-rwlock.c: Likewise.
6313         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
6314         * modules/pthread-rwlock-tests (Files): Likewise.
6316 2020-07-01  Bruno Haible  <bruno@clisp.org>
6318         tests: Refactor.
6319         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
6320         * tests/test-mtx.c: Include it. Remove the corresponding code.
6321         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
6323 2020-07-01  Bruno Haible  <bruno@clisp.org>
6325         tests: Refactor.
6326         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
6327         * tests/test-lock.c: Include it. Remove the corresponding code.
6328         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
6330 2020-06-29  Bruno Haible  <bruno@clisp.org>
6332         sys_socket: Don't define socklen_t if it is already defined on mingw.
6333         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
6334         <https://savannah.gnu.org/bugs/?57725>,
6335         by Rahul Das <bokul_4u@yahoo.com> in
6336         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
6337         and by Eli Zaretskii <eliz@gnu.org> in
6338         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
6339         * lib/sys_socket.in.h (socklen_t): Remove definition.
6341 2020-06-29  Bruno Haible  <bruno@clisp.org>
6343         alloca-opt: Fix warning on mingw.
6344         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
6345         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
6346         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
6347         whether alloca is defined.
6349 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
6351         getrandom: do not depend on ‘open’ on mingw
6352         Similarly for at-internal, getloadavg.  These modules do not call
6353         the ‘open’ function when they are compiled on mingw.  On mingw,
6354         this avoids having to compile open.c when building Emacs, which
6355         does its own thing with ‘open’.
6356         * modules/at-internal, modules/getloadavg, modules/getrandom:
6357         (Depends-on): Don’t depend on ‘open’ on mingw.
6358         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
6359         * modules/getloadavg (Depends-on):
6360         Depend on intprops, open, stdbool, stdlib only if compiling
6361         getloadavg.c.
6363 2020-06-28  Bruno Haible  <bruno@clisp.org>
6365         doc: Add a note about sigprocmask vs. pthread_sigmask.
6366         * doc/posix-functions/sigprocmask.texi: Add note.
6368 2020-06-28  Bruno Haible  <bruno@clisp.org>
6370         getrandom: Fix compilation errors on older versions of mingw.
6371         Reported by Eli Zaretskii <eliz@gnu.org> in
6372         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
6373         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
6374         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
6375         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
6376         BCryptGenRandom ourselves.
6378 2020-06-28  Bruno Haible  <bruno@clisp.org>
6380         clean-temp: Fix wrong errno in error message.
6381         * lib/clean-temp.c (create_temp_dir): Save errno around
6382         unblock_fatal_signals call.
6384 2020-06-27  Bruno Haible  <bruno@clisp.org>
6386         fatal-signal: Make multithread-safe.
6387         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
6389 2020-06-27  Bruno Haible  <bruno@clisp.org>
6391         clean-temp: Don't force deletion of temporary files on native Windows.
6392         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
6393         argument.
6394         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
6395         * NEWS: Mention the change.
6396         * lib/javacomp.c (write_temp_file): Update.
6398 2020-06-27  Bruno Haible  <bruno@clisp.org>
6400         fatal-signal: Make multithread-safe.
6401         * lib/fatal-signal.c: Include glthread/lock.h.
6402         (at_fatal_signal_lock): New variable.
6403         (at_fatal_signal): Use it.
6404         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
6405         (block_fatal_signals, unblock_fatal_signals): Use them.
6406         * modules/fatal-signal (Depends-on): Add lock.
6408 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6410         getloadavg: don’t depend on fopen-gnu
6411         This is for Emacs, which does not need fopen-gnu for anything else,
6412         and which would need it only on a NetBSD platform where getloadavg
6413         does not work (does that even happen?).
6414         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
6415         * modules/getloadavg (Depends-on): Remove fopen-gnu.
6417         * tests/test-getloadavg.c (main): Fix typo.
6419 2020-06-27  Bruno Haible  <bruno@clisp.org>
6421         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
6422         * modules/tempname (Link): New section.
6423         * modules/mkdtemp (Link): Likewise.
6424         * modules/clean-temp (Link): Likewise.
6425         * modules/mkstemp (Link): Likewise.
6426         * modules/stdlib-safer (Link): Likewise.
6427         * modules/mkstemps (Link): Likewise.
6428         * modules/mkostemp (Link): Likewise.
6429         * modules/mkostemps (Link): Likewise.
6430         * modules/tmpfile (Link): Likewise.
6431         * modules/tmpfile-safer (Link): Likewise.
6432         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
6433         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
6434         $(LIB_GETRANDOM).
6435         * NEWS: Mention the changes.
6437 2020-06-27  Bruno Haible  <bruno@clisp.org>
6439         fopen-gnu: Simplify code.
6440         * lib/fopen.c: Include <stdbool.h>.
6441         (rpl_fopen): Use a single variable open_flags instead of
6442         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
6443         * modules/fopen (Depends-on): Add stdbool.
6445 2020-06-26  Bruno Haible  <bruno@clisp.org>
6447         canonicalize: Improve documentation.
6448         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
6449         return convention.
6451 2020-06-26  Bruno Haible  <bruno@clisp.org>
6453         xgetcwd: Improve documentation.
6454         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
6456 2020-06-26  Bruno Haible  <bruno@clisp.org>
6458         getcwd: Improve documentation.
6459         * lib/getcwd.c (__getcwd): Document the failure return convention.
6461 2020-06-26  Bruno Haible  <bruno@clisp.org>
6463         fchdir: Improve documentation.
6464         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
6465         convention.
6467 2020-06-26  Bruno Haible  <bruno@clisp.org>
6469         filenamecat-lgpl: Set errno upon failure.
6470         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
6471         return convention.
6472         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
6474 2020-06-26  Bruno Haible  <bruno@clisp.org>
6476         areadlink-with-size: Set errno upon failure.
6477         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
6478         fails.
6479         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
6481 2020-06-26  Bruno Haible  <bruno@clisp.org>
6483         copy-file: Shrink dependencies.
6484         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
6485         qcopy-acl.
6487 2020-06-26  Bruno Haible  <bruno@clisp.org>
6489         doc: Mention declaration fixes implemented by some modules.
6490         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
6491         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
6492         declaration appear in <unistd.h>.
6493         * doc/posix-functions/dup.texi: Likewise.
6494         * doc/posix-functions/dup2.texi: Likewise.
6495         * doc/posix-functions/gethostname.texi: Likewise.
6496         * doc/posix-functions/isatty.texi: Likewise.
6497         * doc/posix-functions/lseek.texi: Likewise.
6498         * doc/posix-functions/unlink.texi: Likewise.
6499         * doc/posix-functions/read.texi: Mention the module 'read'.
6500         * doc/posix-functions/write.texi: Mention the effects of the module
6501         'write'.
6503 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6505         c-dtoastr, c-ldtoastr: new modules
6506         These modules provide the same functionality as the modules
6507         dtoastr and ldtoastr except for the formatting taking place in the
6508         C locale.
6509         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
6510         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
6511         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
6512         defined.  Use c_snprintf and c_strtod/c_strtold instead of
6513         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
6514         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
6515         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
6516         modules/c-ldtoastr-tests: New files.
6517         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
6518         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
6520 2020-06-21  Bruno Haible  <bruno@clisp.org>
6522         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
6523         * lib/tzset.c: Include <stdlib.h>, <string.h>.
6525 2020-06-16  Bruno Haible  <bruno@clisp.org>
6527         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
6528         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
6530 2020-06-16  Bruno Haible  <bruno@clisp.org>
6532         thread, thrd: Avoid a compiler warning.
6533         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
6535 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
6537         windows-thread: Avoid a compiler warning.
6538         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
6539         void.
6540         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
6542 2020-06-15  Bruno Haible  <bruno@clisp.org>
6544         unictype/joininggroup-name: Fix warning on 64-bit mingw.
6545         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
6546         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
6547         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
6548         first.
6550 2020-06-06  Bruno Haible  <bruno@clisp.org>
6552         calloc-gnu tests: Avoid a test failure with clang.
6553         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
6554         'volatile', to defeat compiler optimizations.
6556 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6558         getloadavg: fix double-increment bug
6559         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
6560         Linux without glibc, Android, Cygwin.  This fixes a bug I
6561         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
6562         Problem and fix reported by Semen Verchenko in:
6563         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
6565         tempname: use getrandom, not getentropy
6566         This removes a dependency, as getentropy depends on getrandom.
6567         * lib/tempname.c: Include sys/random.h instead of unistd.h.
6568         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
6569         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
6571 2020-06-01  Bruno Haible  <bruno@clisp.org>
6573         doc: New chapter 'Multithreading'.
6574         * doc/multithread.texi: New file.
6575         * doc/gnulib.texi: Include it.
6577 2020-06-01  Bruno Haible  <bruno@clisp.org>
6579         doc: Move 'Running self-tests under valgrind' section.
6580         * doc/gnulib.texi (Build Infrastructure Modules): Include
6581         valgrind-tests.texi here...
6582         (Miscellaneous Notes): ... not here.
6584 2020-06-01  Bruno Haible  <bruno@clisp.org>
6586         doc: Move 'Visual Studio Compatibility' section.
6587         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
6588         here...
6589         (Build Infrastructure Modules): ... not here.
6591 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6593         doc: improve randomness discussion
6594         Inspired by comments from Jeffrey Walton in:
6595         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
6596         * doc/glibc-functions/getentropy.texi (getentropy):
6597         * doc/glibc-functions/getrandom.texi (getrandom):
6598         Improve discussion of problems with "random" data,
6599         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
6601 2020-06-01  Bruno Haible  <bruno@clisp.org>
6603         doc: Fix Texinfo syntax error.
6604         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
6606 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
6608         doc: Change '.' to '@.' where appropriate.
6609         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
6610         * doc/glibc-functions/fstatfs.texi: Likewise.
6611         * doc/glibc-functions/fts_children.texi: Likewise.
6612         * doc/glibc-functions/fts_read.texi: Likewise.
6613         * doc/glibc-functions/getdirentries.texi: Likewise.
6614         * doc/glibc-functions/mkostemp.texi: Likewise.
6615         * doc/glibc-functions/mkostemps.texi: Likewise.
6616         * doc/glibc-functions/mkstemps.texi: Likewise.
6617         * doc/glibc-functions/preadv.texi: Likewise.
6618         * doc/glibc-functions/pwritev.texi: Likewise.
6619         * doc/glibc-functions/sendfile.texi: Likewise.
6620         * doc/glibc-functions/statfs.texi: Likewise.
6621         * doc/gnulib-intro.texi: Likewise.
6622         * doc/gnulib-tool.texi: Likewise.
6623         * doc/intprops.texi: Likewise.
6624         * doc/lib-symbol-visibility.texi: Likewise.
6625         * doc/licenses-texi.texi: Likewise.
6626         * doc/pastposix-functions/bcmp.texi: Likewise.
6627         * doc/pastposix-functions/bcopy.texi: Likewise.
6628         * doc/pastposix-functions/bzero.texi: Likewise.
6629         * doc/pastposix-functions/ecvt.texi: Likewise.
6630         * doc/pastposix-functions/fcvt.texi: Likewise.
6631         * doc/pastposix-functions/ftime.texi: Likewise.
6632         * doc/pastposix-functions/gcvt.texi: Likewise.
6633         * doc/pastposix-functions/getwd.texi: Likewise.
6634         * doc/pastposix-functions/index.texi: Likewise.
6635         * doc/pastposix-functions/mktemp.texi: Likewise.
6636         * doc/pastposix-functions/rindex.texi: Likewise.
6637         * doc/pastposix-functions/wcswcs.texi: Likewise.
6638         * doc/posix-functions/aio_cancel.texi: Likewise.
6639         * doc/posix-functions/aio_error.texi: Likewise.
6640         * doc/posix-functions/aio_fsync.texi: Likewise.
6641         * doc/posix-functions/aio_read.texi: Likewise.
6642         * doc/posix-functions/aio_return.texi: Likewise.
6643         * doc/posix-functions/aio_suspend.texi: Likewise.
6644         * doc/posix-functions/aio_write.texi: Likewise.
6645         * doc/posix-functions/creat.texi: Likewise.
6646         * doc/posix-functions/ctime.texi: Likewise.
6647         * doc/posix-functions/daylight.texi: Likewise.
6648         * doc/posix-functions/fgetpos.texi: Likewise.
6649         * doc/posix-functions/fopen.texi: Likewise.
6650         * doc/posix-functions/freopen.texi: Likewise.
6651         * doc/posix-functions/fseeko.texi: Likewise.
6652         * doc/posix-functions/fsetpos.texi: Likewise.
6653         * doc/posix-functions/fstatat.texi: Likewise.
6654         * doc/posix-functions/fstatvfs.texi: Likewise.
6655         * doc/posix-functions/ftello.texi: Likewise.
6656         * doc/posix-functions/ftruncate.texi: Likewise.
6657         * doc/posix-functions/getrlimit.texi: Likewise.
6658         * doc/posix-functions/lio_listio.texi: Likewise.
6659         * doc/posix-functions/localtime.texi: Likewise.
6660         * doc/posix-functions/lseek.texi: Likewise.
6661         * doc/posix-functions/mkstemp.texi: Likewise.
6662         * doc/posix-functions/mktime.texi: Likewise.
6663         * doc/posix-functions/open.texi: Likewise.
6664         * doc/posix-functions/openat.texi: Likewise.
6665         * doc/posix-functions/opendir.texi: Likewise.
6666         * doc/posix-functions/pread.texi: Likewise.
6667         * doc/posix-functions/pwrite.texi: Likewise.
6668         * doc/posix-functions/readdir.texi: Likewise.
6669         * doc/posix-functions/readdir_r.texi: Likewise.
6670         * doc/posix-functions/scandir.texi: Likewise.
6671         * doc/posix-functions/seekdir.texi: Likewise.
6672         * doc/posix-functions/setrlimit.texi: Likewise.
6673         * doc/posix-functions/statvfs.texi: Likewise.
6674         * doc/posix-functions/strftime.texi: Likewise.
6675         * doc/posix-functions/telldir.texi: Likewise.
6676         * doc/posix-functions/timezone.texi: Likewise.
6677         * doc/posix-functions/tmpfile.texi: Likewise.
6678         * doc/posix-functions/truncate.texi: Likewise.
6679         * doc/posix-functions/tzname.texi: Likewise.
6680         * doc/posix-functions/wcsftime.texi: Likewise.
6681         * doc/windows-sockets.texi: Likewise.
6683 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6685         getrandom-tests: do not assume GRND_RANDOM yields short read
6686         * tests/test-getrandom.c (main): Omit assertion that
6687         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
6688         when b’s size is 100000.  This assertion fails with Linux kernel
6689         5.6.13, as that kernel ignores the GRND_RANDOM flag.
6690         The separate blocking pool is going away in the Linux kernel, and
6691         they’ve added a flag GRND_INSECURE instead; see:
6692         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
6693         The assertion was iffy anyway; what’s to prevent a kernel from
6694         lazily filling a large buffer with random bytes?
6696         read-file-test: pacify --enable-gcc-warnings
6697         * tests/test-read-file.c (test_read_file): Now static.
6699         tempname: merge from glibc and coreutils
6700         Also, merge in Gnulib’s more-recent methods of making it easier
6701         to share between Gnulib and glibc, and fix a few randomness
6702         glitches.
6703         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
6704         (__set_errno): Remove; libc-config.h does that for us.
6705         Do not include <sys/time.h>.
6706         (__secure_getenv) [_LIBC]: New macro.
6707         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
6708         (RANDOM_BITS): Rewrite.
6709         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
6710         (random_value): New typedef.
6711         (try_file, try_dir, try_nocreate): Move up.
6712         (gen_tempname_len, try_tempname_len): New functions.
6713         (gen_tempname_len): Use a constant array rather than a switch.
6714         (try_tempname_len): Don’t assume string length fits in int.
6715         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
6716         has enough entropy (it’s a bit short).
6717         (__gen_tempname): Rewrite in terms of gen_tempname_len.
6718         (__try_tempname): Rewrite in terms of try_tempname_len.
6719         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
6720         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
6721         Add getentropy, libc-config.
6723 2020-05-31  Bruno Haible  <bruno@clisp.org>
6725         getrandom, getentropy: Mention the crypto/gc-random module.
6726         Suggested by Simon Josefsson in
6727         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
6728         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
6729         crypto/gc-random module.
6730         * doc/glibc-functions/getentropy.texi: Likewise.
6732 2020-05-31  Bruno Haible  <bruno@clisp.org>
6734         getentropy: Enhance tests.
6735         * tests/test-getentropy.c (main): Add one more test.
6736         * tests/test-unistd-c++.cc: Check the signature of getentropy.
6738 2020-05-31  Bruno Haible  <bruno@clisp.org>
6740         getentropy: Work around a macOS and Solaris problem.
6741         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
6742         'getentropy' module.
6743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6744         UNISTD_H_HAVE_SYS_RANDOM_H.
6745         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
6746         UNISTD_H_HAVE_SYS_RANDOM_H.
6747         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
6748         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
6749         problem. List more platforms.
6751 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6753         fnmatch: merge from glibc
6754         Also, merge in Gnulib’s more-recent methods of making it easier
6755         to share between Gnulib and glibc.
6756         * lib/fnmatch.c: Reorder includes to match glibc better.
6757         Include libc-config.h instead of config.h.
6758         Include alloca.h only if _LIBC || HAVE_ALLOCA.
6759         Do not include "../locale/elem-hash.h" if _LIBC.
6760         Define macros for btowc, etc. if _LIBC.  All uses simplified.
6761         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
6762         Include intprops.h, since glibc has it now.
6763         (SIZE_MAX): Remove; use (size_t) -1 instead.
6764         Omit the "Comment out all this code" ifdef, since Gnulib
6765         has never really needed it.
6766         (STREQ): Remove; no longer used.
6767         (__libc_use_alloca, alloca, alloca_account): Define as
6768         needed if !_LIBC.
6769         (ISWCTYPE): Remove; all uses replaced by iswctype.
6770         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
6771         (internal_function): Remove.  All uses removed.
6772         (STRUCT): New macro.
6773         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
6774         (WMEMCMP): New macro.
6775         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
6776         and <locale/weightwc.h>.
6777         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
6778         __builtin_expect.  Check for integer overflow more
6779         systematically.  Account for alloca storage better when
6780         recursive.  Use strnlen instead of strlen for efficiency.
6781         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
6782         (struct STRUCT): New type.
6783         (FCT, EXT): New ENDS and ALLOCA_USED args.
6784         All callers changed.
6785         (FCT): Prefer __glibc_unlikely to __builtin_expect.
6786         Simplify by assuming WIDE_CHAR_SUPPORT.
6787         Copy _LIBC code from glibc without worrying Gnulib compatibility.
6788         Cast cold to UCHAR to avoid signedness warning.
6789         (END): Check for invalid pattern.
6790         (EXT): Improve alloca/malloc checking (taken from glibc),
6791         and improve it some more by using intprops.h and checking
6792         for integer overflow and using bool for booleans.
6793         * lib/libc-config.h (compat_symbol): New macro.
6794         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
6795         acceptable to non-GCC when a trailing semicolon is added.
6796         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
6797         libc-config, strnlen.  Remove alloca.
6799 2020-05-31  Bruno Haible  <bruno@clisp.org>
6801         getrandom: Doc and test tweaks.
6802         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
6803         it sets errno when failing.
6804         * tests/test-getrandom.c (main): Disable the high-quality check on those
6805         platforms on which it fails.
6806         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
6807         Cygwin to the list of platforms that don't have the function. Add a note
6808         about the quality of the result.
6809         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
6810         declaration; this is fixed by module 'getrandom'.
6812 2020-05-31  Bruno Haible  <bruno@clisp.org>
6814         getrandom: Add support for native Windows.
6815         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
6816         <wincrypt.h>.
6817         (CRYPT_VERIFY_CONTEXT): New macro.
6818         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
6819         'A'.
6820         (GetProcAddress): New macro.
6821         (BCryptGenRandomFuncType): New type.
6822         (BCryptGenRandomFunc, initialized): New variables.
6823         (initialize): New function.
6824         (getrandom): On native Windows, use <bcrypt.h> API when available, and
6825         <wincrypt.h> API as fallback.
6826         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
6827         * modules/getrandom (Link): New section.
6828         * modules/getentropy (Link): Likewise.
6829         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
6830         $(LIB_GETRANDOM).
6831         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
6832         $(LIB_GETRANDOM).
6833         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
6834         against $(LIB_GETRANDOM).
6835         * doc/glibc-functions/getrandom.texi: Mention the native Windows
6836         support.
6838 2020-05-31  Bruno Haible  <bruno@clisp.org>
6840         getrandom: Simplify the determination of the random number devices.
6841         Suggested by Paul Eggert in
6842         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
6843         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
6844         macros.
6845         * modules/getrandom (Depends-on): Remove crypto/gc-random.
6847 2020-05-31  Bruno Haible  <bruno@clisp.org>
6849         crypto/gc-random: Fix list of crypto devices for Solaris.
6850         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
6852 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
6854         list: fix GCC warnings
6855         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
6856         (gl_tree_next_node, gl_tree_node_nx_set_value)
6857         (gl_tree_previous_node, gl_tree_next_node):
6858         Mark unused arguments.
6859         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
6860         * lib/gl_anylinked_list2.h (gl_linked_node_value)
6861         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
6863         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
6864         the same variable name in nested scopes.
6866 2020-05-31  Bruno Haible  <bruno@clisp.org>
6868         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
6869         Reported by Akim Demaille in
6870         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
6871         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
6872         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
6873         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
6874         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
6875         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
6877 2020-05-30  Bruno Haible  <bruno@clisp.org>
6879         wmemchr: Relicense under LGPLv2+.
6880         * modules/wmemchr (License): Set to LGPLv2+.
6882 2020-05-30  Bruno Haible  <bruno@clisp.org>
6884         wmempcpy: New module.
6885         Reported by Paul Eggert in
6886         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
6887         * lib/wchar.in.h (wmempcpy): New declaration.
6888         * lib/wmempcpy.c: New file.
6889         * m4/wmempcpy.m4: New file.
6890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
6891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
6892         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
6893         HAVE_WMEMPCPY.
6894         * modules/wmempcpy: New file.
6895         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
6896         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
6897         * modules/mempcpy (Description): Fix typo.
6899 2020-05-30  Bruno Haible  <bruno@clisp.org>
6901         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
6902         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
6904 2020-05-30  Bruno Haible  <bruno@clisp.org>
6906         sys_random: Work around macOS bug.
6907         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
6908         <stdlib.h> before <sys/random.h>.
6909         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
6910         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
6911         first.
6912         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
6914 2020-05-30  Bruno Haible  <bruno@clisp.org>
6916         getrandom: Override incompatible system function on Solaris 11.
6917         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
6918         * lib/getrandom.c (getrandom): When the system has getrandom, just
6919         invoke it.
6920         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
6921         system's getrandom function's prototype is not the expected one.
6922         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
6923         REPLACE_GETRANDOM.
6924         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
6925         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
6926         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
6927         EAGAIN.
6928         * doc/glibc-functions/getrandom.texi: Mention the new module and the
6929         Solaris problem.
6931 2020-05-30  Bruno Haible  <bruno@clisp.org>
6933         sys_random: Add C++ tests.
6934         * tests/test-sys_random-c++.cc: New file.
6935         * modules/sys_random-c++-tests: New file.
6936         * modules/sys_random-tests (Depends-on): Depend on it.
6938         sys_random: Add tests.
6939         * tests/test-sys_random.c: New file.
6940         * modules/sys_random-tests: New file.
6942         sys_random: New module.
6943         * lib/sys_random.in.h: Use the common idioms for overridable header
6944         files.
6945         * m4/sys_random_h.m4: New file.
6946         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
6947         * modules/sys_random: New file.
6948         * modules/getrandom (Files): Remove lib/sys_random.in.h.
6949         (Depends-on): Add sys_random.
6950         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
6951         gl_UNISTD_MODULE_INDICATOR.
6952         (Makefile.am): Don't generate sys/random.h here.
6953         * doc/glibc-headers/sys_random.texi: New file.
6954         * doc/gnulib.texi: Include it.
6956 2020-05-30  Bruno Haible  <bruno@clisp.org>
6958         unistd: Remove conflicting declaration of getrandom().
6959         * lib/unistd.in.h (getrandom): Remove declaration.
6960         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
6961         declared.
6962         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
6963         HAVE_GETRANDOM.
6964         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
6965         HAVE_GETRANDOM.
6967 2020-05-30  Bruno Haible  <bruno@clisp.org>
6969         getrandom: Add tests.
6970         * tests/test-getrandom.c: New file.
6971         * modules/getrandom-tests: New file.
6973 2020-05-30  Bruno Haible  <bruno@clisp.org>
6975         crypto/gc-random: Fix link error on MSVC.
6976         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
6977         * modules/crypto/gc-random (Link): New section.
6978         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
6979         $(LIB_GC_RANDOM).
6981 2020-05-30  Bruno Haible  <bruno@clisp.org>
6983         Don't assume that UNICODE is not defined.
6984         Many Windows API functions are defined differently (redirecting to a
6985         function with suffix 'W') if the application defines the macro UNICODE
6986         than by default (redirecting to a function with suffix 'A').
6987         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
6988         variant with suffix 'A'.
6989         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
6990         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
6991         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
6992         * lib/getlogin.c (GetUserName): Likewise.
6993         * lib/getlogin_r.c (GetUserName): Likewise.
6994         * lib/gettimeofday.c (LoadLibrary): Likewise.
6995         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
6996         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
6997         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
6998         * lib/mountlist.c (GetDriveType): Likewise.
6999         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
7000         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
7001         Likewise.
7002         * lib/physmem.c (GetModuleHandle): Likewise.
7003         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7004         PeekMessage, DispatchMessage): Likewise.
7005         * lib/progreloc.c (GetModuleFileName): Likewise.
7006         * lib/putenv.c (SetEnvironmentVariable): Likewise.
7007         * lib/read.c (GetNamedPipeHandleState): Likewise.
7008         * lib/readdir.c (FindNextFile): Likewise.
7009         * lib/relocatable.c (GetModuleFileName): Likewise.
7010         * lib/rename.c (MoveFileEx): Likewise.
7011         * lib/rewinddir.c (FindFirstFile): Likewise.
7012         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
7013         PeekMessage, DispatchMessage): Likewise.
7014         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
7015         * lib/socket.c (WSASocket): Likewise.
7016         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
7017         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
7018         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
7019         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
7020         * lib/tmpdir.c (GetTempPath): Likewise.
7021         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
7022         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
7023         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
7024         * lib/windows-cond.c (CreateEvent): Likewise.
7025         * lib/windows-rwlock.c (CreateEvent): Likewise.
7026         * lib/windows-timedmutex.c (CreateEvent): Likewise.
7027         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
7028         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
7029         * lib/write.c (GetNamedPipeHandleState): Likewise.
7031 2020-05-30  Bruno Haible  <bruno@clisp.org>
7033         physmem: Fix compilation errors on MSVC.
7034         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
7035         * modules/physmem (Depends-on): Add unistd.
7037 2020-05-29  Bruno Haible  <bruno@clisp.org>
7039         gnulib-tool: Fix link errors with a particular set of modules on mingw.
7040         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
7041         LDADD a second time, after the second occurrence of libtests.a.
7042         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
7044 2020-05-29  Bruno Haible  <bruno@clisp.org>
7046         fnmatch: Rely on more gnulib modules.
7047         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
7048         wmempcpy, mempcpy.
7049         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
7050         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
7051         HAVE_MEMPCPY are all 1.
7052         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
7053         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
7055 2020-05-29  Bruno Haible  <bruno@clisp.org>
7057         Avoid dynamic lookup of Windows API functions when possible.
7058         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
7059         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
7060         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
7061         (use_win32_p): Define differently.
7062         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
7063         CreateHardLinkFunc, initialized, initialize): Don't define in a build
7064         for Windows XP or higher.
7066 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7068         read-file: disable buffering if RF_SENSITIVE is set
7069         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
7070         Suggested by Glenn Strauss.
7071         (fread_file): Suggest calling setvbuf before calling this
7072         function.  Suggested by Bruno Haible.
7074 2020-05-29  Bruno Haible  <bruno@clisp.org>
7076         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
7077         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
7078         program.
7079         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
7080         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
7081         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
7082         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
7084 2020-05-29  Bruno Haible  <bruno@clisp.org>
7086         Fix compilation error on native Windows (regression from 2020-05-28).
7087         Reported by Daiki Ueno.
7088         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
7089         macro when not using dynamic loading.
7090         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
7091         QueryFullProcessImageNameFunc): Likewise.
7092         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
7093         GetFinalPathNameByHandleFunc): Likewise.
7095 2020-05-29  Daiki Ueno  <ueno@gnu.org>
7097         fopen-gnu-tests: fix "\x" escape usage
7098         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
7100 2020-05-28  Bruno Haible  <bruno@clisp.org>
7102         Avoid dynamic loading of Windows API functions when possible.
7103         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7104         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
7105         * lib/gettimeofday.c (GetProcAddress,
7106         GetSystemTimePreciseAsFileTimeFuncType,
7107         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
7108         define in a build for Windows 8 or higher.
7109         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
7110         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
7111         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
7112         in a build for Windows Vista or higher.
7113         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
7114         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
7115         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
7117 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
7119         explicit_bzero-tests: improve -Wmissing-declarations pacification
7120         * tests/test-explicit_bzero.c: Now noinline.
7121         Suggested by Bruno Haible in:
7122         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
7124 2020-05-28  Bruno Haible  <bruno@clisp.org>
7126         Fix build errors due to read-file changes (regression from 2020-05-27).
7127         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
7128         invocation.
7129         * tests/test-sameacls.c (main): Likewise.
7130         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
7131         read_binary_file.
7132         * tests/test-pipe-filter-ii1.c (main): Likewise.
7134 2020-05-28  Bruno Haible  <bruno@clisp.org>
7136         fts: Make more robust in multithreaded applications.
7137         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
7138         * modules/fts (Depends-on): Add 'open'.
7140 2020-05-28  Bruno Haible  <bruno@clisp.org>
7142         relocatable-prog: Make more robust in multithreaded applications.
7143         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
7144         relocatable-prog-wrapper.
7145         (find_executable): Pass an O_CLOEXEC flag to open().
7146         * modules/relocatable-prog (Depends-on): Add 'open'.
7148 2020-05-28  Bruno Haible  <bruno@clisp.org>
7150         getloadavg: Make more robust in multithreaded applications.
7151         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
7152         Simplify use of O_CLOEXEC.
7153         * modules/getloadavg (Depends-on): Add 'open'.
7155 2020-05-28  Bruno Haible  <bruno@clisp.org>
7157         vma-iter: Make more robust in multithreaded applications.
7158         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
7159         open().
7160         * modules/vma-iter (Depends-on): Add 'open'.
7162 2020-05-28  Bruno Haible  <bruno@clisp.org>
7164         truncate: Make more robust in multithreaded applications.
7165         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
7167 2020-05-28  Bruno Haible  <bruno@clisp.org>
7169         pagealign_alloc: Make more robust in multithreaded applications.
7170         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
7171         open().
7172         * modules/pagealign_alloc (Depends-on): Add 'open'.
7174 2020-05-28  Bruno Haible  <bruno@clisp.org>
7176         openat: Make more robust in multithreaded applications.
7177         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
7179 2020-05-28  Bruno Haible  <bruno@clisp.org>
7181         at-internal: Make more robust in multithreaded applications.
7182         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
7183         open().
7185 2020-05-28  Bruno Haible  <bruno@clisp.org>
7187         mountlist: Make more robust in multithreaded applications.
7188         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
7189         open().
7190         * modules/mountlist (Depends-on): Add 'open'.
7192 2020-05-28  Bruno Haible  <bruno@clisp.org>
7194         login_tty: Make more robust in multithreaded applications.
7195         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
7196         * modules/login_tty (Depends-on): Add 'open'.
7198 2020-05-28  Bruno Haible  <bruno@clisp.org>
7200         javacomp: Make more robust in multithreaded applications.
7201         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
7202         open().
7203         * modules/javacomp (Depends-on): Add 'open'.
7205 2020-05-28  Bruno Haible  <bruno@clisp.org>
7207         getprogname: Make more robust in multithreaded applications.
7208         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
7209         * modules/getprogname (Depends-on): Add 'open'.
7211 2020-05-28  Bruno Haible  <bruno@clisp.org>
7213         get_progname_of: Make more robust in multithreaded applications.
7214         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
7215         open().
7216         * modules/get_progname_of (Depends-on): Add 'open'.
7218 2020-05-28  Bruno Haible  <bruno@clisp.org>
7220         get_ppid_of: Make more robust in multithreaded applications.
7221         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
7222         * modules/get_ppid_of (Depends-on): Add 'open'.
7224 2020-05-28  Bruno Haible  <bruno@clisp.org>
7226         get-rusage-as: Make more robust in multithreaded applications.
7227         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
7228         flag to open().
7229         * modules/get-rusage-as (Depends-on): Add 'open'.
7231 2020-05-28  Bruno Haible  <bruno@clisp.org>
7233         crypto/gc: Make more robust in multithreaded applications.
7234         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
7235         * modules/crypto/gc (Depends-on): Add 'open'.
7237 2020-05-28  Bruno Haible  <bruno@clisp.org>
7239         copy-file: Make more robust in multithreaded applications.
7240         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
7241         open().
7243 2020-05-28  Bruno Haible  <bruno@clisp.org>
7245         chown: Make more robust in multithreaded applications.
7246         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
7248 2020-05-28  Bruno Haible  <bruno@clisp.org>
7250         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
7251         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
7253 2020-05-28  Daiki Ueno  <ueno@gnu.org>
7255         fopen-gnu: make 'b' flag can be used with 'e' on Windows
7256         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
7257         specified on Windows.
7258         * tests/test-fopen-gnu.c (DATA): New define.
7259         (main): Add test for reading binary files with an 'e' flag.
7261 2020-05-27  Bruno Haible  <bruno@clisp.org>
7263         Don't assume that UNICODE is not defined.
7264         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
7265         differently if the application defines the macro UNICODE.
7266         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7267         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
7268         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
7269         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
7270         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
7272 2020-05-27  Bruno Haible  <bruno@clisp.org>
7274         Improve pattern for defining _WIN32_WINNT.
7275         Newer versions of the Windows API may not only add, but also remove API
7276         functions. Therefore, when the user is e.g. building for Windows 10, we
7277         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
7278         use of APIs that were present in Windows 8 but removed in Windows 10.
7279         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
7280         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
7281         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
7282         * lib/sethostname.c (_WIN32_WINNT): Likewise.
7283         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
7285 2020-05-27  Bruno Haible  <bruno@clisp.org>
7287         javacomp: Make more robust in multithreaded applications.
7288         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
7289         * modules/javacomp (Depends-on): Add fopen-gnu.
7291 2020-05-27  Bruno Haible  <bruno@clisp.org>
7293         mountlist: Make more robust in multithreaded applications.
7294         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
7295         to fopen.
7296         * modules/mountlist (Depends-on): Add fopen-gnu.
7298 2020-05-27  Bruno Haible  <bruno@clisp.org>
7300         sethostname: Make more robust in multithreaded applications.
7301         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
7302         * modules/sethostname (Depends-on): Add fopen-gnu.
7304 2020-05-27  Bruno Haible  <bruno@clisp.org>
7306         readutmp: Make more robust in multithreaded applications.
7307         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
7308         * modules/readutmp (Depends-on): Add fopen-gnu.
7310 2020-05-27  Bruno Haible  <bruno@clisp.org>
7312         getpass: Make more robust in multithreaded applications.
7313         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
7314         * modules/getpass (Depends-on): Add fopen-gnu.
7316 2020-05-27  Bruno Haible  <bruno@clisp.org>
7318         getloadavg: Make more robust in multithreaded applications.
7319         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
7320         * modules/getloadavg (Depends-on): Add fopen-gnu.
7322 2020-05-27  Bruno Haible  <bruno@clisp.org>
7324         exclude: Make more robust in multithreaded applications.
7325         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
7326         * modules/exclude (Depends-on): Add fopen-gnu.
7328 2020-05-27  Bruno Haible  <bruno@clisp.org>
7330         bitset: Make more robust in multithreaded applications.
7331         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
7332         'e' flag to fopen.
7333         * modules/bitset (Depends-on): Add fopen-gnu.
7335 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7337         read-file: add RF_SENSITIVE flag
7338         * lib/read-file.h (RF_SENSITIVE): New define.
7339         * lib/read-file.c (fread_file, read_file): Take into account of
7340         RF_SENSITIVE flag.
7341         * modules/read-file (Depends-on): Add explicit_bzero.
7342         This adds an alternative behavior of those functions to explicitly
7343         clear the internal memory block when it becomes unused.  This is
7344         useful for reading sensitive information from a file.
7346 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7348         read-file: add flags to modify reading behavior
7349         * lib/read-file.h (RF_BINARY): New define.
7350         (fread_file, read_file): Take FLAGS argument.
7351         (read_binary_file): Remove.
7352         * lib/read-file.c (internal_read_file): Merge into ...
7353         (read_file): ... here.
7354         * modules/read-file-tests (Files): Add "tests/macros.h".
7355         * tests/test-read-file.c (main): Refactor using ASSERT macro.
7356         * NEWS: Mention this change.
7358 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
7360         doc/gnulib-intro.texi: add missing "to" in sentence
7361         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
7362         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
7363         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
7365 2020-05-26  Bruno Haible  <bruno@clisp.org>
7367         count-one-bits: Fix MSVC specific code.
7368         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7369         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
7370         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
7371         using GCC.
7372         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
7373         (__popcnt64): In 32-bit mode, define as an inline function.
7374         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
7376 2020-05-26  Bruno Haible  <bruno@clisp.org>
7378         argz: Avoid name clashes through argz.h.
7379         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7380         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
7381         * lib/argz.h: Don't use __ prefixed identifiers.
7382         (const): Remove definition.
7383         (argz_next): Remove inline definitions.
7385 2020-05-26  Daiki Ueno  <ueno@gnu.org>
7387         read-file: make use of fopen-gnu
7388         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
7389         (read_binary_file): Likewise.
7390         * modules/read-file (Depends-on): Add fopen-gnu.
7392 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7394         getentropy, getrandom: new modules
7395         * MODULES.html.sh (func_all_modules):
7396         * lib/unistd.in.h (getentropy, getrandom):
7397         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
7398         * modules/unistd (unistd.h):
7399         Add support for getentropy, getrandom.
7400         * doc/glibc-functions/getentropy.texi (getentropy):
7401         * doc/glibc-functions/getrandom.texi (getrandom):
7402         These are now fixed on some platforms.
7403         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
7404         * m4/getentropy.m4, m4/getrandom.m4:
7405         * modules/getentropy, modules/getentropy-tests:
7406         * modules/getrandom, modules/getrandom-tests:
7407         * tests/test-getentropy.c, tests/test-getrandom.c:
7408         New files.
7410 2020-05-25  Bruno Haible  <bruno@clisp.org>
7412         Add missing C99 dependencies.
7413         Reported by Paul Smith <psmith@gnu.org> in
7414         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
7415         * modules/assert (Depends-on): Add c99.
7416         * modules/filenamecat-lgpl (Depends-on): Likewise.
7417         * modules/libc-config (Depends-on): Likewise.
7418         * modules/mktime (Depends-on): Likewise.
7419         * modules/random_r (Depends-on): Likewise.
7420         * modules/regex (Depends-on): Likewise.
7421         * modules/scratch_buffer (Depends-on): Likewise.
7422         * modules/timespec-add (Depends-on): Likewise.
7423         * modules/timespec-sub (Depends-on): Likewise.
7424         * modules/verify (Depends-on): Likewise.
7426 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7428         explicit_bzero-tests: pacify -Wmissing-declarations
7429         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
7430         Now static.
7432 2020-05-24  Bruno Haible  <bruno@clisp.org>
7434         fopen-gnu: Add tests.
7435         * tests/test-fopen-gnu.c: New file.
7436         * modules/fopen-gnu-tests: New file.
7438         fopen-gnu: New module.
7439         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
7440         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
7441         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
7442         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
7443         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
7444         * modules/fopen-gnu: New file.
7445         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
7447 2020-05-24  Bruno Haible  <bruno@clisp.org>
7449         open, openat: Really support O_CLOEXEC.
7450         * lib/open.c (open): When have_cloexec is still undecided, do pass a
7451         O_CLOEXEC flag to orig_open.
7452         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
7453         pass a O_CLOEXEC flag to orig_openat.
7454         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
7455         * modules/open-tests (Depends-on): Add fcntl.
7456         * modules/openat-tests (Depends-on): Likewise.
7457         * modules/fcntl-safer-tests (Depends-on): Likewise.
7459 2020-05-24  Bruno Haible  <bruno@clisp.org>
7461         fopen: Fix the trailing slash workaround.
7462         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
7463         write access. Pass the right flags to open().
7464         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
7466 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7468         assure: new macro ‘affirm’
7469         * lib/assure.h: Include verify.h.
7470         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
7471         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
7472         and commentary by Bruno Haible in:
7473         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
7474         * modules/assure (Depends-on:): Add verify.
7476 2020-05-23  Bruno Haible  <bruno@clisp.org>
7478         calloc-gnu: Make test work in non-flat address spaces.
7479         Uses code by Paul Eggert.
7480         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
7481         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
7483 2020-05-23  Bruno Haible  <bruno@clisp.org>
7485         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
7486         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
7487         AC_RUN_IFELSE invocations.
7489 2020-05-23  Bruno Haible  <bruno@clisp.org>
7491         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
7492         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
7493         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
7494         don't have it.
7495         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
7496         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
7497         don't have it.
7498         * lib/isnanf-nolibm.h (__has_builtin): New macro.
7499         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7500         it.
7501         * lib/isnanl-nolibm.h (__has_builtin): New macro.
7502         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7503         it.
7504         * lib/math.in.h (__has_builtin): New macro.
7505         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7506         it.
7507         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7508         it.
7509         (isnan): Don't use the builtins on clang versions that don't have
7510         __builtin_isnanf and __builtin_isnanl.
7512 2020-05-23  Bruno Haible  <bruno@clisp.org>
7514         calloc-gnu: Avoid wrong configure results with clang.
7515         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
7516         'volatile', to defeat compiler optimizations.
7518 2020-05-23  Bruno Haible  <bruno@clisp.org>
7520         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
7521         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
7522         'long double' values by reference, with values taken from a statically
7523         allocated array.
7525 2020-05-23  Bruno Haible  <bruno@clisp.org>
7527         findprog-in: Ignore directories.
7528         Reported by Frederick Eaton via Dmitry Goncharov in
7529         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7530         * lib/findprog-in.c (find_in_given_path): When the file found is a
7531         directory, set errno to EACCES and, during a PATH search, continue
7532         searching.
7533         * modules/findprog-in (Depends-on): Add sys_stat, stat.
7535 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7537         verify: document ‘assume’ better
7538         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
7540 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
7542         gendocs: Clarify licenses for templates.
7543         * doc/gendocs_template: Add a GNU All-Permissive license notice
7544         and bump Parent-Version.
7545         * doc/gendocs_template_min: Add a GNU All-Permissive license
7546         notice and copy the explanatory comment about the license notice
7547         at the bottom from gendocs_template.
7549 2020-05-21  Bruno Haible  <bruno@clisp.org>
7551         group-member: Relicense under LGPLv2+.
7552         Jim Meyering's approval is in
7553         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
7554         Paul Eggert's approval is in
7555         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
7556         Eric Blake's approval is in
7557         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
7558         * modules/group-member (License): Change to LGPLv2+.
7560 2020-05-21  Bruno Haible  <bruno@clisp.org>
7562         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
7563         Reported by Tim Rühsen in
7564         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7565         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
7567 2020-05-21  Bruno Haible  <bruno@clisp.org>
7569         regex: Avoid wrong configure results with "clang -fsanitize=leak".
7570         Reported by Tim Rühsen in
7571         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7572         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
7573         before returning with status 0.
7575 2020-05-21  Bruno Haible  <bruno@clisp.org>
7577         glob: Avoid wrong configure results with "clang -fsanitize=leak".
7578         Reported by Tim Rühsen in
7579         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7580         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
7582 2020-05-21  Bruno Haible  <bruno@clisp.org>
7584         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
7585         Reported by Tim Rühsen in
7586         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7587         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
7588         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
7589         respectively.
7591 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
7593         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
7594         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
7596 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7598         ftoastr: fix ifndef typo
7599         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
7601 2020-05-19  Bruno Haible  <bruno@clisp.org>
7603         havelib: Tweak documentation.
7604         * doc/havelib.texi (Searching for Libraries): Fix typo.
7606 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7608         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
7609         This was needed earlier because modules had to import the main script,
7610         but that is no longer true.  Rename the script so that it is
7611         consistent with all other scripts in gnulib and uses hyphens.
7612         * build-aux/vcs_to_changelog.py: Rename to...
7613         * build-aux/vcs-to-changelog.py: ... this.
7614         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
7615         * modules/vcs-to-changelog: Likewise.
7617 2020-05-17  Bruno Haible  <bruno@clisp.org>
7619         Clarify intended usage of the license file modules.
7620         Reported by Asher Gordon <AsDaGo@posteo.net> in
7621         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
7622         * doc/licenses-texi.texi (License Texinfo sources): Mention the
7623         GNU AGPL. Explain the intended usage of the modules.
7624         * modules/fdl (Notice): Discourage use as a module.
7625         * modules/fdl-1.3 (Notice): Likewise.
7627 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
7629         hash: add hash_xinsert
7630         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
7632 2020-05-16  Bruno Haible  <bruno@clisp.org>
7634         findprog-lgpl: Fix link error (existing since 2008-09-02).
7635         * modules/findprog-lgpl (Makefile.am): Arrange to compile
7636         findprog-lgpl.c, not findprog.c.
7637         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
7638         XNMALLOC.
7640 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
7642         c-stack: pacify -Wunused-result when DEBUG
7643         Problem reported by Marc Nieper-Wißkirchen in:
7644         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
7645         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
7646         Explicitly ignore write failures.
7648 2020-05-13  Jim Meyering  <meyering@fb.com>
7650         announce-gen: improve a comment
7651         * build-aux/announce-gen: Improve comment.
7653 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
7655         xalloc: pacify -Wanalyzer-possible-null-argument
7656         Problem reported for GCC 10.1.0 by Bruno Haible in:
7657         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
7658         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
7659         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
7660         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
7662 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
7664         careadlinkat: fix GCC 10 workaround
7665         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
7666         Massage the code so that it’s closer to what it was before
7667         the GCC 10.1.0 workaround was introduced.  This fixes
7668         a loop when !buffer and the bug workaround is in effect.
7669         Remove unnecessary casts.  Defend in a different way
7670         against (buffer && !buffer_size), by adding at least 1
7671         to buf_size each time through the loop.
7673 2020-05-10  Bruno Haible  <bruno@clisp.org>
7675         doc: Mark HP-UX as unsupported.
7676         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
7678 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7680         careadlinkat: limit GCC workaround
7681         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
7682         10.1.0 and later, since the workaround is pretty bad and the GCC
7683         bug should get fixed.
7685 2020-05-10  Bruno Haible  <bruno@clisp.org>
7687         havelib: Enhance documentation.
7688         * doc/havelib.texi (Searching for Libraries): Mention the bad
7689         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
7691 2020-05-10  Bruno Haible  <bruno@clisp.org>
7693         attribute: Clarify list of attributes.
7694         * lib/attribute.h: Reorder the list of attributes, and group them by
7695         purpose.
7697 2020-05-10  Bruno Haible  <bruno@clisp.org>
7699         string: Fix compilation error in C++ mode.
7700         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
7701         _GL_WARN_ON_USE.
7702         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
7703         instead of _GL_WARN_ON_USE.
7705 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
7707         announce-gen: add support for dist-lzip
7708         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
7710 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
7712         manywarnings: port to GCC 10.1
7713         * build-aux/gcc-warning.spec:
7714         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
7715         Add GCC 10.1.0 warnings.
7717         careadlinkat: pacify -Wreturn-local-addr
7718         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
7719         Pacify gcc 10’s -Wreturn-local-addr option.
7720         Simplify some of the later code.
7722 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
7724         attribute: remove ATTRIBUTE_DEPRECATED
7725         * lib/attribute.h: Improve recently-added comments, mostly
7726         by shortening them (use active voice, etc.).
7727         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
7728         Problem reported by Bruno Haible in:
7729         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
7731 2020-05-09  Bruno Haible  <bruno@clisp.org>
7733         attribute: Add comments.
7734         * lib/attribute.h: Document each macro.
7736 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
7738         bitset: use the attribute module
7739         * modules/bitset: Depend on 'attribute'.
7740         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
7741         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
7742         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
7743         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
7745 2020-05-09  Bruno Haible  <bruno@clisp.org>
7747         c-stack: Fix warning when DEBUG is enabled.
7748         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7749         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
7750         * lib/c-stack.c: Include <stdio.h>.
7752 2020-05-09  Bruno Haible  <bruno@clisp.org>
7754         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
7755         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
7756         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7757         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7758         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7759         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7760         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7761         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7762         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7763         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
7764         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7765         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7766         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7768 2020-05-09  Bruno Haible  <bruno@clisp.org>
7770         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
7771         Reported by Akim Demaille in
7772         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
7773         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
7774         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7775         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7777 2020-05-09  Bruno Haible  <bruno@clisp.org>
7779         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
7780         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
7781         that usually comes from m4/gnulib-common.m4.
7782         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7784 2020-05-09  Bruno Haible  <bruno@clisp.org>
7786         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
7787         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
7788         that usually comes from m4/gnulib-common.m4.
7789         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7790         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7791         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7793 2020-05-09  Bruno Haible  <bruno@clisp.org>
7795         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
7796         * lib/uchar.in.h (char16_t): Define as macro if
7797         GNULIB_OVERRIDES_CHAR16_T.
7798         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
7799         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
7800         (gl_UCHAR_H): Invoke them.
7801         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
7802         GNULIB_OVERRIDES_CHAR32_T.
7803         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
7804         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
7805         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
7806         GNULIB_OVERRIDES_CHAR32_T.
7808 2020-05-09  Bruno Haible  <bruno@clisp.org>
7810         Macro tweaks.
7811         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
7812         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
7814 2020-05-08  Bruno Haible  <bruno@clisp.org>
7816         c32rtomb: Avoid compilation failure on Haiku.
7817         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
7818         inline definitions.
7819         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
7821 2020-05-08  Bruno Haible  <bruno@clisp.org>
7823         mbrtoc32: Avoid compilation failure on Haiku.
7824         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
7825         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
7826         AC_CHECK_FUNCS_ONCE.
7827         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
7829 2020-05-08  Bruno Haible  <bruno@clisp.org>
7831         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
7832         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
7834 2020-05-08  Bruno Haible  <bruno@clisp.org>
7836         list: Update documentation.
7837         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7838         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
7839         * doc/containers.texi (Container data types): Document the new list
7840         operations and their complexity.
7842 2020-05-08  Bruno Haible  <bruno@clisp.org>
7844         ignore-value tests: Use module 'attribute'.
7845         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
7846         * tests/test-ignore-value.c: Include attribute.h.
7847         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
7848         * modules/ignore-value-tests (Depends-on): Add attribute.
7850 2020-05-08  Bruno Haible  <bruno@clisp.org>
7852         uniname/uniname: Use module 'attribute'.
7853         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
7854         * lib/uniname/uninames.h: Regenerated.
7855         * lib/uniname/uniname.c: Include attribute.h.
7856         * modules/uniname/uniname (Depends-on): Add attribute.
7858 2020-05-08  Bruno Haible  <bruno@clisp.org>
7860         c32rtomb: Use module 'attribute'.
7861         * lib/c32rtomb.c: Include attribute.h.
7862         (FALLTHROUGH): Remove macro.
7863         * modules/c32rtomb (Depends-on): Add attribute.
7865 2020-05-08  Bruno Haible  <bruno@clisp.org>
7867         xsize: Use module 'attribute'.
7868         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
7869         * modules/xsize (Depends-on): Add attribute.
7871 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
7873         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
7875         * lib/attribute.h: Minor style fixes.
7877         Fix version-etc glitch on OpenIndiana
7878         Problem reported by Mats Erik Andersson in:
7879         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
7880         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
7881         that now clashes with gnulib-common.h.  All uses changed.
7883 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
7885         attribute: new module
7886         This simplifies use of GCC and C2X attributes like ‘deprecated’.
7887         * MODULES.html.sh: Add attribute.
7888         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
7889         * doc/gnulib.texi (Particular Modules): Add Attributes.
7890         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
7891         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
7892         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
7893         * lib/vasnprintf.c:
7894         Include attribute.h, and let it define FALLTHROUGH.
7895         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
7896         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
7897         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
7898         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
7899         This is a copy since Gawk doesn’t use Gnulib.
7900         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
7901         is incompatible with gl_COMMON_BODY’s.  All uses changed.
7902         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
7903         Keep the existing FALLTHROUGH definition since Glibc might use it,
7904         and it does no harm to Gnulib’s FALLTHROUGH.
7905         * lib/fts_.h, lib/inttostr.h:
7906         (__GNUC_PREREQ): Remove; no longer needed.
7907         (__attribute_warn_unused_result__): Remove.  All uses
7908         replaced by _GL_ATTRIBUTE_NODISCARD.
7909         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
7910         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
7911         __attribute__ ((__warn_unused_result__)), for forward
7912         compatibility to C2X.
7913         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
7914         _GL_ATTRIBUTE_NODISCARD.
7915         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
7916         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
7917         replaced by gl_COMMON_BODY’s implementation, which has a
7918         slightly different signature.
7919         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
7920         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
7921         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
7922         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
7923         No doubt all uses should be replaced, at some point.
7924         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
7925         (_Noreturn): Use it.
7926         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
7927         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
7928         (_GL_ATTRIBUTE_COLD)
7929         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
7930         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
7931         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
7932         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
7933         (_GL_ATTRIBUTE_MAYBE_UNUSED)
7934         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
7935         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
7936         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
7937         (_GL_ATTRIBUTE_RETURNS_NONNULL)
7938         (_GL_ATTRIBUTE_SENTINEL): New macros.
7939         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
7940         * modules/fnmatch, modules/freopen-safer, modules/fts:
7941         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
7942         * modules/quotearg, modules/savewd:
7943         * modules/unistdio/u16-u16-vasnprintf:
7944         * modules/unistdio/u16-vasnprintf:
7945         * modules/unistdio/u32-u32-vasnprintf:
7946         * modules/unistdio/u32-vasnprintf:
7947         * modules/unistdio/u8-u8-vasnprintf:
7948         * modules/unistdio/u8-vasnprintf:
7949         * modules/unistdio/ulc-vasnprintf:
7950         * modules/unistr/u8-uctomb, modules/vasnprintf:
7951         (Depends-on:): Add attribute module.
7953 2020-05-03  Bruno Haible  <bruno@clisp.org>
7955         bison: Fix today's commit.
7956         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
7958 2020-05-03  Bruno Haible  <bruno@clisp.org>
7960         list-c++: Add get_first, get_last, set_first, set_last operations.
7961         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
7962         set_first, set_last.
7963         * lib/gl_list.h: Tweak comments.
7965 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
7967         bison: rely on bison's %require to check a version requirement
7968         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
7969         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
7970         enough of not.
7971         So far it is the only know Yacc tool that supports '%require'.
7972         Other yaccs will actually even choke on seeing the -o option after the
7973         input file name.
7974         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
7976 2020-05-02  Bruno Haible  <bruno@clisp.org>
7978         list: Add get_first, get_last, set_first, set_last operations.
7979         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
7980         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
7981         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
7983 2020-05-02  Bruno Haible  <bruno@clisp.org>
7985         list: Remove redundant code for remove_first and remove_last operations.
7986         * lib/gl_list.h (struct gl_list_implementation): Remove fields
7987         remove_first, remove_last.
7988         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
7989         * lib/gl_array_list.c: Revert last change.
7990         * lib/gl_carray_list.c: Likewise.
7991         * lib/gl_anylinked_list2.h: Likewise.
7992         * lib/gl_linked_list.c: Likewise.
7993         * lib/gl_linkedhash_list.c: Likewise.
7994         * lib/gl_anytree_list2.h: Likewise.
7995         * lib/gl_avltree_list.c: Likewise.
7996         * lib/gl_avltreehash_list.c: Likewise.
7997         * lib/gl_rbtree_list.c: Likewise.
7998         * lib/gl_rbtreehash_list.c: Likewise.
7999         * lib/gl_sublist.c: Likewise.
8001 2020-05-02  Bruno Haible  <bruno@clisp.org>
8003         bison-i18n: Add support for cross-compilation.
8004         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
8005         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
8006         via Akim Demaille <akim@lrde.epita.fr>.
8007         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
8008         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
8009         Don't use bison's --print-localedir option when cross-compiling.
8010         Also, fix an error message and a comment.
8012 2020-05-01  Bruno Haible  <bruno@clisp.org>
8014         list: Add remove_first and remove_last operations.
8015         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
8016         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
8017         * lib/gl_list.h (struct gl_list_implementation): Add fields
8018         remove_first, remove_last.
8019         (gl_list_remove_first, gl_list_remove_last): New functions.
8020         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
8021         functions, based on gl_array_remove_at.
8022         (gl_array_list_implementation): Implement the new operations.
8023         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
8024         New functions, based on gl_carray_remove_at.
8025         (gl_carray_list_implementation): Implement the new operations.
8026         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
8027         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
8028         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
8029         new operations.
8030         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
8031         Likewise.
8032         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
8033         New functions, based on gl_tree_remove_at.
8034         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
8035         new operations.
8036         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
8037         Likewise.
8038         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
8039         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
8040         Likewise.
8041         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
8042         New functions, based on gl_sublist_remove_at.
8043         (gl_sublist_list_implementation): Implement the new operations.
8044         * lib/gl_list.hh (class gl_List): Add methods remove_first,
8045         remove_last.
8046         * tests/test-array_list.c (main): Test also gl_list_remove_first and
8047         gl_list_remove_last.
8048         * tests/test-avltree_list.c (main): Likewise.
8049         * tests/test-avltreehash_list.c (main): Likewise.
8050         * tests/test-carray_list.c (main): Likewise.
8051         * tests/test-linked_list.c (main): Likewise.
8052         * tests/test-linkedhash_list.c (main): Likewise.
8053         * tests/test-rbtree_list.c (main): Likewise.
8054         * tests/test-rbtreehash_list.c (main): Likewise.
8056 2020-05-01  Bruno Haible  <bruno@clisp.org>
8058         parse-datetime: Fix a build failure with an older bison version.
8059         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
8060         parse-datetime.tab.c if a suitable version of bison was not found.
8062 2020-05-01  Bruno Haible  <bruno@clisp.org>
8064         bison: New module.
8065         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
8066         m4/parse-datetime.m4.
8067         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
8068         * modules/bison: New file.
8069         * modules/parse-datetime (Files): Remove m4/bison.m4.
8070         (Depends-on): Add bison.
8072 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
8074         Update users.txt.
8075         * users.txt: Add poke.
8077 2020-04-28  Bruno Haible  <bruno@clisp.org>
8079         posix_spawn_file_actions_addfchdir tests: Enhance test.
8080         * tests/test-posix_spawn5.c: Include findprog.h.
8081         (test): New function, extracted from main.
8082         (main): Invoke it. Also, invoke it with a program name such as
8083         "bin/pwd".
8084         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
8085         findprog.
8087 2020-04-28  Bruno Haible  <bruno@clisp.org>
8089         posix_spawn_file_actions_addchdir tests: Enhance test.
8090         * tests/test-posix_spawn4.c: Include findprog.h.
8091         (test): New function, extracted from main.
8092         (main): Invoke it. Also, invoke it with a program name such as
8093         "bin/pwd".
8094         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
8095         findprog.
8097 2020-04-28  Bruno Haible  <bruno@clisp.org>
8099         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
8100         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
8101         access elements of the wrong union member.
8103 2020-04-27  Bruno Haible  <bruno@clisp.org>
8105         getdate: Remove deprecated module.
8106         * modules/getdate: Remove file.
8107         * doc/getdate.texi: Remove file.
8108         * lib/getdate.h: Remove file.
8109         * NEWS: Mention the removal.
8111 2020-04-27  Bruno Haible  <bruno@clisp.org>
8113         realloc: Remove deprecated module.
8114         * modules/realloc: Remove file.
8115         * NEWS: Mention the removal.
8117 2020-04-27  Bruno Haible  <bruno@clisp.org>
8119         calloc: Remove deprecated module.
8120         * modules/calloc: Remove file.
8121         * NEWS: Mention the removal.
8123 2020-04-27  Bruno Haible  <bruno@clisp.org>
8125         malloc: Remove deprecated module.
8126         * modules/malloc: Remove file.
8127         * NEWS: Mention the removal.
8129 2020-04-27  Bruno Haible  <bruno@clisp.org>
8131         fnmatch-posix: Remove deprecated module.
8132         * modules/fnmatch-posix: Remove file.
8133         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
8134         * NEWS: Mention the removal.
8136 2020-04-27  Bruno Haible  <bruno@clisp.org>
8138         pipe: Remove deprecated module.
8139         * modules/pipe: Remove file.
8140         * lib/pipe.h: Remove file.
8141         * NEWS: Mention the removal.
8143 2020-04-27  Bruno Haible  <bruno@clisp.org>
8145         getopt: Remove deprecated module.
8146         * modules/getopt: Remove file.
8147         * NEWS: Mention the removal.
8149 2020-04-27  Bruno Haible  <bruno@clisp.org>
8151         remove-dest-slash: Remove deprecated module.
8152         * modules/rename-dest-slash: Remove file.
8153         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
8154         Update.
8155         * NEWS: Mention the removal.
8157 2020-04-27  Bruno Haible  <bruno@clisp.org>
8159         unictype/bidicategory-*: Remove deprecated modules.
8160         * modules/unictype/bidicategory-all: Remove file.
8161         * modules/unictype/bidicategory-byname: Remove file.
8162         * modules/unictype/bidicategory-name: Remove file.
8163         * modules/unictype/bidicategory-of: Remove file.
8164         * modules/unictype/bidicategory-test: Remove file.
8165         * MODULES.html.sh (Unicode string functions): Update.
8166         * NEWS: Mention the removals.
8168 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8170         Tune fts for FTS_LOGICAL+FTS_NOSTAT
8171         From a suggestion by Askar Safin in:
8172         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
8173         * lib/fts.c (fts_build): If file types are known, optimize
8174         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
8175         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
8176         non-directories.
8178 2020-04-19  Bruno Haible  <bruno@clisp.org>
8180         vasnprintf: Add support for printing wide characters using escapes.
8181         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
8182         (wctomb_fallback): New function.
8183         (local_wctomb): New function.
8184         (local_wcrtomb): New function or macro.
8185         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
8186         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
8187         %lc.
8189 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8191         fts: remove NOSTAT_LEAF_OPTIMIZATION
8192         It caused ‘find’ and ‘du’ to dump core, and it was useful
8193         only for obsolescent Linux filesystems anyway.  Problem reported in:
8194         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
8195         Quite possibly there is still a serious underlying fts bug with
8196         tight-loop-check and mutating file systems, but if so this patch
8197         should cause the bug to be triggered less often.
8198         * lib/fts.c (enum leaf_optimization): Remove
8199         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
8200         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
8201         (leaf_optimization): Remove special cases for ReiserFS and XFS.
8202         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
8203         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
8204         Remove.  All uses removed.
8206 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8208         explicit_bzero: Improve code style.
8209         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
8211 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8213         explicit_bzero: On native Windows, use SecureZeroMemory().
8214         * lib/explicit_bzero.c: Include <windows.h>.
8215         (explicit_bzero): On native Windows, use SecureZeroMemory.
8217 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8219         explicit_bzero: Use memset_s() when available.
8220         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
8221         (explicit_bzero): Use memset_s when available.
8222         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
8224 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8226         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
8227         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
8228         free() that overwrite the memory with canaries.
8230 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
8232         bootstrap: recommend git submodule update --init
8233         Reported by Bruno Haible.
8234         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
8235         * build-aux/bootstrap: recommand "git submodule update --init"
8236         rather than "git submodule init".
8238 2020-04-12  Bruno Haible  <bruno@clisp.org>
8240         explicit_bzero: Add tests.
8241         * tests/test-explicit_bzero.c: New file.
8242         * modules/explicit_bzero-tests: New file.
8244 2020-04-11  Bruno Haible  <bruno@clisp.org>
8246         explicit_bzero: Relicense under LGPLv2+.
8247         Approved by Paul Eggert.
8248         * modules/explicit_bzero (License): Change to LGPLv2+.
8250 2020-04-10  Bruno Haible  <bruno@clisp.org>
8252         findprog, relocatable-prog: Ignore directories during PATH search.
8253         Reported by Frederick Eaton via Dmitry Goncharov in
8254         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
8256         * lib/findprog.c (find_in_path): When the file found in a PATH element
8257         is a directory, continue searching.
8258         * modules/findprog (Depends-on): Add sys_stat, stat.
8259         * modules/findprog-lgpl (Depends-on): Likewise.
8261         * lib/progreloc.c (maybe_executable): When the file found in a PATH
8262         element is a directory, continue searching.
8263         * lib/relocwrapper.c: Update comments.
8264         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
8265         (configure.ac-early): New section.
8267 2020-04-10  Bruno Haible  <bruno@clisp.org>
8269         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
8270         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8271         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
8272         * MODULES.html.sh: In a git-less tarball, use the date of the first
8273         ChangeLog entry.
8275 2020-04-04  Bruno Haible  <bruno@clisp.org>
8277         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
8278         * m4/gettext.m4: Fix comments regarding the gettext library.
8279         * m4/intl-thread-locale.m4: Likewise.
8280         * m4/intlmacosx.m4: Likewise.
8281         * m4/lcmessage.m4: Likewise.
8282         * m4/nls.m4: Likewise.
8283         * m4/po.m4: Likewise.
8284         * m4/progtest.m4: Likewise.
8286 2020-04-04  Jim Meyering  <meyering@fb.com>
8288         maint: remove a stray inter-word space in a 6x-repeated comment
8289         Induce the changes by running this:
8290           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
8291         * build-aux/announce-gen: Change "by  perl" to "by perl".
8292         * build-aux/gitlog-to-changelog: Likewise.
8293         * build-aux/prefix-gnulib-mk: Likewise.
8294         * build-aux/update-copyright: Likewise.
8295         * build-aux/useless-if-before-free: Likewise.
8296         * tests/test-update-copyright.sh: Likewise.
8298 2020-03-28  Bruno Haible  <bruno@clisp.org>
8300         Use module 'filename' instead of module 'dosname'.
8302         * lib/at-func.c: Include filename.h instead of dosname.h.
8303         * lib/unlinkat.c: Likewise.
8304         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
8305         * modules/areadlinkat-with-size (Depends-on): Likewise.
8306         * modules/faccessat (Depends-on): Likewise.
8307         * modules/fchmodat (Depends-on): Likewise.
8308         * modules/fchownat (Depends-on): Likewise.
8309         * modules/fstatat (Depends-on): Likewise.
8310         * modules/mkdirat (Depends-on): Likewise.
8311         * modules/mkfifoat (Depends-on): Likewise.
8312         * modules/readlinkat (Depends-on): Likewise.
8313         * modules/selinux-at (Depends-on): Likewise.
8314         * modules/symlinkat (Depends-on): Likewise.
8315         * modules/unlinkat (Depends-on): Likewise.
8316         * modules/utimensat (Depends-on): Likewise.
8318         * lib/at-func2.c: Include filename.h instead of dosname.h.
8319         * modules/linkat (Depends-on): Add filename. Remove dosname.
8320         * modules/renameatu (Depends-on): Likewise.
8322         * lib/canonicalize.c: Include filename.h instead of dosname.h.
8323         * lib/canonicalize-lgpl.c: Likewise.
8324         * modules/canonicalize (Depends-on): Add filename.
8325         * modules/canonicalize-lgpl (Depends-on): Likewise.
8327         * lib/dirname.h: Include filename.h instead of dosname.h.
8328         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
8330         * lib/fchdir.c: Include filename.h instead of dosname.h.
8331         * modules/fchdir (Depends-on): Add filename. Remove dosname.
8333         * lib/openat.c: Include filename.h instead of dosname.h.
8334         * modules/openat (Depends-on): Add filename. Remove dosname.
8336         * lib/rmdir.c: Include filename.h instead of dosname.h.
8337         * modules/rmdir (Depends-on): Add filename. Remove dosname.
8339         * lib/savewd.c: Include filename.h instead of dosname.h.
8340         * modules/savewd (Depends-on): Add filename. Remove dosname.
8342         * lib/unlink.c: Include filename.h instead of dosname.h.
8343         * modules/unlink (Depends-on): Add filename. Remove dosname.
8345         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
8346         * lib/relocwrapper.c: Update comments.
8348         * modules/lstat (Depends-on): Remove dosname.
8350 2020-03-28  Bruno Haible  <bruno@clisp.org>
8352         dosname: Redirect to 'filename'.
8353         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8354         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
8355         * lib/dosname.h: Remove all definitions. Just include filename.h.
8356         * modules/dosname (Status, Notice): Mark as deprecated.
8357         (Depends-on): Add 'filename'.
8359 2020-03-28  Bruno Haible  <bruno@clisp.org>
8361         dosname: Change IS_RELATIVE_FILE_NAME.
8362         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
8363         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
8364         * NEWS: Mention the change.
8366 2020-03-28  Bruno Haible  <bruno@clisp.org>
8368         filename: Copy some definitions from module 'dosname'.
8369         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
8370         (HAS_DEVICE): Document macro.
8371         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
8372         (IS_ABSOLUTE_FILE_NAME): Consider
8373         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
8374         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
8375         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
8376         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
8377         IS_PATH_WITH_DIR.
8378         (DllMain): Update.
8379         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
8380         IS_PATH_WITH_DIR.
8381         (find_executable): Update.
8382         * NEWS: Document the deprecations.
8384 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8386         getopt-posix: port __GETOPT_PREFIX to macOS
8387         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
8388         Define to work around a problem with asm on macOS (Bug#40205).
8390 2020-03-22  Bruno Haible  <bruno@clisp.org>
8392         MODULES.html.sh: Add support for reproducible builds.
8393         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8394         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
8395         * MODULES.html.sh: Print the date of the last gnulib commit, not the
8396         current date.
8398 2020-03-22  Bruno Haible  <bruno@clisp.org>
8400         Several modules: Depend on stat.
8401         * modules/acl-permissions (Depends-on): Add stat.
8402         * modules/canonicalize (Depends-on): Likewise.
8403         * modules/file-has-acl (Depends-on): Likewise.
8404         * modules/fstat (Depends-on): Likewise.
8405         * modules/fstatat (Depends-on): Likewise.
8406         * modules/glob (Depends-on): Likewise.
8407         * modules/javacomp (Depends-on): Likewise.
8408         * modules/linkat (Depends-on): Likewise.
8409         * modules/mkdir (Depends-on): Likewise.
8410         * modules/pt_chown (Depends-on): Likewise.
8411         * modules/ptsname_r (Depends-on): Likewise.
8412         * modules/readlinkat (Depends-on): Likewise.
8413         * modules/rename (Depends-on): Likewise.
8414         * modules/renameatu (Depends-on): Likewise.
8415         * modules/tmpdir (Depends-on): Likewise.
8416         * modules/utimens (Depends-on): Likewise.
8417         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
8418         * modules/same (Depends-on): Remove stat.
8420 2020-03-22  Bruno Haible  <bruno@clisp.org>
8422         acl-permissions: Improve autoconf macro.
8423         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
8424         more reliably.
8426 2020-03-22  Bruno Haible  <bruno@clisp.org>
8428         file-has-acl: Fix module description.
8429         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
8430         (Depends-on): Depend on acl-permissions unconditionally.
8432 2020-03-21  Bruno Haible  <bruno@clisp.org>
8434         unlink: Ensure errno also on native Windows.
8435         * modules/unlink (Depends-on): Add malloc-posix.
8437 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8439         unlink: fix malloc errno typo
8440         Problem reported by Tim Rühsen in:
8441         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
8442         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
8444 2020-03-16  Bruno Haible  <bruno@clisp.org>
8446         *printf-posix: Fix m4 error (regression from 2020-03-08).
8447         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
8448         brackets in AC_COMPILE_IFELSE invocation.
8450 2020-03-08  Bruno Haible  <bruno@clisp.org>
8452         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
8453         * modules/crypto/af_alg (Depends-on): Add fstat.
8454         * modules/renameatu (Depends-on): Likewise.
8455         * modules/same (Depends-on): Likewise.
8456         * modules/term-style-control (Depends-on): Likewise.
8458 2020-03-08  Bruno Haible  <bruno@clisp.org>
8460         *printf-posix: Document why it's overridden on some glibc systems.
8461         Reported by Adrian Bunk <bunk@stusta.de> in
8462         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
8463         * doc/posix-functions/*printf.texi: Document the problem with the %n
8464         directive on some glibc systems.
8465         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
8466         the cross-compilation guesses accordingly.
8468 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8470         open, openat: port to (O_RDWR | O_RDONLY) != 0
8471         Potential portability problem reported by Dan Gohman in:
8472         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
8473         * lib/open.c (open):
8474         * lib/openat.c (rpl_openat):
8475         Don’t assume O_RDONLY is disjoint from O_RDWR.
8477 2020-03-07  Bruno Haible  <bruno@clisp.org>
8479         openat: Fix theoretically possible issue on GNU/Hurd.
8480         Reported by Dan Gohman <sunfish@mozilla.com> in
8481         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
8482         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
8483         ignore the bits that are also set in O_RDONLY.
8485 2020-02-24  Bruno Haible  <bruno@clisp.org>
8487         getloadavg: Don't use /usr/local when cross-compiling on AIX.
8488         Reported by Jens Rehsack <sno@netbsd.org> in
8489         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
8490         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
8491         cross-compiling.
8493 2020-02-24  Bruno Haible  <bruno@clisp.org>
8495         fcntl: Add witness of gnulib override.
8496         Reported by Jens Rehsack <sno@netbsd.org> in
8497         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
8498         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
8499         macros.
8501 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
8503         Update users.txt.
8504         * users.txt: Add datamash, time.
8506 2020-02-23  Bruno Haible  <bruno@clisp.org>
8508         uni*/base: Use 'restrict'.
8509         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
8510         from lib/regex.h.
8511         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
8512         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
8513         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
8514         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
8515         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
8516         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
8517         '_UC_RESTRICT'.
8518         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
8519         u32_conv_to_encoding): Use '_UC_RESTRICT'.
8520         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
8521         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
8522         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8523         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8524         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
8525         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
8526         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
8527         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
8528         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
8529         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
8530         '_UC_RESTRICT'.
8531         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
8532         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
8533         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
8534         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
8535         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
8536         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
8537         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
8538         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
8540 2020-02-23  Bruno Haible  <bruno@clisp.org>
8542         glob, spawn: Use improved '_Restrict_' definition.
8543         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
8544         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
8546 2020-02-23  Bruno Haible  <bruno@clisp.org>
8548         crypto/gc: Use 'restrict'.
8549         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
8550         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
8552         crypto/hmac-*: Use 'restrict'.
8553         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
8554         'restrict'.
8555         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
8556         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
8557         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
8558         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
8560         crypto/sm3: Use 'restrict'.
8561         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
8562         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
8564         crypto/*-buffer: Use 'restrict'.
8565         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
8566         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
8568         crypto/sha512-buffer: Use 'restrict'.
8569         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
8570         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
8571         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
8573         crypto/sha256-buffer: Use 'restrict'.
8574         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
8575         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
8576         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
8578         crypto/sha1-buffer: Use 'restrict'.
8579         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
8580         'restrict'.
8581         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
8583         crypto/md5-buffer: Use 'restrict'.
8584         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
8585         'restrict'.
8586         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
8588         crypto/md4: Use 'restrict'.
8589         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
8590         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
8592         crypto/md2: Use 'restrict'.
8593         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
8594         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
8596         crypto/rijndael: Use 'restrict'.
8597         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
8598         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
8599         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
8601         crypto/arctwo: Use 'restrict'.
8602         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
8603         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
8605         crypto/arcfour: Use 'restrict'.
8606         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
8607         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
8609         careadlinkat: Use 'restrict'.
8610         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
8611         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
8612         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
8614         regex-quote: Use 'restrict'.
8615         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
8616         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
8618         system-quote: Use 'restrict'.
8619         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
8620         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
8622         sh-quote: Use 'restrict'.
8623         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
8624         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
8626         quotearg: Use 'restrict'.
8627         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
8628         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
8630         parse-datetime: Use 'restrict'.
8631         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
8632         'restrict'.
8633         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
8635         nstrftime: Use 'restrict'.
8636         * lib/strftime.h (nstrftime): Use 'restrict'.
8637         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
8639         mbstok_r: Use 'restrict'.
8640         * lib/string.in.h (mbstok_r): Use 'restrict'.
8642         xmemcoll: Use 'restrict'.
8643         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
8644         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
8646         memcoll: Use 'restrict'.
8647         * lib/memcoll.h (memcoll): Use 'restrict'.
8648         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
8650         vasnprintf: Use 'restrict'.
8651         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
8652         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
8654         c-vasnprintf: Use 'restrict'.
8655         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
8656         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
8658         c-vsnprintf: Use 'restrict'.
8659         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
8660         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
8662         c-snprintf: Use 'restrict'.
8663         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
8664         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
8666         astrxfrm: Use 'restrict'.
8667         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
8668         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
8670         amemxfrm: Use 'restrict'.
8671         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
8672         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
8674 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8676         fchmodat, lchmod: simplify
8677         It appears that we may have overengineered lchmod and fchmodat,
8678         in that the code was prepared for some hypothetical platforms but
8679         was so complicated that it was hard to understand.  I attempted to
8680         improve the situation by simplifying the code when this
8681         simplification should not hurt on real platforms; we can re-add
8682         complexity later to port to platforms I didn’t know about.
8683         * lib/fchmodat.c (fchmodat):
8684         * lib/lchmod.c (lchmod):
8685         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
8686         around the /proc code that needs it.
8687         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
8688         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
8689         Do not include <config.h> twice.
8690         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
8691         lchmod on any known hosts.
8692         (lchmod): Do not defer to fchmodat, so that the lchmod module
8693         need not depend on the fchmodat module (which is a circular
8694         dependency).  Do not use openat, since ‘open’ suffices.
8695         Coalesce calls to lchmod/chmod.
8696         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
8697         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
8698         * modules/lchmod (Depends-on, configure.ac):
8699         * modules/sys_stat (Depends-on):
8700         Do not worry about replacing lchmod, since that shouldn’t happen.
8701         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
8702         Do not worry about whether lchmod works on non-symlinks,
8703         since every known lchmod works on non-symlinks.
8704         * modules/lchmod (Depends-on):
8705         Remove circular dependency on fchmodat.
8707 2020-02-22  Bruno Haible  <bruno@clisp.org>
8709         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
8710         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
8711         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
8713 2020-02-22  Bruno Haible  <bruno@clisp.org>
8715         Use 'restrict' in all POSIX function declarations.
8716         * lib/iconv.in.h (iconv): Use 'restrict'.
8717         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
8718         * lib/monetary.in.h (strfmon_l): Likewise.
8719         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
8720         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
8721         pthread_mutex_timedlock, pthread_rwlock_init,
8722         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
8723         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
8724         * lib/search.in.h (tdelete): Likewise.
8725         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
8726         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
8727         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
8728         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
8729         Likewise.
8730         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
8731         strtoull): Likewise.
8732         * lib/string.in.h (strncat): Likewise.
8733         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
8734         recvfrom): Likewise.
8735         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
8736         * lib/time.in.h (strftime): Likewise.
8737         * lib/unistd.in.h (readlink, readlinkat): Likewise.
8738         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
8739         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
8740         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
8741         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
8742         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
8743         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
8744         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8745         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8746         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8747         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8748         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8749         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8750         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8751         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8752         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
8753         other *_h.m4 files.
8754         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
8756 2020-02-22  Bruno Haible  <bruno@clisp.org>
8758         Update NEWS.
8759         * NEWS: Mention the last change.
8761 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8763         chmodat, chownat: new modules
8764         These are split from fchmodat, fchownat.  GNU Emacs needs the
8765         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
8766         lchmodat.  Split the latter two into a new module chmodat.
8767         Similarly for fchownat.  This the same basic idea for why statat
8768         was split from fstatat on 2013-01-23.
8769         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
8770         Rename from FCHMODAT_INLINE.  All uses changed.
8771         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
8772         Rename from FCHOWNAT_INLINE.  All uses changed.
8773         * lib/openat.h:
8774         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
8775         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
8776         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
8777         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
8778         (configure.ac): Remove fchmodat module indicator.
8779         (Makefile.am): Omit chmodat.c.
8780         (Maintainer): Add self.
8781         * modules/fchownat: Similarly, but for chown.
8782         * tests/test-fchownat.c (BASE): Don't define if already defined.
8783         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
8785 2020-02-22  Bruno Haible  <bruno@clisp.org>
8787         users.txt: Add groff.
8788         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
8789         * users.txt: Add groff.
8791 2020-02-22  Bruno Haible  <bruno@clisp.org>
8793         gnulib-tool: Ensure copied files are writable.
8794         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
8795         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
8796         * gnulib-tool (func_ensure_writable): New function.
8797         (func_ln_s, func_hardlink, func_lookup_file, func_import,
8798         func_create_testdir, copy-file): Invoke it after copying a file.
8800 2020-02-22  Bruno Haible  <bruno@clisp.org>
8802         users.txt: Update.
8803         * users.txt: Update URLs to projects that have moved or switched to git.
8804         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
8805         over the summary view. Add gawk.
8807 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
8809         largefile: remove _DARWIN_USE_64_BIT_INODE
8810         It’s not needed in currently-supported macOS versions, and was
8811         problematic anyway in MacOS X 10.5 which was the only version that
8812         could use it.  Problem reported by Peter Eisentraut in:
8813         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
8814         * m4/largefile.m4 (AC_SYS_LARGEFILE):
8815         Don’t define _DARWIN_USE_64_BIT_INODE.
8816         This syncs with Autoconf master.
8818         Add ‘extern "C"’ to count-one-bits.h etc.
8819         This ports these .h files to C++.
8820         Problem reported by Simon Marchi in:
8821         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
8822         * lib/count-leading-zeros.h, lib/count-one-bits.h:
8823         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
8825 2020-02-19  Bruno Haible  <bruno@clisp.org>
8827         uninorm/decompose-internal: Avoid "no previous prototype" warning.
8828         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8829         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
8830         * lib/array-mergesort.h: Accept an optional macro definition
8831         STATIC_FROMTO.
8832         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
8834 2020-02-16  Bruno Haible  <bruno@clisp.org>
8836         fchmodat: Make more future-proof.
8837         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
8838         NEED_FCHMODAT_NONSYMLINK_FIX.
8839         (gl_PREREQ_FCHMODAT): New macro.
8840         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
8841         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
8842         without lchmod function.
8843         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
8845 2020-02-16  Bruno Haible  <bruno@clisp.org>
8847         lchmod: Make more future-proof.
8848         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
8849         (gl_PREREQ_LCHMOD): New macro.
8850         * lib/lchmod.c (orig_lchmod): New function.
8851         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
8852         Return EOPNOTSUPP only on Linux and on platforms without lchmod
8853         function.
8854         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
8856         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
8857         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
8859 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8861         xnanosleep: prefer pause, and get remaining time
8862         Problem reported by Vladimir Panteleev in:
8863         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
8864         * lib/xnanosleep.c: Include intprops.h, unistd.h.
8865         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
8866         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
8867         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
8868         * modules/xnanosleep (Depends-on): Add intprops, unistd.
8870 2020-02-16  Bruno Haible  <bruno@clisp.org>
8872         lchmod: Improve cross-compilation guess.
8873         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
8874         cross-compiling, guess depending on the platform.
8876 2020-02-16  Bruno Haible  <bruno@clisp.org>
8878         fstrcmp: Add API to clean up resources.
8879         Reported by Akim Demaille <akim@lrde.epita.fr> in
8880         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
8881         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
8882         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
8884 2020-02-14  Bruno Haible  <bruno@clisp.org>
8886         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
8887         Reported by Christian Biesinger in
8888         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
8889         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
8890         corresponding module is not enabled.
8891         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
8892         prototype if the corresponding module is not enabled.
8894 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
8896         fchmodat, lchmod: port to buggy Linux filesystems
8897         Problem reported by Florian Weimer in:
8898         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
8899         * lib/fchmodat.c (fchmodat):
8900         * lib/lchmod.c (lchmod):
8901         Don’t assume that chmod on the O_PATH-opened fd will do
8902         the right thing on a symbolic link.
8903         * lib/fchmodat.c (fchmodat):
8904         Don’t attempt to special-case
8905         any flag value other than AT_SYMLINK_NOFOLLOW.
8907 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
8909         lchmod: pacify Coverity CID 1491216
8910         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
8911         not complain about unreachable code at the ‘struct stat st;’
8912         declaration.
8914 2020-02-10  Bruno Haible  <bruno@clisp.org>
8916         copysignf: Fix link error on HP-UX with cc.
8917         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
8918         HP-UX, set COPYSIGNF_LIBM to -lm.
8920 2020-02-10  Bruno Haible  <bruno@clisp.org>
8922         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
8923         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
8924         with $(LIB_SEMAPHORE).
8925         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
8926         with $(LIB_SEMAPHORE).
8928 2020-02-10  Bruno Haible  <bruno@clisp.org>
8930         ptsname_r-tests: Avoid unused function warning.
8931         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
8933 2020-02-08  Bruno Haible  <bruno@clisp.org>
8935         lchmod: Add tests.
8936         * tests/test-lchmod.c: New file.
8937         * modules/lchmod-tests: New file.
8939 2020-02-08  Bruno Haible  <bruno@clisp.org>
8941         lchmod: Ensure declaration on HP-UX.
8942         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
8943         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
8945 2020-02-08  Bruno Haible  <bruno@clisp.org>
8947         fchmodat: Strengthen tests.
8948         * tests/test-fchmodat.c (BASE): New macro.
8949         (main): Use it, to avoid conflicts with other unit tests. Verify that
8950         fchmodat changed the file permission bits.
8952 2020-02-08  Bruno Haible  <bruno@clisp.org>
8954         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
8955         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
8956         '#undef __need_system_sys_stat_h'.
8958 2020-02-08  Bruno Haible  <bruno@clisp.org>
8960         fchmodat: Improve cross-compilation guesses.
8961         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
8962         cross-compiling, guess depending on the platform.
8963         * doc/posix-functions/fchmodat.texi: Clarify.
8965 2020-02-08  Bruno Haible  <bruno@clisp.org>
8967         Fix compilation errors in a testdir created with --with-c++-tests.
8968         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
8969         since it does not work any more with g++ >= 4.4.
8971 2020-02-08  Bruno Haible  <bruno@clisp.org>
8973         doc: Update for glibc 2.31.
8974         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
8975         * doc/gnulib.texi: Include it.
8976         * doc/pastposix-functions/h_errno.texi: Update.
8977         * doc/posix-functions/*.texi: Likewise.
8979 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
8981         mountlist: consider smb3 file systems as remote
8982         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
8983         "smb3" as remote.
8985 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8987         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
8988         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
8989         they act like chmod on non-symlinks.
8990         * NEWS:
8991         * doc/glibc-functions/lchmod.texi (lchmod):
8992         * doc/posix-functions/fchmodat.texi (fchmodat):
8993         Mention this.
8994         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
8995         config.h, and undef it after including sys/stat.h the first time.
8996         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
8997         sys/stat.h a second time after defining orig_fchmodat.
8998         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
8999         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
9000         * lib/lchmod.c: New file.
9001         * lib/sys_stat.in.h (fchmodat, lchmod):
9002         Support replacing these functions.
9003         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
9004         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
9005         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
9006         Test that lchmod works on non-symlinks.
9007         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
9008         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
9009         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
9010         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
9011         * modules/lchmod (Files): Add lib/lchmod.c.
9012         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
9013         (configure.ac): Compile lchmod.c if needed.
9014         (lib_SOURCES): Add lchmod.c.
9015         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
9016         and REPLACE_LCHMOD.
9017         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
9018         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
9020 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
9022         mountlist: Consider AFS filesystems as remote
9023         df --local relies on the ME_REMOTE macro to determine if a given
9024         mount entry should be considered "local".  There is special logic
9025         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
9026         kernel's kafs module or AuriStorFS is treated as a local mount.
9027         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
9028         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
9030 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
9032         Port _Noreturn to older Clang
9033         Problem reported by Jeffery Walton in:
9034         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
9035         * lib/_Noreturn.h (_Noreturn):
9036         * m4/gnulib-common.m4 (gl_COMMON_BODY):
9037         Assume _Noreturn works in Clang 3.5 and later.
9038         It is documented to work in Clang 3.5:
9039         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
9040         and is not documented in Clang 3.4:
9041         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
9042         Apple sets __clang_version__ to a different value, so use
9043         __apple_build_version__ there.  See:
9044         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
9046 2020-02-04  Pádraig Brady  <P@draigBrady.com>
9048         test-canonicalize: avoid unused function warning
9049         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
9050         with the same guard as that used to protect usage of the null_ptr
9051         function, so that one doesn't get a -Wunused warning.
9052         * tests/test-canonicalize-lgpl.c: Likewise.
9054 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
9056         libc-config: port to Apple’s Clang variant
9057         * lib/libc-config.h (__glibc_clang_prereq):
9058         Port to Apple’s Clang variant, which uses a different
9059         numbering scheme for __clang_major__.
9061 2020-02-02  Bruno Haible  <bruno@clisp.org>
9063         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
9064         * doc/containers.texi: Document these new modules.
9066 2020-02-02  Bruno Haible  <bruno@clisp.org>
9068         omap-c++: Add tests.
9069         * tests/test-omap-c++.cc: New file.
9070         * modules/omap-c++-tests: New file.
9072         omap-c++: New module.
9073         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
9074         * modules/omap-c++: New file.
9076 2020-02-02  Bruno Haible  <bruno@clisp.org>
9078         map-c++: Add tests.
9079         * tests/test-map-c++.cc: New file.
9080         * modules/map-c++-tests: New file.
9082         map-c++: New module.
9083         * lib/gl_map.hh: New file, based on lib/gl_map.h.
9084         * modules/map-c++: New file.
9086 2020-02-02  Bruno Haible  <bruno@clisp.org>
9088         oset-c++: Add tests.
9089         * tests/test-oset-c++.cc: New file.
9090         * modules/oset-c++-tests: New file.
9092         oset-c++: New module.
9093         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
9094         * modules/oset-c++: New file.
9096 2020-02-02  Bruno Haible  <bruno@clisp.org>
9098         set-c++: Add tests.
9099         * tests/test-set-c++.cc: New file.
9100         * modules/set-c++-tests: New file.
9102         set-c++: New module.
9103         * lib/gl_set.hh: New file, based on lib/gl_set.h.
9104         * modules/set-c++: New file.
9106 2020-02-02  Bruno Haible  <bruno@clisp.org>
9108         list-c++: Add tests.
9109         * tests/test-list-c++.cc: New file.
9110         * modules/list-c++-tests: New file.
9112         list-c++: New module.
9113         * lib/gl_list.hh: New file, based on lib/gl_list.h.
9114         * modules/list-c++: New file.
9116 2020-02-02  Bruno Haible  <bruno@clisp.org>
9118         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
9119         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
9120         '_Noreturn'.
9121         * lib/sigpipe-die.h (sigpipe_die): Likewise.
9123 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9125         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
9126         On x86_64 with glibc-2.30, gcc 9.2 is giving:
9127           error: argument 2 value '18446744073709551615'
9128           exceeds maximum object size 9223372036854775807
9129           [-Werror=alloc-size-larger-than=]
9130         The details of this restriction are discussed at:
9131         https://stackoverflow.com/q/42574890/4421
9132         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
9134 2020-02-02  Pádraig Brady  <P@draigBrady.com>
9136         sysctl.h: avoid including on glibc
9137         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
9138         * lib/physmem.c: Likewise.
9140 2020-02-02  Bruno Haible  <bruno@clisp.org>
9142         list, set, oset, map, omap: Avoid imperative voice in documentation.
9143         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
9144         in the specification of functions.
9145         * lib/gl_set.h: Likewise.
9146         * lib/gl_oset.h: Likewise.
9147         * lib/gl_map.h: Likewise.
9148         * lib/gl_omap.h: Likewise.
9149         * lib/gl_*.h: Likewise.
9151 2020-02-01  Bruno Haible  <bruno@clisp.org>
9153         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
9154         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
9155         does.
9157 2020-01-29  Bruno Haible  <bruno@clisp.org>
9159         array-map, hash-map, linkedhash-map: Fix module description.
9160         * modules/array-map (Description): Fix description.
9161         * modules/hash-map (Description): Likewise.
9162         * modules/linkedhash-map (Description): Likewise.
9164 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9166         dfa: do not depend on isblank
9167         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
9168         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
9169         * modules/dfa (Depends-on): Remove isblank.
9170         * modules/isblank: Add a module indicator, for lib/dfa.c.
9172         dfa: do not assume 64-bit int
9173         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
9174         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
9175         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
9176         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
9177         Fall back to 32-bit words.
9178         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
9179         of 4 64-bit args.  All uses changed.
9181 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9183         regex: remove limits-h dependency
9184         * modules/regex (Depends-on): Remove limits-h, since the
9185         code no longer depends on ULONG_WIDTH already being defined.
9187         regex: port to non-GCC pre-IEC-60559
9188         Problem reported by Arnold Robbins in:
9189         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
9190         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
9192 2020-01-25  Bruno Haible  <bruno@clisp.org>
9194         c32isxdigit: Add tests.
9195         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
9196         * tests/test-c32isxdigit.sh: New file.
9197         * modules/c32isxdigit-tests: New file.
9199         c32isxdigit: New module.
9200         * lib/c32isxdigit.c: New file.
9201         * modules/c32isxdigit: New file.
9202         * doc/posix-functions/iswxdigit.texi: Mention the new module.
9204 2020-01-25  Bruno Haible  <bruno@clisp.org>
9206         c32isupper: Add tests.
9207         * tests/test-c32isupper.c: New file.
9208         * tests/test-c32isupper.sh: New file.
9209         * modules/c32isupper-tests: New file.
9211         c32isupper: New module.
9212         * lib/c32isupper.c: New file.
9213         * modules/c32isupper: New file.
9214         * doc/posix-functions/iswupper.texi: Mention the new module.
9216 2020-01-25  Bruno Haible  <bruno@clisp.org>
9218         c32isspace: Add tests.
9219         * tests/test-c32isspace.c: New file.
9220         * tests/test-c32isspace.sh: New file.
9221         * modules/c32isspace-tests: New file.
9223         c32isspace: New module.
9224         * lib/c32isspace.c: New file.
9225         * modules/c32isspace: New file.
9226         * doc/posix-functions/iswspace.texi: Mention the new module.
9228 2020-01-25  Bruno Haible  <bruno@clisp.org>
9230         c32ispunct: Add tests.
9231         * tests/test-c32ispunct.c: New file.
9232         * tests/test-c32ispunct.sh: New file.
9233         * modules/c32ispunct-tests: New file.
9235         c32ispunct: New module.
9236         * lib/c32ispunct.c: New file.
9237         * modules/c32ispunct: New file.
9238         * doc/posix-functions/iswpunct.texi: Mention the new module.
9240 2020-01-25  Bruno Haible  <bruno@clisp.org>
9242         c32isprint: Add tests.
9243         * tests/test-c32isprint.c: New file.
9244         * tests/test-c32isprint.sh: New file.
9245         * modules/c32isprint-tests: New file.
9247         c32isprint: New module.
9248         * lib/c32isprint.c: New file.
9249         * modules/c32isprint: New file.
9250         * doc/posix-functions/iswprint.texi: Mention the new module.
9252 2020-01-25  Bruno Haible  <bruno@clisp.org>
9254         c32islower: Add tests.
9255         * tests/test-c32islower.c: New file.
9256         * tests/test-c32islower.sh: New file.
9257         * modules/c32islower-tests: New file.
9259         c32islower: New module.
9260         * lib/c32islower.c: New file.
9261         * modules/c32islower: New file.
9262         * doc/posix-functions/iswlower.texi: Mention the new module.
9264 2020-01-25  Bruno Haible  <bruno@clisp.org>
9266         c32isgraph: Add tests.
9267         * tests/test-c32isgraph.c: New file.
9268         * tests/test-c32isgraph.sh: New file.
9269         * modules/c32isgraph-tests: New file.
9271         c32isgraph: New module.
9272         * lib/c32isgraph.c: New file.
9273         * modules/c32isgraph: New file.
9274         * doc/posix-functions/iswgraph.texi: Mention the new module.
9276 2020-01-25  Bruno Haible  <bruno@clisp.org>
9278         c32isdigit: Add tests.
9279         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
9280         * tests/test-c32isdigit.sh: New file.
9281         * modules/c32isdigit-tests: New file.
9283         c32isdigit: New module.
9284         * lib/c32isdigit.c: New file.
9285         * modules/c32isdigit: New file.
9286         * doc/posix-functions/iswdigit.texi: Mention the new module.
9288 2020-01-25  Bruno Haible  <bruno@clisp.org>
9290         c32iscntrl: Add tests.
9291         * tests/test-c32iscntrl.c: New file.
9292         * tests/test-c32iscntrl.sh: New file.
9293         * modules/c32iscntrl-tests: New file.
9295         c32iscntrl: New module.
9296         * lib/c32iscntrl.c: New file.
9297         * modules/c32iscntrl: New file.
9298         * doc/posix-functions/iswcntrl.texi: Mention the new module.
9300 2020-01-25  Bruno Haible  <bruno@clisp.org>
9302         c32isblank: Add tests.
9303         * tests/test-c32isblank.c: New file.
9304         * tests/test-c32isblank.sh: New file.
9305         * modules/c32isblank-tests: New file.
9307         c32isblank: New module.
9308         * lib/c32isblank.c: New file.
9309         * modules/c32isblank: New file.
9310         * doc/posix-functions/iswblank.texi: Mention the new module.
9312 2020-01-25  Bruno Haible  <bruno@clisp.org>
9314         c32isalpha: Add tests.
9315         * tests/test-c32isalpha.c: New file.
9316         * tests/test-c32isalpha.sh: New file.
9317         * modules/c32isalpha-tests: New file.
9319         c32isalpha: New module.
9320         * lib/c32isalpha.c: New file.
9321         * modules/c32isalpha: New file.
9322         * doc/posix-functions/iswalpha.texi: Mention the new module.
9324 2020-01-25  Bruno Haible  <bruno@clisp.org>
9326         c32isalnum: Add tests.
9327         * tests/test-c32isalnum.c: New file.
9328         * tests/test-c32isalnum.sh: New file.
9329         * modules/c32isalnum-tests: New file.
9331         c32isalnum: New module.
9332         * lib/c32isalnum.c: New file.
9333         * lib/c32is-impl.h: New file.
9334         * modules/c32isalnum: New file.
9335         * doc/posix-functions/iswalnum.texi: Mention the new module.
9337 2020-01-25  Bruno Haible  <bruno@clisp.org>
9339         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
9340         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
9341         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
9342         c32isupper, c32isxdigit): New declarations.
9343         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
9344         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9345         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9346         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9347         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9348         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
9349         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9350         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9351         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9352         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9353         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
9354         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
9355         c32ispunct, c32isspace, c32isupper, c32isxdigit.
9357 2020-01-25  Bruno Haible  <bruno@clisp.org>
9359         mbchar, wctype: Use the corrected iswxdigit function.
9360         * modules/mbchar (Depends-on): Add iswxdigit.
9361         * modules/wctype (Depends-on): Likewise.
9363         iswxdigit: Add tests.
9364         * tests/test-iswxdigit.c: New file.
9365         * tests/test-iswxdigit.sh: New file.
9366         * modules/iswxdigit-tests: New file.
9368         iswxdigit: New module.
9369         * m4/iswxdigit.m4: New file.
9370         * lib/wctype.in.h (iswxdigit): Potentially override.
9371         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
9372         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
9373         * lib/iswxdigit.c: New file.
9374         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
9375         REPLACE_ISWXDIGIT.
9376         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
9377         REPLACE_ISWXDIGIT.
9378         * modules/iswxdigit: New file.
9379         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
9381 2020-01-25  Bruno Haible  <bruno@clisp.org>
9383         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
9384         Reported by John Donoghue <john.david.donoghue@gmail.com> in
9385         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
9386         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
9387         off_t on mingw, invoke _lseeki64 instead of lseek.
9389 2020-01-25  Bruno Haible  <bruno@clisp.org>
9391         iswdigit tests: Avoid test failure on Cygwin.
9392         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
9393         byte sequence, return 0.
9395         iswdigit: Fix test failure on native Windows.
9396         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
9398         mbchar, wctype: Use the corrected iswdigit function.
9399         * modules/mbchar (Depends-on): Add iswdigit.
9400         * modules/wctype (Depends-on): Likewise.
9402         iswdigit: Add tests.
9403         * tests/test-iswdigit.c: New file.
9404         * tests/test-iswdigit.sh: New file.
9405         * modules/iswdigit-tests: New file.
9407         iswdigit: New module.
9408         * m4/iswdigit.m4: New file.
9409         * lib/wctype.in.h (iswdigit): Potentially override.
9410         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
9411         * lib/iswdigit.c: New file.
9412         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
9413         REPLACE_ISWDIGIT.
9414         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
9415         REPLACE_ISWDIGIT.
9416         * modules/iswdigit: New file.
9417         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
9419 2020-01-25  Bruno Haible  <bruno@clisp.org>
9421         hard-locale tests: Make it easy to reuse the musl test.
9422         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
9423         * modules/hard-locale-tests (Files): Add it.
9424         (configure.ac): Invoke gl_MUSL_LIBC.
9426 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9428         regex: port to Gawk on nonstandard platforms
9429         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
9430         This is useful for Gawk, which does not use the Gnulib stdlib-h
9431         module.  Problem reported by Arnold Robbins in:
9432         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
9434 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9436         regex: fix bug with >=16 subexpressions
9437         * lib/regex_internal.h (struct re_backref_cache_entry):
9438         Use bitset_word_t as the type of eps_reachable_subexps_map,
9439         instead of unsigned short int.  This fixes a bug I introduced
9440         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
9441         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
9442         Remove unused member 'unused'.
9444         regex: simplify definition of BITSET_WORD_BITS
9445         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
9446         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
9447         * lib/regex_internal.h (BITSET_WORD_BITS):
9448         * modules/regex (Depends-on): Add limits-h.
9449         Simplify now that we can use ULONG_WIDTH.
9451 2020-01-20  Bruno Haible  <bruno@clisp.org>
9453         mbrtoc32: Add note about FreeBSD 12.
9454         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
9455         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
9456         affected.
9458 2020-01-20  Bruno Haible  <bruno@clisp.org>
9460         unistr/u8-uctomb: Fix warning.
9461         Reported by Andreas Schwab <schwab@suse.de> in
9462         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
9463         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
9464         (u8_uctomb): Add FALLTHROUGH markers.
9466 2020-01-20  Bruno Haible  <bruno@clisp.org>
9468         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
9469         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
9470         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
9471         (glthread_once): Use it.
9473 2020-01-19  Bruno Haible  <bruno@clisp.org>
9475         threadlib: Disable use of weak symbols on FreeBSD 11.
9476         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9477         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
9478         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
9479         against a bug in FreeBSD 11.
9481 2020-01-19  Bruno Haible  <bruno@clisp.org>
9483         iconv_open: Improve z/OS support.
9484         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
9485         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
9486         Remove mapping for EUC-TW.
9488 2020-01-18  Bruno Haible  <bruno@clisp.org>
9490         Rename ~~gnulib.m4 to zzgnulib.m4.
9491         Suggested by Paul Eggert.
9492         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
9493         * gnulib-tool (func_get_filelist): Update.
9494         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9496 2020-01-18  Bruno Haible  <bruno@clisp.org>
9498         doc: Update license notices.
9499         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
9500         reference to a section or to a "file as part of this distribution".
9502 2020-01-18  Bruno Haible  <bruno@clisp.org>
9504         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
9505         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9506         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
9507         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
9508         AC_EGREP_CPP.
9510 2020-01-18  Bruno Haible  <bruno@clisp.org>
9512         Ensure Automake does not drop ~~gnulib.m4.
9513         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
9514         * m4/gnulib-common.m4 (gl_COMMON): Require it.
9516 2020-01-18  Bruno Haible  <bruno@clisp.org>
9518         Fix major regression from 2020-01-10.
9519         Reported by Paul Eggert in
9520         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
9521         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9522         Don't AC_REQUIRE anything.
9523         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
9524         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
9525         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
9526         use ac_compile instead.
9527         (AC_CHECK_DECL): Remove override.
9528         * m4/~~gnulib.m4: New file.
9529         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
9530         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9532 2020-01-17  Bruno Haible  <bruno@clisp.org>
9533             Paul Eggert  <eggert@cs.ucla.edu>
9535         glob: Fix use-after-free bug.
9536         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9537         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
9538         * lib/glob.c (__glob): Delay freeing dirname until after the use of
9539         end_name.
9541 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9543         vcs-to-changelog: Fix parsing of fndecl without args.
9544         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
9545         for empty arguments.
9547 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9549         vcs-to-changelog: Add documentation.
9550         * doc/vcs-to-changelog.texi: New file.
9551         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
9552         section.
9554 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9556         vcs-to-changelog: Allow loading of custom quirks file.
9557         * build-aux/vcs_to_changelog.py: New commandline option -q.
9559 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9561         vcs-to-changelog: Fix formatting of ChangeLog output.
9562         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
9563         output.
9565 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9567         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
9568         Reported in
9569         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
9570         * build-aux/vcstocl/frontend_c.py: Remove shebang.
9572 2020-01-15  Simon Josefsson  <simon@josefsson.org>
9574         crypto/gc-pbkdf2: New module.
9575         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
9576         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
9577         * lib/gc-pbkdf2.c: New file.
9578         * lib/gc-pbkdf2-sha1.c: Use new interface.
9579         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
9580         * modules/crypto/gc-pbkdf2: New file.
9581         * modules/crypto/gc-pbkdf2-tests: New file.
9582         * tests/test-gc-pbkdf2.c: New file.
9584 2020-01-12  Bruno Haible  <bruno@clisp.org>
9586         c32stombs: Add tests.
9587         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
9588         * tests/test-c32stombs-1.sh: New file, based on
9589         tests/test-c32srtombs-1.sh.
9590         * tests/test-c32stombs-2.sh: New file, based on
9591         tests/test-c32srtombs-2.sh.
9592         * tests/test-c32stombs-3.sh: New file, based on
9593         tests/test-c32srtombs-3.sh.
9594         * tests/test-c32stombs-4.sh: New file, based on
9595         tests/test-c32srtombs-4.sh.
9596         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
9598         c32stombs: New module.
9599         * lib/uchar.in.h (c32stombs): New declaration.
9600         * lib/c32stombs.c: New file.
9601         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
9602         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
9603         * modules/c32stombs: New file.
9604         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
9605         * doc/posix-functions/wcstombs.texi: Mention the new module.
9607 2020-01-11  Jim Meyering  <meyering@fb.com>
9609         perl: require the "warnings" module
9610         * m4/perl.m4: Also "use warnings", so we reject the perl found
9611         on at least one IRIX 6.5 system. Reported by Bruno Haible in
9612         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
9614 2020-01-10  Bruno Haible  <bruno@clisp.org>
9616         Fix major regression from 2020-01-04.
9617         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9618         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
9619         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
9620         AC_DEFUN_ONCE.
9621         (AC_CHECK_DECL): Invoke, not require, it.
9623 2020-01-10  Bruno Haible  <bruno@clisp.org>
9625         c32snrtombs: Add tests.
9626         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
9627         * tests/test-c32snrtombs-1.sh: New file, based on
9628         tests/test-wcsnrtombs1.sh.
9629         * tests/test-c32snrtombs-2.sh: New file, based on
9630         tests/test-wcsnrtombs2.sh.
9631         * tests/test-c32snrtombs-3.sh: New file, based on
9632         tests/test-wcsnrtombs3.sh.
9633         * tests/test-c32snrtombs-4.sh: New file, based on
9634         tests/test-wcsnrtombs4.sh.
9635         * modules/c32snrtombs-tests: New file, based on
9636         modules/wcsnrtombs-tests.
9638         c32snrtombs: New module.
9639         * lib/uchar.in.h (c32snrtombs): New declaration.
9640         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9641         INTERNAL_STATE, WCRTOMB.
9642         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9643         * lib/c32snrtombs.c: New file.
9644         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
9645         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
9646         * modules/c32snrtombs: New file.
9647         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
9648         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
9650 2020-01-09  Bruno Haible  <bruno@clisp.org>
9652         c32srtombs: Add tests.
9653         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
9654         * tests/test-c32srtombs-1.sh: New file, based on
9655         tests/test-wcsrtombs1.sh.
9656         * tests/test-c32srtombs-2.sh: New file, based on
9657         tests/test-wcsrtombs2.sh.
9658         * tests/test-c32srtombs-3.sh: New file, based on
9659         tests/test-wcsrtombs3.sh.
9660         * tests/test-c32srtombs-4.sh: New file, based on
9661         tests/test-wcsrtombs4.sh.
9662         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
9664         c32srtombs: New module.
9665         * lib/uchar.in.h (c32srtombs): New declaration.
9666         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9667         INTERNAL_STATE, WCRTOMB.
9668         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9669         * lib/c32srtombs.c: New file.
9670         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
9671         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
9672         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
9673         * modules/c32srtombs: New file.
9674         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
9675         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
9677 2020-01-08  Bruno Haible  <bruno@clisp.org>
9679         c32tob: Make consistent with mbrtoc32.
9680         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
9681         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
9682         use c32rtomb, not wctob.
9683         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
9684         (Depends-on): Add c32rtomb.
9685         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
9687 2020-01-08  Bruno Haible  <bruno@clisp.org>
9689         c32rtomb: Add tests.
9690         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
9691         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
9692         * tests/test-c32rtomb-w32.c: New file, based on
9693         tests/test-wcrtomb-w32.c.
9694         * tests/test-c32rtomb-w32-1.sh: New file, based on
9695         tests/test-wcrtomb-w32-1.sh.
9696         * tests/test-c32rtomb-w32-2.sh: New file, based on
9697         tests/test-wcrtomb-w32-2.sh.
9698         * tests/test-c32rtomb-w32-3.sh: New file, based on
9699         tests/test-wcrtomb-w32-3.sh.
9700         * tests/test-c32rtomb-w32-4.sh: New file, based on
9701         tests/test-wcrtomb-w32-4.sh.
9702         * tests/test-c32rtomb-w32-5.sh: New file, based on
9703         tests/test-wcrtomb-w32-5.sh.
9704         * tests/test-c32rtomb-w32-6.sh: New file, based on
9705         tests/test-wcrtomb-w32-6.sh.
9706         * tests/test-c32rtomb-w32-7.sh: New file, based on
9707         tests/test-wcrtomb-w32-7.sh.
9708         * modules/c32rtomb-tests: New file.
9710         c32rtomb: New module.
9711         * lib/uchar.in.h (c32rtomb): New declaration.
9712         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
9713         * m4/c32rtomb.m4: New file.
9714         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
9715         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
9716         REPLACE_C32RTOMB.
9717         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
9718         HAVE_C32RTOMB, REPLACE_C32RTOMB.
9719         * modules/c32rtomb: New file.
9720         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
9721         * doc/posix-functions/c32rtomb.texi: Document the new module.
9722         * doc/posix-functions/wcrtomb.texi: Mention the new module.
9724 2020-01-08  Bruno Haible  <bruno@clisp.org>
9726         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
9727         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
9728         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
9729         but is not working.
9730         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
9731         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
9732         differ, use the system's mbrtoc32, adding workarounds.
9733         * modules/mbrtoc32 (Depends-on): Add hard-locale.
9734         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
9735         Windows problem.
9736         * lib/btoc32.c: Include <stdio.h>, <string.h>.
9737         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
9738         use mbrtoc32, not btowc.
9739         * modules/btoc32 (Depends-on): Add mbrtoc32.
9740         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
9741         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
9742         * modules/mbsrtoc32s (Depends-on): Update conditions.
9743         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9744         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
9745         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
9746         * modules/mbsnrtoc32s (Depends-on): Update conditions.
9747         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9749 2020-01-07  Bruno Haible  <bruno@clisp.org>
9751         wcrtomb: Make multithread-safe, except possibly on IRIX.
9752         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
9753         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
9754         WCRTOMB_RETVAL_BUG.
9755         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
9756         wctomb only on IRIX.
9758 2020-01-05  Jim Meyering  <meyering@fb.com>
9760         tests: skip thread-using tests when threading is disabled
9761         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
9762         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
9763         of those, so they are skipped in this case.
9764         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
9765         * tests/test-setlocale_null-mt-all.c (main): Likewise.
9766         * tests/test-setlocale_null-mt-one.c (main): Likewise.
9768 2020-01-05  Bruno Haible  <bruno@clisp.org>
9770         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
9771         Reported by Jim Meyering in
9772         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
9773         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
9774         (GNULIB_defined_ptsname_r): New macro.
9775         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
9776         (main): Disable the NULL argument test if canonicalize_file_name does
9777         not come from gnulib.
9778         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
9779         (main): Disable the NULL argument test if canonicalize_file_name does
9780         not come from gnulib.
9781         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
9782         (test_errors): Disable the NULL argument test if ptsname_r does not come
9783         from gnulib.
9785 2020-01-04  Jim Meyering  <meyering@fb.com>
9787         update-copyright: reenable its always-skipped test
9788         * tests/test-update-copyright.sh: Restore the "-pi" options removed
9789         on 2019-06-15. Without those, an internal preliminary test would
9790         fail, causing this test always to be skipped.
9791         Verify that the test is now run and passes via this:
9792           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
9794 2020-01-05  Bruno Haible  <bruno@clisp.org>
9796         mbstoc32s: Add tests.
9797         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
9798         * tests/test-mbstoc32s-1.sh: New file, based on
9799         tests/test-mbsrtoc32s-1.sh.
9800         * tests/test-mbstoc32s-2.sh: New file, based on
9801         tests/test-mbsrtoc32s-2.sh.
9802         * tests/test-mbstoc32s-3.sh: New file, based on
9803         tests/test-mbsrtoc32s-3.sh.
9804         * tests/test-mbstoc32s-4.sh: New file, based on
9805         tests/test-mbsrtoc32s-4.sh.
9806         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
9808         mbstoc32s: New module.
9809         * lib/uchar.in.h (mbstoc32s): New declaration.
9810         * lib/mbstoc32s.c: New file.
9811         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
9812         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
9813         * modules/mbstoc32s: New file.
9814         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
9815         * doc/posix-functions/mbstowcs.texi: Mention the new module.
9817 2020-01-05  Bruno Haible  <bruno@clisp.org>
9819         Tweak recently added tests.
9820         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
9821         * tests/test-mbsrtoc32s.c: Likewise.
9822         * tests/test-mbsnrtoc32s.c: Likewise.
9824 2020-01-04  Bruno Haible  <bruno@clisp.org>
9826         mbsnrtoc32s: Add tests.
9827         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
9828         * tests/test-mbsnrtoc32s-1.sh: New file, based on
9829         tests/test-mbsnrtowcs1.sh.
9830         * tests/test-mbsnrtoc32s-2.sh: New file, based on
9831         tests/test-mbsnrtowcs2.sh.
9832         * tests/test-mbsnrtoc32s-3.sh: New file, based on
9833         tests/test-mbsnrtowcs3.sh.
9834         * tests/test-mbsnrtoc32s-4.sh: New file, based on
9835         tests/test-mbsnrtowcs4.sh.
9836         * modules/mbsnrtoc32s-tests: New file, based on
9837         modules/mbsnrtowcs-tests.
9839         mbsnrtoc32s: New module.
9840         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
9841         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9842         INTERNAL_STATE, MBRTOWC.
9843         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9844         * lib/mbsnrtoc32s.c: New file.
9845         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
9846         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
9847         * modules/mbsnrtoc32s: New file.
9848         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
9849         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
9851 2020-01-04  Bruno Haible  <bruno@clisp.org>
9853         mbsrtoc32s tests: Enhance test.
9854         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
9855         test strings for UTF-8 and GB18030.
9857 2020-01-04  Bruno Haible  <bruno@clisp.org>
9859         mbsrtoc32s: Fix bug.
9860         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
9861         that SMALL_WCHAR_T is defined.
9863 2020-01-04  Bruno Haible  <bruno@clisp.org>
9865         mbsrtoc32s: Add tests.
9866         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
9867         * tests/test-mbsrtoc32s-1.sh: New file, based on
9868         tests/test-mbsrtowcs1.sh.
9869         * tests/test-mbsrtoc32s-2.sh: New file, based on
9870         tests/test-mbsrtowcs2.sh.
9871         * tests/test-mbsrtoc32s-3.sh: New file, based on
9872         tests/test-mbsrtowcs3.sh.
9873         * tests/test-mbsrtoc32s-4.sh: New file, based on
9874         tests/test-mbsrtowcs4.sh.
9875         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
9877         mbsrtoc32s: New module.
9878         * lib/uchar.in.h (mbsrtoc32s): New declaration.
9879         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9880         INTERNAL_STATE, MBRTOWC.
9881         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9882         * lib/mbsrtoc32s.c: New file.
9883         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
9884         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
9885         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
9886         * modules/mbsrtoc32s: New file.
9887         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
9888         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
9890 2020-01-04  Bruno Haible  <bruno@clisp.org>
9892         mbrtowc, mbrtoc32: Tighten dependendies.
9893         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
9894         REPLACE_MBSTATE_T is 1.
9895         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9896         REPLACE_MBSTATE_T is 0.
9897         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
9898         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
9899         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9900         REPLACE_MBSTATE_T is 0.
9902 2020-01-04  Bruno Haible  <bruno@clisp.org>
9904         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
9905         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
9906         * modules/uchar (Files): Add stdint.m4.
9907         (Makefile.am): Substitute SMALL_WCHAR_T.
9908         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
9910 2020-01-04  Bruno Haible  <bruno@clisp.org>
9912         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
9913         Reported by Martin Storsjö <martin@martin.st> in
9914         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
9915         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9916         New macros.
9917         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
9919 2020-01-04  Bruno Haible  <bruno@clisp.org>
9921         btoc32: Add tests.
9922         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
9923         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
9924         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
9925         * modules/btoc32-tests: New file, based on modules/btowc-tests.
9927         btoc32: New module.
9928         * lib/uchar.in.h (btoc32): New declaration.
9929         * lib/btoc32.c: New file.
9930         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
9931         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
9932         * modules/btoc32: New file.
9933         * tests/test-uchar-c++.cc: Test the signature of btoc32.
9934         * doc/posix-functions/btowc.texi: Mention the new module.
9936 2020-01-03  Bruno Haible  <bruno@clisp.org>
9938         uchar tests: Avoid compilation error with HP cc.
9939         * tests/test-uchar.c: Disable a test when HP cc is in use.
9941 2020-01-03  Bruno Haible  <bruno@clisp.org>
9943         mbrtoc32: Add tests.
9944         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
9945         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
9946         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
9947         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
9948         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
9949         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
9950         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
9951         * tests/test-mbrtoc32-w32-1.sh: New file, based on
9952         tests/test-mbrtowc-w32-1.sh.
9953         * tests/test-mbrtoc32-w32-2.sh: New file, based on
9954         tests/test-mbrtowc-w32-2.sh.
9955         * tests/test-mbrtoc32-w32-3.sh: New file, based on
9956         tests/test-mbrtowc-w32-3.sh.
9957         * tests/test-mbrtoc32-w32-4.sh: New file, based on
9958         tests/test-mbrtowc-w32-4.sh.
9959         * tests/test-mbrtoc32-w32-5.sh: New file, based on
9960         tests/test-mbrtowc-w32-5.sh.
9961         * tests/test-mbrtoc32-w32-6.sh: New file, based on
9962         tests/test-mbrtowc-w32-6.sh.
9963         * tests/test-mbrtoc32-w32-7.sh: New file, based on
9964         tests/test-mbrtowc-w32-7.sh.
9965         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
9967         mbrtoc32: New module.
9968         * lib/uchar.in.h (mbrtoc32): New declaration.
9969         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
9970         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
9971         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
9972         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
9973         REPLACE_MBRTOC32.
9974         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
9975         HAVE_MBRTOC32, REPLACE_MBRTOC32.
9976         * modules/mbrtoc32: New file, based on modules/mbrtowc.
9977         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
9978         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
9979         $(LIB_MBRTOWC).
9980         * doc/posix-functions/mbrtoc32.texi: Document the new module.
9981         * doc/posix-functions/mbrtowc.texi: Mention the new module.
9983 2020-01-03  Bruno Haible  <bruno@clisp.org>
9985         mbrtowc: Refactor to share code with mbrtoc32.
9986         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
9987         * lib/mbrtowc-impl-utf8.h: Likewise.
9988         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
9989         mbrtowc-impl.h.
9990         * modules/mbrtowc (Files): Add the new files.
9992 2020-01-03  Jim Meyering  <meyering@fb.com>
9994         doc: fix time.texi wording
9995         * doc/posix-headers/time.texi (time.h): Typo.
9997 2020-01-03  Bruno Haible  <bruno@clisp.org>
9999         mbrtowc: Refactor locale charset dispatching.
10000         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
10001         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
10002         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
10003         localcharset.h, streq.h.
10004         (enc_t): Remove type.
10005         (locale_enc): Remove function.
10006         (cached_locale_enc): Remove variable.
10007         (locale_enc_cached): Remove function.
10008         (mbrtowc): Invoke locale_encoding_classification.
10009         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
10010         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
10011         lc-charset-dispatch.c.
10012         (configure.ac): Arrange to compile lc-charset-dispatch.c.
10014 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10016         doc: mention 32-bit time_t issue
10017         * doc/posix-headers/sys_stat.texi (sys/stat.h):
10018         * doc/posix-headers/time.texi (time.h): Mention 2038.
10020 2020-01-03  Bruno Haible  <bruno@clisp.org>
10022         mbrtowc: Ensure the mbtowc_lock is unique.
10023         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
10024         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
10025         lib/setlocale_null.c.
10026         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
10027         glthread/lock.h. Include mbtowc-lock.h.
10028         (mbtowc_lock): Remove declaration.
10029         (mbrtowc): Use mbtowc_with_lock.
10030         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
10031         threads.h. Set LIB_MBRTOWC.
10032         (gl_PREREQ_MBTOWC_LOCK): New macro.
10033         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
10034         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
10035         (Depends-on): Remove lock.
10036         (configure.ac): Arrange to compile mbtowc-lock.c.
10037         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
10038         * modules/acl (Link): Likewise.
10039         * modules/argmatch (Link): Likewise.
10040         * modules/backup-rename (Link): Likewise.
10041         * modules/backupfile (Link): Likewise.
10042         * modules/closein (Link): Likewise.
10043         * modules/closeout (Link): Likewise.
10044         * modules/copy-file (Link): Likewise.
10045         * modules/csharpcomp (Link): Likewise.
10046         * modules/csharpexec (Link): Likewise.
10047         * modules/dfa (Link): Likewise.
10048         * modules/exclude (Link): Likewise.
10049         * modules/fnmatch (Link): Likewise.
10050         * modules/fnmatch-gnu (Link): Likewise.
10051         * modules/fnmatch-posix (Link): Likewise.
10052         * modules/glob (Link): Likewise.
10053         * modules/human (Link): Likewise.
10054         * modules/javacomp (Link): Likewise.
10055         * modules/javaexec (Link): Likewise.
10056         * modules/javaversion (Link): Likewise.
10057         * modules/mbfile (Link): Likewise.
10058         * modules/mbiter (Link): Likewise.
10059         * modules/mbmemcasecmp (Link): Likewise.
10060         * modules/mbmemcasecoll (Link): Likewise.
10061         * modules/mbrlen (Link): Likewise.
10062         * modules/mbscasecmp (Link): Likewise.
10063         * modules/mbscasestr (Link): Likewise.
10064         * modules/mbschr (Link): Likewise.
10065         * modules/mbscspn (Link): Likewise.
10066         * modules/mbsinit (Link): Likewise.
10067         * modules/mbslen (Link): Likewise.
10068         * modules/mbsncasecmp (Link): Likewise.
10069         * modules/mbsnlen (Link): Likewise.
10070         * modules/mbsnrtowcs (Link): Likewise.
10071         * modules/mbspbrk (Link): Likewise.
10072         * modules/mbspcasecmp (Link): Likewise.
10073         * modules/mbsrchr (Link): Likewise.
10074         * modules/mbsrtowcs (Link): Likewise.
10075         * modules/mbssep (Link): Likewise.
10076         * modules/mbsspn (Link): Likewise.
10077         * modules/mbsstr (Link): Likewise.
10078         * modules/mbstok_r (Link): Likewise.
10079         * modules/mbswidth (Link): Likewise.
10080         * modules/mbuiter (Link): Likewise.
10081         * modules/mkdir-p (Link): Likewise.
10082         * modules/propername (Link): Likewise.
10083         * modules/quote (Link): Likewise.
10084         * modules/quotearg (Link): Likewise.
10085         * modules/quotearg-simple (Link): Likewise.
10086         * modules/regex-quote (Link): Likewise.
10087         * modules/rpmatch (Link): Likewise.
10088         * modules/sh-quote (Link): Likewise.
10089         * modules/system-quote (Link): Likewise.
10090         * modules/trim (Link): Likewise.
10091         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10092         * modules/unistdio/ulc-fprintf (Link): Likewise.
10093         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10094         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10095         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10096         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10097         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10098         * modules/xfreopen (Link): Likewise.
10099         * modules/xmemcoll (Link): Likewise.
10100         * modules/yesno (Link): Likewise.
10101         * modules/regex (Link): Add $(LIB_MBRTOWC).
10102         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
10103         instead of $(LIBTHREAD).
10104         * modules/argmatch-tests (Makefile.am): Likewise.
10105         * modules/closein-tests (Makefile.am): Likewise.
10106         * modules/copy-file-tests (Makefile.am): Likewise.
10107         * modules/dfa-tests (Makefile.am): Likewise.
10108         * modules/fnmatch-tests (Makefile.am): Likewise.
10109         * modules/glob-tests (Makefile.am): Likewise.
10110         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10111         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10112         * modules/mbrtowc-tests (Makefile.am): Likewise.
10113         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10114         * modules/mbscasestr-tests (Makefile.am): Likewise.
10115         * modules/mbschr-tests (Makefile.am): Likewise.
10116         * modules/mbscspn-tests (Makefile.am): Likewise.
10117         * modules/mbsinit-tests (Makefile.am): Likewise.
10118         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10119         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10120         * modules/mbspbrk-tests (Makefile.am): Likewise.
10121         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10122         * modules/mbsrchr-tests (Makefile.am): Likewise.
10123         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10124         * modules/mbsspn-tests (Makefile.am): Likewise.
10125         * modules/mbsstr-tests (Makefile.am): Likewise.
10126         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10127         * modules/quotearg-tests (Makefile.am): Likewise.
10128         * modules/readtokens-tests (Makefile.am): Likewise.
10129         * modules/sh-quote-tests (Makefile.am): Likewise.
10130         * modules/system-quote-tests (Makefile.am): Likewise.
10131         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10132         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10133         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10134         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10135         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10136         * modules/yesno-tests (Makefile.am): Likewise.
10137         * modules/exclude-tests (Makefile.am): Link the programs with
10138         $(LIB_MBRTOWC).
10139         * modules/regex-tests (Makefile.am): Likewise.
10140         * modules/regex-quote-tests (Makefile.am): Likewise.
10142 2020-01-03  Bruno Haible  <bruno@clisp.org>
10144         getopt-posix: Fix compilation failure in testdirs.
10145         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
10146         when the gnulib module 'getopt-posix' is enabled.
10147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
10148         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
10149         module indicator.
10150         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
10152 2020-01-03  Bruno Haible  <bruno@clisp.org>
10154         doc: Mention the 64-bit inode number problem.
10155         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
10156         64-bit inode number problem.
10157         * doc/posix-functions/stat.texi: Mention that this module fixes the
10158         64-bit inode number problem.
10159         * doc/posix-functions/lstat.texi: Likewise.
10160         * doc/posix-functions/fstat.texi: Likewise.
10161         * doc/posix-functions/readdir.texi: Add more details.
10162         * doc/posix-functions/readdir_r.texi: Likewise.
10164 2020-01-02  Bruno Haible  <bruno@clisp.org>
10166         wcrtomb: Add more tests.
10167         * tests/test-wcrtomb-w32.c: Include localcharset.h.
10168         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10169         locale_charset() returns the expected value; otherwise, skip the test.
10170         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
10171         * tests/test-wcrtomb-w32-7.sh: Likewise.
10172         * modules/wcrtomb-tests (Files): Add these files.
10173         (Depends-on): Add localcharset.
10174         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
10176 2020-01-02  Bruno Haible  <bruno@clisp.org>
10178         mbrtowc: Add more tests.
10179         * tests/test-mbrtowc-w32.c: Include localcharset.h.
10180         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10181         locale_charset() returns the expected value; otherwise, skip the test.
10182         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
10183         * tests/test-mbrtowc-w32-7.sh: Likewise.
10184         * modules/mbrtowc-tests (Files): Add these files.
10185         (Depends-on): Add localcharset.
10186         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
10188 2020-01-02  Bruno Haible  <bruno@clisp.org>
10190         mbrtowc: Fix test failures on MSVC (regression by previous commit).
10191         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
10192         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
10193         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
10194         MBRTOWC_STORES_INCOMPLETE_BUG.
10195         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
10197 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
10199         doc: mention glibc bug 24269
10200         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
10201         Reformat slightly so that it looks nicer in the Grep manual.
10203 2020-01-02  Bruno Haible  <bruno@clisp.org>
10205         mbrtowc: Don't replace mbstate_t on MSVC.
10206         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
10207         a missing mbsinit function on native Windows.
10208         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
10209         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
10210         MSVC bug.
10211         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
10213 2020-01-02  Bruno Haible  <bruno@clisp.org>
10215         setlocale-null: Avoid crashing the MSVC linker.
10216         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
10217         MSVC.
10219 2020-01-02  Bruno Haible  <bruno@clisp.org>
10221         wchar: Make the HP-UX workaround work on HP-UX 11.31.
10222         * modules/wchar (Depends-on): Add inttypes-incomplete.
10223         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
10224         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
10225         of strtoimax.
10227 2020-01-02  Bruno Haible  <bruno@clisp.org>
10229         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
10230         * lib/mbrtowc.c: Include <stdint.h>.
10231         * modules/mbrtowc (Depends-on): Add stdint.
10233 2020-01-01  Pádraig Brady  <P@draigBrady.com>
10235         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
10236         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
10237         which will auto enable use of openssl, only for >= version 3,
10238         which is newly licensed under the Apache Software License.
10240 2020-01-01  Bruno Haible  <bruno@clisp.org>
10242         mbrtowc: Include function name in macro names.
10243         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
10244         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
10245         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
10246         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
10247         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
10248         C_LOCALE_MAYBE_EILSEQ.
10250 2020-01-01  Bruno Haible  <bruno@clisp.org>
10252         c32tob: New module.
10253         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
10254         (c32tob): New declaration.
10255         * lib/c32tob.c: New file.
10256         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
10257         macros.
10258         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
10259         * modules/uchar (Depends-on): Add snippet/c++defs.
10260         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
10261         uchar.h.
10262         * modules/c32tob: New file.
10263         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
10264         defined.
10265         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
10266         c32tob.
10267         * modules/uchar-c++-tests (Files): Add tests/signature.h.
10268         * doc/posix-functions/wctob.texi: Mention the new module.
10270 2020-01-01  Bruno Haible  <bruno@clisp.org>
10272         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
10273         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
10274         $(LIB_SETLOCALE).
10276 2020-01-01  Bruno Haible  <bruno@clisp.org>
10278         hard-locale tests: Fix a conflict with the C++ tests.
10279         * modules/hard-locale-tests (Makefile.am): Build a program named
10280         'current-locale', not 'locale'.
10282 2020-01-01  Bruno Haible  <bruno@clisp.org>
10284         doc: Update documentation about wchar_t.
10285         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
10286         wchar_t type.
10288 2020-01-01  Bruno Haible  <bruno@clisp.org>
10290         mbrtowc tests: Fix typos.
10291         * tests/test-mbrtowc.c (main): Fix typo.
10292         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
10294 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10296         maint: update copyright notices
10297         Before doing the following changes done by hand, I also ran ‘make
10298         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
10299         to do most of the copyright years automatically.  A few upstream
10300         sources are still in 2019 but these should eventually be changed
10301         automatically too.
10302         * build-aux/declared.sh (func_version):
10303         * build-aux/libtool-next-version (func_version):
10304         * build-aux/run-test (func_version):
10305         Update these notices by hand.  Put just the last year
10306         in output of programs, as per GNU coding standards.
10308 2019-12-31  Bruno Haible  <bruno@clisp.org>
10310         uchar: Add C++ tests.
10311         * tests/test-uchar-c++.cc: New file.
10312         * tests/test-uchar-c++2.cc: New file.
10313         * modules/uchar-c++-tests: New file.
10315         uchar: Add tests.
10316         * tests/test-uchar.c: New file.
10317         * modules/uchar-tests: New file.
10319         uchar: New module.
10320         * lib/uchar.in.h: New file.
10321         * m4/uchar.m4: New file.
10322         * modules/uchar: New file.
10323         * doc/posix-headers/uchar.texi: Mention the new module.
10325 2019-12-30  Jim Meyering  <meyering@fb.com>
10327         localeinfo: ->simple would be wrong for LC_ALL=C
10328         That would lead to using unnecessary and expensive code paths in dfa.c.
10329         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
10330         error that would have made grep many times slower in the C locale.
10331         With this change, and a file created like this:
10332           yes 00 | head -10000000 > in
10333         Running grep as follows becomes more than 40 times faster:
10334           LC_ALL=C grep -Fw 0 in
10336 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10338         doc: document trouble with back-references
10339         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
10341 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10343         doc: use “back-reference” for \1 etc.
10344         * doc/regex.texi: Consistently spell “back-reference” with
10345         a hyphen, since that’s how POSIX does it.
10347 2019-12-26  Jim Meyering  <meyering@fb.com>
10349         test-framework-sh: tighten an internal grep regexp
10350         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
10351         that helps test for a working printf.
10353 2019-12-26  Bruno Haible  <bruno@clisp.org>
10355         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
10356         Reported by Paul Eggert in
10357         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
10358         Simplification by Jim Meyering.
10359         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
10360         octal escape sequence in a UTF-8 locale.
10362 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
10364         mbrtowc: port better to narrow-wchar_t platforms
10365         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
10366         wchar_t is too narrow to represent all the Unicode characters,
10367         consider a byte sequence for an out-of-wchar_t-range character to
10368         be an encoding error.  This fixes grep’s surrogate-pair test
10369         failure on AIX 7.2.
10371 2019-12-24  Bruno Haible  <bruno@clisp.org>
10373         localcharset: Avoid referencing rpl_setlocale on native Windows.
10374         * lib/localcharset.c (setlocale): Undefine.
10376 2019-12-24  Bruno Haible  <bruno@clisp.org>
10378         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
10379         * m4/semaphore.m4: New file.
10380         * modules/lock-tests (Files): Add it.
10381         (configure.ac): Require gl_SEMAPHORE.
10382         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
10384 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
10386         strptime: fix typo in previous patch
10387         Problem and fix reported by Bruno Haible in:
10388         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
10389         * lib/strptime.c (day_of_the_week): Fix paren bug.
10391 2019-12-24  Bruno Haible  <bruno@clisp.org>
10393         setlocale-null: Make it easy to rely on the lock in another library.
10394         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
10395         defined.
10397 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10399         gethrxtime, mktime, nstrftime, strptime: tweak division performance
10400         Performanced analyzed by Bruno Haible in:
10401         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
10402         * config/srclist.txt: Do not sync mktime.c for now.
10403         * lib/mktime.c (shr, ydhms_diff):
10404         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
10405         * lib/strptime.c (day_of_the_week):
10406         * lib/xtime.h (xtime_sec):
10407         Redo with neither ‘%’ nor conditional branches.
10409 2019-12-23  Bruno Haible  <bruno@clisp.org>
10411         setlocale-null: Export the lock function also on non-Windows platforms.
10412         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
10413         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
10414         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
10415         * modules/setlocale-null (configure.ac): Invoke it.
10416         (Files): Add m4/visibility.m4.
10418 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10420         gethrxtime: fix rounding bug with negative args
10421         Problem reported by Bruno Haible in:
10422         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
10423         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
10424         with negative rounding.  Common platforms can compute / and % with
10425         a single instruction, so the simplified code should be shorter and
10426         faster on these platforms anyway.
10428 2019-12-22  Bruno Haible  <bruno@clisp.org>
10430         gethrxtime: remove incorrect overflow detection
10431         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
10432         integer overflow, as it didn’t suffice.  This reverts the xtime.h
10433         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
10434         cannot now see the need for anyway (even in cases where it works),
10435         as the patch is helpful only when the signs of S and NS disagree,
10436         and all callers pass nonnegative values for S and NS.
10438 2019-12-22  Bruno Haible  <bruno@clisp.org>
10440         setlocale-null: Add standalone include file.
10441         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
10442         * lib/locale.in.h: Include setlocale_null.h.
10443         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
10444         setlocale_null): Remove declarations.
10445         * lib/setlocale_null.c: Include setlocale_null.h.
10446         * lib/localename.c: Likewise.
10447         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
10448         (Depends-on): Add snippet/arg-nonnull.
10449         (Include): Allow either "setlocale_null.h" or <locale.h>.
10451 2019-12-22  Bruno Haible  <bruno@clisp.org>
10453         strfmon_l: Fix test failures on FreeBSD and Cygwin.
10454         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
10455         AC_RUN_IFELSE test.
10456         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
10457         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
10458         problem.
10460 2019-12-22  Bruno Haible  <bruno@clisp.org>
10462         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
10463         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
10464         unconditional AC_LIBOBJ.
10465         * modules/selinux-at: Likewise.
10466         * modules/xmemdup0: Likewise.
10467         * modules/xstrtoll: Likewise.
10469 2019-12-22  Bruno Haible  <bruno@clisp.org>
10471         longlong: Mark module obsolete.
10472         * modules/longlong (Status, Notice): New sections.
10474         stdint: Assume that the compiler supports 'long long'.
10475         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
10476         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
10477         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10478         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
10479         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10480         * modules/stdint (Files): Remove longlong.m4.
10481         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
10482         HAVE_UNSIGNED_LONG_LONG_INT.
10484         inttypes-incomplete: Assume that the compiler supports 'long long'.
10485         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10486         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
10487         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10488         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
10489         HAVE_LONG_LONG_INT to be 1.
10490         * modules/inttypes-incomplete (Makefile.am): Don't substitute
10491         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
10493         malloca: Assume that the compiler supports 'long long'.
10494         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
10495         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
10496         * modules/malloca (Files): Remove longlong.m4.
10497         * modules/relocatable-prog-wrapper (Files): Likewise.
10499         atoll: Assume that the compiler supports 'long long'.
10500         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
10501         * modules/atoll (Files): Remove longlong.m4.
10503         strtoll: Assume that the compiler supports 'long long'.
10504         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
10505         * modules/strtoll (Files): Remove longlong.m4.
10507         strtoull: Assume that the compiler supports 'long long'.
10508         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
10509         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10510         * modules/strtoull (Files): Remove longlong.m4.
10512         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
10513         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
10514         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10515         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
10516         AC_TYPE_LONG_LONG_INT.
10517         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
10518         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10519         * modules/strtoimax (Files): Remove longlong.m4.
10520         * modules/strtoumax (Files): Likewise.
10522         xstrtoll: Assume that the compiler supports 'long long'.
10523         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
10524         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
10526         vasnprintf: Assume that the compiler supports 'long long'.
10527         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
10528         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
10529         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10530         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
10531         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
10532         require AC_TYPE_LONG_LONG_INT.
10533         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10534         gl_PREREQ_VASNPRINTF): Likewise.
10535         * modules/vasnprintf (Files): Remove longlong.m4.
10536         * modules/c-vasnprintf (Files): Likewise.
10537         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10538         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10539         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10540         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10541         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10542         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10543         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10545         gethrxtime: Assume that the compiler supports 'long long'.
10546         * lib/xtime.h (xtime_t): Define to 'long long int' always.
10547         (XTIME_PRECISION): Define to 1000000000 always.
10548         (xtime_make, xtime_sec): Optimize accordingly.
10549         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
10550         * modules/gethrxtime (Files): Remove longlong.m4.
10552         integer_length*: Assume that the compiler supports 'long long'.
10553         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
10554         * modules/integer_length (Files): Remove longlong.m4.
10555         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10556         * modules/integer_length_l (Files): Remove longlong.m4.
10557         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10558         * modules/integer_length_ll (Files): Remove longlong.m4.
10559         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10561         count-one-bits: Assume that the compiler supports 'long long'.
10562         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
10563         * m4/count-one-bits.m4: Remove file.
10564         * modules/count-one-bits (Files): Remove it.
10565         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
10566         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
10567         unconditionally.
10569         count-trailing-zeros: Assume that the compiler supports 'long long'.
10570         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
10571         unconditionally.
10572         * m4/count-trailing-zeros.m4: Remove file.
10573         * modules/count-trailing-zeros (Files): Remove it.
10574         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
10575         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
10576         unconditionally.
10578         count-leading-zeros: Assume that the compiler supports 'long long'.
10579         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
10580         unconditionally.
10581         * m4/count-leading-zeros.m4: Remove file.
10582         * modules/count-leading-zeros (Files): Remove it.
10583         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
10584         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
10585         unconditionally.
10587 2019-12-22  Bruno Haible  <bruno@clisp.org>
10589         localcharset: Update support for OpenBSD.
10590         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
10592 2019-12-21  Bruno Haible  <bruno@clisp.org>
10594         pthread_sigmask: Avoid test failure on NetBSD 8.0.
10595         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
10596         NetBSD.
10597         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
10599 2019-12-21  Bruno Haible  <bruno@clisp.org>
10601         threadlib: Improve code structure.
10602         * m4/threadlib.m4: Reorder macros. Add comments.
10604 2019-12-21  Bruno Haible  <bruno@clisp.org>
10606         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
10607         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
10608         here from m4/threads.m4).
10609         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
10610         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
10611         (gl_STDTHREADLIB): New macro.
10612         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
10613         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
10615 2019-12-21  Bruno Haible  <bruno@clisp.org>
10617         sched_yield: Don't depend on threadlib and yield.
10618         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
10619         LIB_SCHED_YIELD.
10620         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
10621         m4/yield.m4).
10622         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
10623         gl_THREADLIB and gl_YIELD.
10624         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
10625         based on $(LIB_SCHED_YIELD).
10626         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
10627         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10628         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
10629         (Depends-on): Remove threadlib.
10630         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10631         * modules/threads-h (Files): Remove m4/yield.m4.
10632         * modules/pthread-cond-tests (Makefile.am): Link the programs against
10633         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10634         * modules/pthread-mutex-tests (Makefile.am): Likewise.
10635         * modules/pthread-once-tests (Makefile.am): Likewise.
10636         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
10637         * modules/pthread-tss-tests (Makefile.am): Likewise.
10639 2019-12-21  Bruno Haible  <bruno@clisp.org>
10641         threads-h: Don't depend on threadlib.
10642         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
10643         not gl_THREADLIB_EARLY.
10645 2019-12-21  Bruno Haible  <bruno@clisp.org>
10647         nl_langinfo tests: Fix link error (regression from 2019-12-18).
10648         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
10649         with $(LIB_SETLOCALE).
10651 2019-12-21  Bruno Haible  <bruno@clisp.org>
10653         threadlib: Remove unused dependency (left over from 2019-07-06).
10654         * modules/threadlib (Depends-on): Remove havelib.
10656 2019-12-21  Bruno Haible  <bruno@clisp.org>
10658         New convention for multithread-safety tests.
10659         * tests/test-setlocale_null-mt-one.c: Renamed from
10660         tests/test-setlocale_null-one.c.
10661         * tests/test-setlocale_null-mt-all.c: Renamed from
10662         tests/test-setlocale_null-all.c.
10663         * modules/setlocale-null-tests (Files, Makefile.am): Update.
10665 2019-12-21  Bruno Haible  <bruno@clisp.org>
10667         quotearg tests: Fix conflict with hard-locale tests.
10668         * tests/testlocale: Renamed from tests/locale.
10669         * modules/quotearg-tests (Files): Update.
10670         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
10672 2019-12-21  Bruno Haible  <bruno@clisp.org>
10674         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
10675         Reported by Daniel Richard G. in
10676         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
10677         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
10678         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
10679         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
10680         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
10681         alternative to PTHREAD_RWLOCK_INITIALIZER.
10682         * lib/glthread/lock.c: Likewise.
10684 2019-12-21  Bruno Haible  <bruno@clisp.org>
10686         memcmp tests: Work around the clang bug.
10687         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
10688         the clang optimization.
10690 2019-12-20  Bruno Haible  <bruno@clisp.org>
10692         localcharset: Add support for z/OS encoding names.
10693         * lib/localcharset.h: Mention which encodings are used as locale
10694         encodings on z/OS.
10696 2019-12-20  Bruno Haible  <bruno@clisp.org>
10698         iconv_open: Add support for z/OS encoding names.
10699         Reported by Daniel Richard G. in
10700         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
10701         * lib/iconv_open-zos.gperf: New file.
10702         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
10703         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
10704         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
10705         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
10706         * doc/posix-functions/iconv_open.texi: Mention z/OS.
10708 2019-12-20  Bruno Haible  <bruno@clisp.org>
10710         doc: Document the problem of the per-thread locale functions on z/OS.
10711         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
10712         * doc/posix-functions/newlocale.texi: Likewise.
10713         * doc/posix-functions/duplocale.texi: Likewise.
10714         * doc/posix-functions/freelocale.texi: Likewise.
10716 2019-12-20  Bruno Haible  <bruno@clisp.org>
10718         localename, gettext: Fix host_os value for z/OS.
10719         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
10720         cross-configuration code.
10722 2019-12-19  Jim Meyering  <meyering@fb.com>
10724         nstrftime: avoid a shadowing warning
10725         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
10726         to avoid shadowing an "i" declared hundreds of lines above.
10728 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10730         dfa: struct dfamust now uses flexible array
10731         * lib/dfa.c: Include flexmember.h.
10732         (dfamust, dfamustfree): Adjust to struct dfamust change.
10733         This saves a call to malloc+free.
10734         * lib/dfa.h (struct dfamust): Make the final member a
10735         flexible array member.
10736         * modules/dfa (Depends-on): Add flexmember.
10738         dfa: fast->small for array elements
10739         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
10740         since this type is used in arrays.  This change is more for
10741         documentation than for any practical effect, since the two types
10742         are the same on all known platforms.
10744 2019-12-19  Bruno Haible  <bruno@clisp.org>
10746         iconv tests: Test canonicalized, not system-dependent, encoding names.
10747         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
10748         * modules/iconv-tests (Depends-on): Add iconv_open.
10750 2019-12-18  Bruno Haible  <bruno@clisp.org>
10752         localename: Fix test failure on AIX 7.2.
10753         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
10754         locales on AIX.
10755         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
10756         locales on AIX.
10758 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10760         Improve port of AC_C_RESTRICT to Oracle C++
10761         Problem reported by Christian Biesinger in:
10762         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
10763         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
10764         Oracle Developer Studio C++ 12.5 or later.
10766 2019-12-18  Bruno Haible  <bruno@clisp.org>
10768         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
10769         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
10771 2019-12-18  Bruno Haible  <bruno@clisp.org>
10773         localename: Ensure multithread-safety in future changes.
10774         * lib/localename.c (setlocale): Reference the system's setlocale().
10775         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
10776         (gl_locale_name_posix): Likewise.
10777         * modules/localename (Depends-on): Add setlocale-null.
10779 2019-12-18  Bruno Haible  <bruno@clisp.org>
10781         setlocale-null: Make API more useful.
10782         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
10783         callers changed.
10784         (setlocale_null): New declaration.
10785         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
10786         extracted from setlocale_null_unlocked.
10787         (setlocale_null_unlocked): Invoke it.
10788         (setlocale_null_r): Renamed from setlocale_null.
10789         (setlocale_null): New function, extracted from setlocale_mtsafe in
10790         setlocale.c.
10791         * lib/setlocale.c: Don't include <errno.h>.
10792         (setlocale_mtsafe): Invoke setlocale_null.
10793         * lib/setlocale-lock.c: Update comments.
10794         * doc/posix-functions/setlocale.texi: Mention both functions.
10796 2019-12-18  Bruno Haible  <bruno@clisp.org>
10798         localename: Optimize code for native Windows.
10799         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
10800         category (not allowed here).
10802 2019-12-18  Bruno Haible  <bruno@clisp.org>
10804         setlocale: Make calls with NULL argument multithread-safe.
10805         * lib/setlocale.c: Include <errno.h>.
10806         (setlocale_mtsafe): New function.
10807         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
10808         (setlocale_improved): Renamed from rpl_setlocale.
10809         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10810         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
10811         LIB_SETLOCALE.
10812         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
10813         (Link): New section.
10814         * tests/locale.c: Undefine setlocale.
10815         * tests/test-setlocale_null-one.c: Likewise.
10816         * tests/test-setlocale_null-all.c: Likewise.
10817         * modules/setlocale-tests (Makefile.am): Link the test programs with
10818         $(LIB_SETLOCALE).
10819         * modules/astrxfrm-tests (Makefile.am): Likewise.
10820         * modules/btowc-tests (Makefile.am): Likewise.
10821         * modules/c-ctype-tests (Makefile.am): Likewise.
10822         * modules/c-snprintf-tests (Makefile.am): Likewise.
10823         * modules/c-strcase-tests (Makefile.am): Likewise.
10824         * modules/c-vasprintf-tests (Makefile.am): Likewise.
10825         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
10826         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
10827         * modules/dfa-tests (Makefile.am): Likewise.
10828         * modules/duplocale-tests (Makefile.am): Likewise.
10829         * modules/hard-locale-tests (Makefile.am): Likewise.
10830         * modules/localcharset-tests (Makefile.am): Likewise.
10831         * modules/localename-tests (Makefile.am): Likewise.
10832         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10833         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10834         * modules/mbrtowc-tests (Makefile.am): Likewise.
10835         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10836         * modules/mbscasestr-tests (Makefile.am): Likewise.
10837         * modules/mbschr-tests (Makefile.am): Likewise.
10838         * modules/mbscspn-tests (Makefile.am): Likewise.
10839         * modules/mbsinit-tests (Makefile.am): Likewise.
10840         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10841         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10842         * modules/mbspbrk-tests (Makefile.am): Likewise.
10843         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10844         * modules/mbsrchr-tests (Makefile.am): Likewise.
10845         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10846         * modules/mbsspn-tests (Makefile.am): Likewise.
10847         * modules/mbsstr-tests (Makefile.am): Likewise.
10848         * modules/nl_langinfo-tests (Makefile.am): Likewise.
10849         * modules/quotearg-tests (Makefile.am): Likewise.
10850         * modules/regex-tests (Makefile.am): Likewise.
10851         * modules/strfmon_l-tests (Makefile.am): Likewise.
10852         * modules/strtod-tests (Makefile.am): Likewise.
10853         * modules/strtold-tests (Makefile.am): Likewise.
10854         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
10855         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
10856         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
10857         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
10858         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
10859         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
10860         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
10861         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10862         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
10863         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
10864         * modules/wcrtomb-tests (Makefile.am): Likewise.
10865         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
10866         * modules/wcsrtombs-tests (Makefile.am): Likewise.
10867         * modules/wcwidth-tests (Makefile.am): Likewise.
10868         * doc/posix-functions/setlocale.texi: Mention that the multithread-
10869         safety fix is also available in module 'setlocale'.
10871 2019-12-18  Bruno Haible  <bruno@clisp.org>
10873         hard-locale: Make multithread-safe.
10874         * lib/hard-locale.h (hard_locale): Move documentation to here.
10875         * lib/hard-locale.c: Don't include <stdlib.h>.
10876         (GLIBC_VERSION): Remove macro.
10877         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
10878         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
10879         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
10880         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
10881         (Link): New section.
10882         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
10883         $(LIB_HARD_LOCALE).
10885 2019-12-18  Bruno Haible  <bruno@clisp.org>
10887         hard-locale: Avoid test failure on Haiku.
10888         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
10890 2019-12-18  Bruno Haible  <bruno@clisp.org>
10892         setlocale-null: Handle NULL result from setlocale.
10893         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
10894         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
10895         from setlocale or _wsetlocale.
10897 2019-12-18  Bruno Haible  <bruno@clisp.org>
10899         hard-locale: Add test.
10900         * tests/test-hard-locale.c: New file.
10901         * tests/locale.c: New file.
10902         * modules/hard-locale-tests: New file.
10904 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10906         dfa: do not match invalid UTF-8
10907         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
10908         from 5 to 9 tokens; this is needed due to the changes to
10909         add_utf8_anychar.
10910         (charclass_index): 2nd arg is now pointer-to-const.
10911         (add_utf8_anychar): Match only valid UTF-8 byte sequences
10912         instead of allowing overlong encodings or surrogate halves.
10914         dfa: simplify charclass by assuming C99
10915         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
10916         (charclass_word): Now always uint_fast64_t.
10917         (CHARCLASS_PAIR): Remove.
10918         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
10920         fts: tune via calloc
10921         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
10923         dfa: tune via xzalloc
10924         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
10926 2019-12-17  Bruno Haible  <bruno@clisp.org>
10928         localcharset: Fix multithread-safety bug on Windows and OS/2.
10929         * lib/localcharset.h (locale_charset): Clarify when the result becomes
10930         invalid.
10931         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
10932         assemble the result.
10934 2019-12-17  Bruno Haible  <bruno@clisp.org>
10936         localcharset: Optimize code for native Windows.
10937         * lib/localcharset.c (locale_charset): Don't bother calling
10938         setlocale (LC_ALL, NULL) since we're not interested in its result.
10940 2019-12-17  Bruno Haible  <bruno@clisp.org>
10942         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
10943         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
10944         setlocale.
10945         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
10946         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
10947         * modules/nl_langinfo (Depends-on): Add setlocale-null.
10949 2019-12-17  Bruno Haible  <bruno@clisp.org>
10951         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
10952         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
10953         stack-allocated buffer to assemble each result and different static
10954         buffers to return it.
10955         * tests/test-nl_langinfo-mt.c: New file.
10956         * modules/nl_langinfo-tests (Files): Add it.
10957         (Depends-on): Add thread, nanosleep.
10958         (Makefile.am): Build test-nl_langinfo-mt test.
10960 2019-12-17  Bruno Haible  <bruno@clisp.org>
10962         langinfo: Document more details.
10963         * doc/posix-headers/langinfo.texi: List platform details.
10964         * doc/posix-functions/nl_langinfo.texi: Likewise.
10966 2019-12-17  Bruno Haible  <bruno@clisp.org>
10968         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
10969         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
10970         and Martin Storsjö <martin@martin.st>
10971         in <https://savannah.gnu.org/bugs/?57406>.
10972         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
10973         mingw.
10975 2019-12-17  Bruno Haible  <bruno@clisp.org>
10977         glob: Avoid warning on mingw.
10978         Reported by Christian Biesinger <cbiesinger@google.com> in
10979         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
10980         * lib/glob.c (__stat64): Undefine first.
10982 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10984         xalloc: tune xzalloc for fresh allocations
10985         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
10986         because when the memory is freshly allocated from the OS via sbrk
10987         or mmap, calloc can avoid doing the memset.
10989         dfa: new function dfacopysyntax
10990         * lib/dfa.c (struct dfa): Move syntax member later so
10991         that dfacopysyntax can easily clear earlier members.
10992         (dfacopysyntax): New function, used by Gawk.
10994 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10996         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
10997         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
10998         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
10999         if not already defined.
11001         dfa: remove one dependency on MB_CUR_MAX
11002         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
11004         dfa: remove struct lexer_state.cur_mb_len
11005         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
11006         as it’s not needed and the code is simpler without it.
11007         All uses removed.
11009 2019-12-16  Bruno Haible  <bruno@clisp.org>
11011         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
11012         Reported by Arnold Robbins <arnold@skeeve.com>.
11013         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
11014         copied from lib/glthread/lock.h.
11015         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
11016         (setlocale_null_with_lock): If pthread_in_use() is false, use
11017         setlocale_null_unlocked directly.
11018         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
11019         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
11020         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
11021         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
11022         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
11023         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
11025 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
11027         dfa: make dfasyntax thread-safe
11028         Problem reported by Bruno Haible in:
11029         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
11030         * lib/dfa.c: Do not include locale.h.
11031         (struct dfa): Remove simple_locale member.
11032         All uses replaced by localeinfo.simple.
11033         (using_simple_locale): Remove; now present (with some
11034         changes) in localeinfo.c.
11035         (dfasyntax): No need to initialize removed member.
11037         localeinfo: record whether locale is simple
11038         * lib/localeinfo.c (using_simple_locale): New function,
11039         copied here from lib/dfa.c but with a change: it uses
11040         strcoll for its heuristic, instead of using setlocale.
11041         This lets it be thread-safe.
11042         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
11044 2019-12-15  Bruno Haible  <bruno@clisp.org>
11046         duplocale: Fix multithread-safety bug on AIX.
11047         * lib/duplocale.c: Don't include <stdlib.h>.
11048         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
11049         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
11050         Set LIB_DUPLOCALE.
11051         * modules/duplocale (Depends-on): Add setlocale-null.
11052         (Link): New section.
11053         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
11054         $(LIB_DUPLOCALE).
11056 2019-12-15  Bruno Haible  <bruno@clisp.org>
11058         setlocale-null: Add tests.
11059         * tests/test-setlocale_null.c: New file.
11060         * tests/test-setlocale_null-one.c: New file.
11061         * tests/test-setlocale_null-all.c: New file.
11062         * modules/setlocale-null-tests: New file.
11064         setlocale-null: New module.
11065         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
11066         setlocale_null): New declarations.
11067         * lib/setlocale_null.c: New file.
11068         * lib/setlocale-lock.c: New file.
11069         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
11070         * m4/setlocale_null.m4: New file.
11071         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
11072         GNULIB_SETLOCALE_NULL.
11073         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
11074         * modules/setlocale-null: New file.
11075         * doc/posix-functions/setlocale.texi: Mention the new module.
11077 2019-12-15  Bruno Haible  <bruno@clisp.org>
11079         lock tests: Skip test when no multithreading is enabled.
11080         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
11082 2019-12-14  Bruno Haible  <bruno@clisp.org>
11084         locale, duplocale, localename: Fix last patch.
11085         Reported by Daniel Richard G. in
11086         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
11087         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
11088         Don't define if locale_t does not exist.
11090 2019-12-13  Bruno Haible  <bruno@clisp.org>
11092         locale, duplocale, localename: Fix errors if locale_t does not exist.
11093         Reported by Daniel Richard G. in
11094         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
11095         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
11096         macros.
11097         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
11098         HAVE_NEWLOCALE.
11099         * tests/test-localename.c: Likewise.
11100         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
11101         HAVE_DUPLOCALE.
11102         * tests/test-locale-c++.cc: Likewise.
11104 2019-12-13  Bruno Haible  <bruno@clisp.org>
11106         wcstok: Fix test failure on HP-UX.
11107         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
11108         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
11110 2019-12-12  Bruno Haible  <bruno@clisp.org>
11112         strtod, strtold tests: Avoid test failure on AIX 7.2.
11113         * tests/test-strtod1.c (main): Allow implementations in which ',' and
11114         '.' both are radix characters.
11115         * tests/test-strtold1.c (main): Likewise.
11117 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11119         dfa: prefer ptrdiff_t for API, too
11120         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
11121         but do this only for internal use for now.
11122         * NEWS: Mention the API change.
11123         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
11124         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
11125         values known to be nonnegative.
11126         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
11127         Prefer idx_t or ptrdiff_t to size_t for API.
11128         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
11129         Prefer ptrdiff_t to size_t for API.
11131         stdalign: port to xlclang 16.01
11132         Problem reportd by Bruno Haible in:
11133         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
11134         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
11135         ((__aligned__ (...))) with xlclang, as a top-level
11136         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
11137         xlclang version 16.01.0000.0001; the alignment directive is ignored.
11139 2019-12-12  Bruno Haible  <bruno@clisp.org>
11141         duplocale: Fix test failure on AIX 7.2 with xlclang.
11142         * lib/duplocale.c: Include <stdlib.h>.
11143         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
11144         value.
11146 2019-12-12  Bruno Haible  <bruno@clisp.org>
11148         stddef: Document the AIX xlc issue.
11149         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
11151 2019-12-12  Bruno Haible  <bruno@clisp.org>
11153         duplocale: Don't attempt to override if locale_t does not exist.
11154         Reported by Daniel Richard G. in
11155         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
11156         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
11157         HAVE_DUPLOCALE to 0.
11159 2019-12-12  Bruno Haible  <bruno@clisp.org>
11161         wcwidth: Avoid test failure on AIX 7.2.
11162         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
11163         negative.
11164         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
11166 2019-12-12  Bruno Haible  <bruno@clisp.org>
11168         ilogbl: Work around Cygwin bug.
11169         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
11170         correct.
11171         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
11173 2019-12-12  Bruno Haible  <bruno@clisp.org>
11175         strtold: Work around Cygwin bug.
11176         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
11177         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
11178         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
11179         STRTOLD_HAS_UNDERFLOW_BUG is defined.
11180         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
11182 2019-12-12  Bruno Haible  <bruno@clisp.org>
11184         strtold: Fix autoconf test.
11185         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
11187 2019-12-11  Bruno Haible  <bruno@clisp.org>
11189         fsync tests: Skip test that is known to fail.
11190         * doc/posix-functions/fsync.texi: Update list of platforms.
11191         * tests/test-fsync.c (main): Skip test with read-only file descriptors
11192         that is known to fail on AIX and Cygwin.
11194 2019-12-11  Bruno Haible  <bruno@clisp.org>
11196         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
11197         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
11198         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
11199         HAVE_GETADDRINFO as a C macro.
11200         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
11201         declare as replacement functions.
11202         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
11203         define as no-op overrides.
11204         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
11205         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
11206         * modules/getaddrinfo (Depends-on, configure.ac): Test
11207         REPLACE_GETADDRINFO.
11208         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
11209         problem.
11210         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
11211         convention problems.
11213 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
11215         dfa: prefer signed integers for internals
11216         Signed integers can be checked more easily for integer overflow.
11217         * lib/dfa.c (position, struct lexer_state, struct parser_state)
11218         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
11219         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
11220         (nsubtoks, copytoks, closure, alloc_position_set, delete)
11221         (replace, state_index, epsclosure, charclass_context)
11222         (state_separate_contexts, merge_nfa_state, dfaoptimize)
11223         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
11224         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
11225         (comsubs, inboth, allocmust):
11226         Prefer a signed to an unsigned integer when calculating indexes,
11227         unless the integer is part of the external API (a bigger deal,
11228         and to be done later).
11230         dfa: fix index overflow
11231         * lib/dfa.c (compare): Avoid integer overflow when analyzing
11232         very large regular expressions.
11234         dfa: update commentary for previous change
11235         * NEWS: Mention the change.
11236         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
11238 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11240         dfa: separate parse and compile phase
11241         ‘dfamust’ must be called after parsing and before tokens are
11242         reordered, but both are executed in the compilation phase.
11243         Token reordering was introduced in Gnulib commit
11244         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
11245         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
11246         * lib/dfa.c (dfaparse): Change it to global function.
11247         (dfacomp): If first argument is NULL, skip parse.
11248         * lib/dfa.h: (dfaparse): Add a prototype.
11250 2019-12-11  Bruno Haible  <bruno@clisp.org>
11252         unistd tests: Fix link error on MSVC.
11253         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
11254         $(LIB_GETLOGIN).
11256 2019-12-11  Bruno Haible  <bruno@clisp.org>
11258         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
11259         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
11260         and POSIX substitutes are supported in C++ mode.
11261         * NEWS: Likewise.
11263 2019-12-11  Bruno Haible  <bruno@clisp.org>
11265         stddef: Fix compilation error in C++ mode on MSVC.
11266         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
11267         instead, include <cstddef>.
11269 2019-12-11  Bruno Haible  <bruno@clisp.org>
11271         unistd: Fix compilation error in C++ mode on MSVC.
11272         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
11273         does not have <unistd.h>.
11275 2019-12-11  Bruno Haible  <bruno@clisp.org>
11277         locale: Fix compilation error in C++ mode on MSVC.
11278         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
11279         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
11280         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
11281         int_n_sep_by_space): Define as macros on MSVC.
11283 2019-12-11  Bruno Haible  <bruno@clisp.org>
11285         wchar: Fix compilation error in C++ mode on MSVC.
11286         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
11288 2019-12-11  Bruno Haible  <bruno@clisp.org>
11290         pthread-thread: Fix compilation error in C++ mode on MSVC.
11291         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
11292         _GL_CXXALIAS_RPL invocation.
11294 2019-12-08  Bruno Haible  <bruno@clisp.org>
11296         Fix compilation errors in C++ mode on Haiku.
11297         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
11298         non-glibc systems.
11299         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
11300         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11301         posix_spawnattr_setschedparam): Likewise.
11302         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
11303         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11304         * lib/unistd.in.h (usleep): Likewise.
11306 2019-12-08  Bruno Haible  <bruno@clisp.org>
11308         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
11309         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
11310         * modules/fseeko (configure.ac-early): Require it instead of
11311         AC_FUNC_FSEEKO.
11312         * modules/ftello (configure.ac-early): Likewise.
11313         * modules/fflush (configure.ac-early): Likewise.
11315 2019-12-08  Bruno Haible  <bruno@clisp.org>
11317         Fix compilation error in C++ mode on HP-UX 11.
11318         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
11319         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
11321 2019-12-08  Bruno Haible  <bruno@clisp.org>
11323         Fix compilation errors on HP-UX 11/ia64.
11324         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
11325         _GL_FUNCDECL_SYS.
11327 2019-12-08  Bruno Haible  <bruno@clisp.org>
11329         Fix compilation error in C++ mode on OpenBSD.
11330         * lib/signal.in.h (signal): Declare on OpenBSD.
11332 2019-12-08  Bruno Haible  <bruno@clisp.org>
11334         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
11335         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
11336         instead of #error.
11338 2019-12-08  Bruno Haible  <bruno@clisp.org>
11340         Fix compilation errors in C++ mode on FreeBSD.
11341         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
11342         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
11343         * lib/threads.in.h (thrd_exit): Likewise.
11344         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
11346 2019-12-08  Bruno Haible  <bruno@clisp.org>
11348         Fix compilation errors in C++ mode on macOS and FreeBSD.
11349         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
11350         or FreeBSD with clang, use the approach without C preprocessor macro.
11352 2019-12-07  Bruno Haible  <bruno@clisp.org>
11354         Fix compilation errors in C++ mode on AIX with xlclang++.
11355         Reported by Christian Biesinger <cbiesinger@google.com> in
11356         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11357         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
11359 2019-12-07  Bruno Haible  <bruno@clisp.org>
11361         Document compilation error in C++ mode on NetBSD 8.0.
11362         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
11364 2019-12-07  Bruno Haible  <bruno@clisp.org>
11366         Fix compilation errors in C++ mode on Solaris 10.
11367         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
11368         to non-empty on Solaris with a non-GCC compiler.
11369         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
11371 2019-12-07  Bruno Haible  <bruno@clisp.org>
11373         Reword NEWS entry.
11374         * NEWS: Reword the latest NEWS entry.
11376 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
11378         Move xstrtol_fatal to a new xstrtol-error module.
11379         * lib/xstrtol.h: Stop including <getopt.h>.
11380         (xstrtol_fatal): Move ...
11381         * lib/xstrtol-error.h: ... here.  New file.
11382         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
11383         * tests/test-xstrtol.c: Likewise.
11384         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
11385         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
11386         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
11387         * modules/xstrtol-error: New file.
11388         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
11389         * MODULES.html.sh: Add xstrtol-error.
11390         * NEWS: Document the change.
11392 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11394         nstrftime: better width support for %N, %z
11395         * lib/nstrftime.c (width_add, width_add1, width_cpy):
11396         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
11397         a new WIDTH parameter.
11398         (add, add1, cpy): Use these macros.
11399         (width_add): Do not treat digits == 0 as a special case,
11400         do not pad if padding is ‘-’, and do not use a negative width.
11401         (__strftime_internal): Redo formatting of nanoseconds and numeric
11402         timezones to avoid buffer misuse in unusual cases, and so that
11403         widths make more sense.  Add support for widths greater than 9 to
11404         the %N format; they are zero filled on the right.
11405         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
11407 2019-12-05  Bruno Haible  <bruno@clisp.org>
11409         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
11410         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
11411         set REPLACE_ISFINITE to 1.
11412         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
11413         REPLACE_ISINF to 1.
11414         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
11415         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
11416         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11417         * lib/threads.in.h (call_once): Likewise.
11418         * lib/iconv.in.h (iconv): Likewise.
11420 2019-12-05  Bruno Haible  <bruno@clisp.org>
11422         wchar: Add more C++ tests.
11423         Reported by Christian Biesinger <cbiesinger@google.com> in
11424         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11425         * tests/test-wchar-c++3.cc: New file.
11426         * modules/wchar-c++-tests (Files): Add it.
11427         (Makefile.am): Compile it.
11429 2019-12-05  Bruno Haible  <bruno@clisp.org>
11431         Add more C++ tests.
11433         assert-h: Add C++ tests.
11434         * tests/test-assert-h-c++.cc: New file.
11435         * tests/test-assert-h-c++2.cc: New file.
11436         * modules/assert-h-c++-tests: New file.
11437         * modules/assert-h-tests: New file.
11439         ctype: Add C++ tests.
11440         * tests/test-ctype-c++.cc: New file.
11441         * tests/test-ctype-c++2.cc: New file.
11442         * modules/ctype-c++-tests: New file.
11443         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
11445         errno: Add C++ tests.
11446         * tests/test-errno-c++.cc: New file.
11447         * tests/test-errno-c++2.cc: New file.
11448         * modules/errno-c++-tests: New file.
11449         * modules/errno-tests (Depends-on): Add errno-c++-tests.
11451         float: Add C++ tests.
11452         * tests/test-float-c++.cc: New file.
11453         * tests/test-float-c++2.cc: New file.
11454         * modules/float-c++-tests: New file.
11455         * modules/float-tests (Depends-on): Add float-c++-tests.
11457         inttypes: Add more C++ tests.
11458         * tests/test-inttypes-c++2.cc: New file.
11459         * modules/inttypes-c++-tests (Files): Add it.
11460         (Makefile.am): Compile it.
11462         limits-h: Add C++ tests.
11463         * tests/test-limits-h-c++.cc: New file.
11464         * tests/test-limits-h-c++2.cc: New file.
11465         * modules/limits-h-c++-tests: New file.
11466         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
11468         stdarg: Add C++ tests.
11469         * tests/test-stdarg-c++.cc: New file.
11470         * tests/test-stdarg-c++2.cc: New file.
11471         * modules/stdarg-c++-tests: New file.
11472         * modules/stdarg-tests: New file.
11474         stdbool: Add C++ tests.
11475         * tests/test-stdbool-c++.cc: New file.
11476         * tests/test-stdbool-c++2.cc: New file.
11477         * modules/stdbool-c++-tests: New file.
11478         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
11480         stddef: Add C++ tests.
11481         * tests/test-stddef-c++.cc: New file.
11482         * tests/test-stddef-c++2.cc: New file.
11483         * modules/stddef-c++-tests: New file.
11484         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
11486         stdint: Add C++ tests.
11487         * tests/test-stdint-c++.cc: New file.
11488         * tests/test-stdint-c++2.cc: New file.
11489         * modules/stdint-c++-tests: New file.
11490         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
11492         wchar: Add more C++ tests.
11493         * tests/test-wchar-c++2.cc: New file.
11494         * modules/wchar-c++-tests (Files): Add it.
11495         (Makefile.am): Compile it.
11497         wctype-h: Add more C++ tests.
11498         * tests/test-wctype-h-c++2.cc: New file.
11499         * modules/wctype-h-c++-tests (Files): Add it.
11500         (Makefile.am): Compile it.
11502 2019-12-04  Bruno Haible  <bruno@clisp.org>
11504         Fix compilation errors in C++ mode with xlclang++ on AIX.
11505         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
11506         C++ mode on AIX.
11507         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
11508         without C preprocessor macro.
11509         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
11510         _GL_CXXALIAS_SYS.
11511         * lib/threads.in.h (thrd_exit): Likewise.
11513 2019-12-04  Bruno Haible  <bruno@clisp.org>
11515         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
11516         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
11517         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
11519 2019-12-04  Bruno Haible  <bruno@clisp.org>
11521         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
11522         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
11523         _GL_CXXALIASWARN invocation on non-glibc systems.
11524         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
11525         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
11526         iswctype, towlower, towupper): Likewise.
11528 2019-12-03  Bruno Haible  <bruno@clisp.org>
11530         Avoid hassles caused by [[noreturn]] in C++.
11531         Reported by Christian Biesinger <cbiesinger@google.com> in
11532         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
11533         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
11534         * lib/_Noreturn.h: Likewise.
11536 2019-12-02  Bruno Haible  <bruno@clisp.org>
11538         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
11539         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
11540         LIBMULTITHREAD.
11541         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
11542         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
11543         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
11544         gl_THREADLIB.
11545         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
11547 2019-12-02  Bruno Haible  <bruno@clisp.org>
11549         Fix some more link errors with --enable-threads=isoc.
11550         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
11551         * modules/pthread-rwlock (Depends-on): Likewise.
11553 2019-12-02  Bruno Haible  <bruno@clisp.org>
11555         Fix link errors with --enable-threads=posix on AIX.
11556         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
11557         program with $(LIBTHREAD).
11558         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
11559         program with $(LIBTHREAD).
11561 2019-12-02  Bruno Haible  <bruno@clisp.org>
11563         Fix link errors with --enable-threads=posix on AIX.
11564         * modules/mbrtowc (Link): New section.
11565         * modules/acl (Link): Likewise.
11566         * modules/argmatch (Link): Likewise.
11567         * modules/backup-rename (Link): Likewise.
11568         * modules/backupfile (Link): Likewise.
11569         * modules/closein (Link): Likewise.
11570         * modules/closeout (Link): Likewise.
11571         * modules/copy-file (Link): Likewise.
11572         * modules/csharpcomp (Link): Likewise.
11573         * modules/csharpexec (Link): Likewise.
11574         * modules/dfa (Link): Likewise.
11575         * modules/exclude (Link): Likewise.
11576         * modules/fnmatch (Link): Likewise.
11577         * modules/fnmatch-gnu (Link): Likewise.
11578         * modules/fnmatch-posix (Link): Likewise.
11579         * modules/glob (Link): Likewise.
11580         * modules/human (Link): Likewise.
11581         * modules/javacomp (Link): Likewise.
11582         * modules/javaexec (Link): Likewise.
11583         * modules/javaversion (Link): Likewise.
11584         * modules/mbfile (Link): Likewise.
11585         * modules/mbiter (Link): Likewise.
11586         * modules/mbmemcasecmp (Link): Likewise.
11587         * modules/mbmemcasecoll (Link): Likewise.
11588         * modules/mbrlen (Link): Likewise.
11589         * modules/mbscasecmp (Link): Likewise.
11590         * modules/mbscasestr (Link): Likewise.
11591         * modules/mbschr (Link): Likewise.
11592         * modules/mbscspn (Link): Likewise.
11593         * modules/mbsinit (Link): Likewise.
11594         * modules/mbslen (Link): Likewise.
11595         * modules/mbsncasecmp (Link): Likewise.
11596         * modules/mbsnlen (Link): Likewise.
11597         * modules/mbsnrtowcs (Link): Likewise.
11598         * modules/mbspbrk (Link): Likewise.
11599         * modules/mbspcasecmp (Link): Likewise.
11600         * modules/mbsrchr (Link): Likewise.
11601         * modules/mbsrtowcs (Link): Likewise.
11602         * modules/mbssep (Link): Likewise.
11603         * modules/mbsspn (Link): Likewise.
11604         * modules/mbsstr (Link): Likewise.
11605         * modules/mbstok_r (Link): Likewise.
11606         * modules/mbswidth (Link): Likewise.
11607         * modules/mbuiter (Link): Likewise.
11608         * modules/mkdir-p (Link): Likewise.
11609         * modules/propername (Link): Likewise.
11610         * modules/quote (Link): Likewise.
11611         * modules/quotearg (Link): Likewise.
11612         * modules/quotearg-simple (Link): Likewise.
11613         * modules/regex-quote (Link): Likewise.
11614         * modules/rpmatch (Link): Likewise.
11615         * modules/sh-quote (Link): Likewise.
11616         * modules/system-quote (Link): Likewise.
11617         * modules/trim (Link): Likewise.
11618         * modules/unistdio/ulc-asnprintf (Link): Likewise.
11619         * modules/unistdio/ulc-fprintf (Link): Likewise.
11620         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
11621         * modules/unistdio/ulc-vasprintf (Link): Likewise.
11622         * modules/unistdio/ulc-vfprintf (Link): Likewise.
11623         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
11624         * modules/unistdio/ulc-vsprintf (Link): Likewise.
11625         * modules/xfreopen (Link): Likewise.
11626         * modules/xmemcoll (Link): Likewise.
11627         * modules/yesno (Link): Likewise.
11628         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
11629         * modules/argmatch-tests (Makefile.am): Likewise.
11630         * modules/closein-tests (Makefile.am): Likewise.
11631         * modules/copy-file-tests (Makefile.am): Likewise.
11632         * modules/dfa-tests (Makefile.am): Likewise.
11633         * modules/fnmatch-tests (Makefile.am): Likewise.
11634         * modules/glob-tests (Makefile.am): Likewise.
11635         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11636         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11637         * modules/mbrtowc-tests (Makefile.am): Likewise.
11638         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11639         * modules/mbscasestr-tests (Makefile.am): Likewise.
11640         * modules/mbschr-tests (Makefile.am): Likewise.
11641         * modules/mbscspn-tests (Makefile.am): Likewise.
11642         * modules/mbsinit-tests (Makefile.am): Likewise.
11643         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11644         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11645         * modules/mbspbrk-tests (Makefile.am): Likewise.
11646         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11647         * modules/mbsrchr-tests (Makefile.am): Likewise.
11648         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11649         * modules/mbsspn-tests (Makefile.am): Likewise.
11650         * modules/mbsstr-tests (Makefile.am): Likewise.
11651         * modules/quotearg-tests (Makefile.am): Likewise.
11652         * modules/quotearg-simple-tests (Makefile.am): Likewise.
11653         * modules/readtokens-tests (Makefile.am): Likewise.
11654         * modules/regex-quote-tests (Makefile.am): Likewise.
11655         * modules/sh-quote-tests (Makefile.am): Likewise.
11656         * modules/system-quote-tests (Makefile.am): Likewise.
11657         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
11658         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11659         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
11660         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
11661         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
11662         * modules/yesno-tests (Makefile.am): Likewise.
11664 2019-12-02  Bruno Haible  <bruno@clisp.org>
11666         Simplify link sections.
11667         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
11668         * modules/lock (Link): Likewise.
11669         * modules/cond (Link): Likewise.
11670         * modules/tls (Link): Likewise.
11671         * modules/yield (Link): Likewise.
11672         * modules/regex (Link): Likewise.
11673         * modules/localename (Link): Likewise.
11674         * modules/unicase/locale-language (Link): Likewise.
11675         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
11677 2019-12-02  Bruno Haible  <bruno@clisp.org>
11679         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
11680         * tests/test-thread_self.c (main): Disable test on AIX.
11682 2019-12-01  Bruno Haible  <bruno@clisp.org>
11684         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
11685         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
11686         gl_THREADLIB_EARLY_BODY.
11687         (gl_THREADLIB_EARLY_BODY): Invoke it.
11688         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
11689         (gl_THREADLIB_BODY): Invoke it.
11690         (gl_PTHREADLIB): New macro.
11691         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
11692         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
11693         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
11694         * modules/pthread-h (Files): Add threadlib.m4.
11695         (Depends-on): Remove threadlib.
11696         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
11697         and _THREAD_SAFE here.
11698         (Link): Use LIBPTHREAD, not LIBTHREAD.
11699         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
11700         LIBMULTITHREAD.
11701         * modules/pthread-once (Link): Likewise.
11702         * modules/pthread-mutex (Link): Likewise.
11703         * modules/pthread-rwlock (Link): Likewise.
11704         * modules/pthread-cond (Link): Likewise.
11705         * modules/pthread-tss (Link): Likewise.
11706         * modules/pthread-spin (Link): Likewise.
11707         * modules/pthread (Link): Likewise.
11708         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
11709         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
11710         * modules/pthread-once-tests (test_pthread_once1_LDADD,
11711         test_pthread_once2_LDADD): Likewise.
11712         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
11713         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
11714         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
11715         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
11717 2019-12-01  Bruno Haible  <bruno@clisp.org>
11719         cond: State linking requirements.
11720         * modules/cond (Link): New section.
11722 2019-12-01  Bruno Haible  <bruno@clisp.org>
11724         threadlib: Remove unnecessary file (left over from 2019-07-06).
11725         * modules/threadlib (Files): Remove config.rpath.
11727 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
11729         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
11730         Reported by Dagobert Michelsen <dam@opencsw.org> in
11731         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
11732         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
11733         list of strings instead of one string.
11734         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
11735         * pygnulib/GLImport.py (execute): Likewise.
11737 2019-11-27  Bruno Haible  <bruno@clisp.org>
11739         openpty, forkpty: Fix build error on Solaris 11.4.
11740         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
11741         also in <termios.h>.
11742         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
11743         of the function also in <termios.h>.
11744         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
11745         * doc/glibc-functions/forkpty.texi: Likewise.
11747 2019-11-27  Bruno Haible  <bruno@clisp.org>
11749         New options --enable-threads=isoc and --enable-threads=isoc+posix.
11750         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
11751         --enable-threads=isoc and --enable-threads=isoc+posix.
11752         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
11753         When both the ISO C and the POSIX threads API are available, choose
11754         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
11755         --enable-threads=isoc+posix was specified. When only the ISO C threads
11756         API is available and --enable-threads=iso was specified, choose
11757         USE_ISOC_THREADS.
11758         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
11759         USE_ISOC_AND_POSIX_THREADS.
11760         * lib/glthread/lock.c: Likewise.
11761         * lib/glthread/cond.h: Likewise.
11762         * lib/glthread/cond.c: Likewise.
11763         * lib/glthread/tls.h: Likewise.
11764         * lib/glthread/tls.c: Likewise.
11765         * lib/glthread/yield.h: Likewise.
11766         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
11767         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
11768         * lib/glthread/thread.c: Likewise.
11769         * lib/glthread/threadlib.c: Likewise.
11770         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
11771         USE_ISOC_AND_POSIX_THREADS.
11772         * tests/test-cond.c: Consider USE_ISOC_THREADS and
11773         USE_ISOC_AND_POSIX_THREADS.
11774         * tests/test-tls.c: Likewise.
11775         * tests/test-thread_create.c (main): Likewise.
11776         * tests/test-pthread-cond.c: Likewise.
11777         * tests/test-pthread-mutex.c: Likewise.
11778         * tests/test-pthread-once2.c: Likewise.
11779         * tests/test-pthread-rwlock.c: Likewise.
11780         * tests/test-pthread-tss.c: Likewise.
11781         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
11782         USE_POSIX_THREADS.
11784 2019-11-24  Bruno Haible  <bruno@clisp.org>
11786         mbrtowc: Modernize autoconf test.
11787         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
11788         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
11789         try a UTF-8 locale.
11790         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
11792 2019-11-24  Bruno Haible  <bruno@clisp.org>
11794         Fix errors in C++ mode on mingw.
11795         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
11796         instead of _GL_CXXALIAS_SYS.
11797         * lib/signal.in.h (pthread_sigmask): Likewise.
11798         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
11799         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11800         Likewise.
11801         * lib/wchar.in.h (btowc): Likewise.
11803 2019-11-24  Bruno Haible  <bruno@clisp.org>
11805         sys_time: Fix errors in C++ mode on mingw.
11806         * lib/sys_time.in.h (timeval): Restore the redirection
11807         '#define timeval rpl_timeval', for when the symbol timeval is being used
11808         outside the 'gnulib' namespace.
11809         * lib/sys_select.in.h (select): In C++, write 'timeval', not
11810         'struct timeval'.
11812 2019-11-24  Bruno Haible  <bruno@clisp.org>
11814         iswctype: Fix errors in C++ mode on mingw.
11815         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
11816         is 1.
11817         * lib/iswctype.c (iswctype): Add another implementation, for the
11818         GNULIB_defined_wint_t case.
11819         * modules/iswctype (configure.ac): Compile iswctype.c also if
11820         GNULIB_OVERRIDES_WINT_T is 1.
11822 2019-11-24  Bruno Haible  <bruno@clisp.org>
11824         windows-timedmutex: Fix errors in C++ mode on mingw.
11825         * lib/windows-timedmutex.h: Add closing brace.
11827 2019-11-24  Bruno Haible  <bruno@clisp.org>
11829         Fix errors in C++ mode on Cygwin.
11830         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
11831         _GL_CXXALIAS_SYS.
11833 2019-11-24  Bruno Haible  <bruno@clisp.org>
11835         time_r: Fix for mingw (regression from 2019-11-16).
11836         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
11837         AC_LINK_IFELSE test only if the function does not appear to exist.
11839 2019-11-24  Bruno Haible  <bruno@clisp.org>
11841         wcstok: Add tests.
11842         * tests/test-wcstok.c: New file.
11843         * modules/wcstok-tests: New file.
11845 2019-11-24  Bruno Haible  <bruno@clisp.org>
11847         wcstok: Work around wrong signature on native Windows.
11848         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
11849         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
11850         REPLACE_WCSTOK.
11851         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
11852         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
11853         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
11854         * doc/posix-functions/wcstok.texi: Mention the problem.
11856 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11858         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
11859         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
11860         remove workaround for GCC bug 91450 as the bug should be fixed
11861         there too.
11863 2019-11-21  Bruno Haible  <bruno@clisp.org>
11865         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
11866         Reported by Christian Biesinger <cbiesinger@google.com> in
11867         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
11868         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
11869         non-glibc systems.
11870         * lib/locale.in.h (localeconv, setlocale): Likewise.
11871         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
11872         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
11873         rint, round, trunc): Likewise.
11874         * lib/monetary.in.h (strfmon_l): Likewise.
11875         * lib/pthread.in.h (pthread_mutexattr_getrobust,
11876         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
11877         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
11878         pthread_spin_destroy): Likewise.
11879         * lib/signal.in.h (raise, signal): Likewise.
11880         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
11881         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
11882         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
11883         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
11884         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
11885         Likewise.
11886         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
11887         Likewise.
11888         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
11889         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
11890         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
11891         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
11892         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
11893         wcsftime): Likewise.
11894         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
11896 2019-11-21  Bruno Haible  <bruno@clisp.org>
11898         Fix various errors in _GL_CXXALIAS_SYS invocations.
11899         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
11900         _GL_CXXALIAS_SYS.
11901         * lib/pthread.in.h (pthread_mutexattr_gettype,
11902         pthread_mutexattr_getrobust): Likewise.
11903         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
11904         * lib/sys_socket.in.h (recv, send): Likewise.
11905         * lib/unistd.in.h (getdtablesize): Likewise.
11906         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
11907         'struct timeval'.
11909 2019-11-21  Bruno Haible  <bruno@clisp.org>
11911         math tests: Update after 2019-08-28 change.
11912         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
11913         return type of 'bool', not 'int'.
11915 2019-11-21  Bruno Haible  <bruno@clisp.org>
11917         pthread-spin: Fix errors in C++ mode.
11918         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
11919         functions as nonexistent when <pthread.h> exists but does not define
11920         the pthread_spinlock_t type.
11922 2019-11-21  Bruno Haible  <bruno@clisp.org>
11924         pthread-mutex: Fix errors in C++ mode.
11925         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
11926         pthread_mutexattr_getrobust exists. If not, define
11927         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11928         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
11929         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
11930         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11931         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
11932         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
11933         definition.
11935 2019-11-19  Bruno Haible  <bruno@clisp.org>
11937         threads-h tests: Fix typo.
11938         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
11940 2019-11-19  Bruno Haible  <bruno@clisp.org>
11942         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
11943         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
11944         to 'const pthread_attr_t *'.
11945         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
11946         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
11948 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11950         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
11951         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
11952         work around GCC bug 91450 as the bug should be fixed there.
11954 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11956         glob: get closer to glibc glob.c
11957         Omit differences from glibc when the differences don’t matter.
11958         * lib/glob.c [_LIBC]: Include shlib-compat.h.
11959         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
11960         (glob_lstat): New function.
11961         (glob_in_dir): Use it.
11962         (GLOB_ATTRIBUTE): Define to empty if not already defined.
11963         Use changed.
11965 2019-11-18  Bruno Haible  <bruno@clisp.org>
11967         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
11968         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
11969         UINTPTR_MAX): Consider _WIN64.
11970         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
11971         a pointer.
11973 2019-11-18  Bruno Haible  <bruno@clisp.org>
11975         stdint: Fix value of WINT_MAX when we override wint_t.
11976         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
11977         when GNULIB_OVERRIDES_WINT_T is 1.
11979 2019-11-18  Bruno Haible  <bruno@clisp.org>
11981         vcs-to-changelog: New module.
11982         * modules/vcs-to-changelog: New file.
11983         * MODULES.html.sh (func_all_modules): Add it.
11985 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
11987         vcs-to-changelog: New script to generate ChangeLog-like output.
11988         Discussion:
11989         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
11990         * build-aux/vcs_to_changelog.py: New file.
11991         * build-aux/vcstocl/frontend_c.py: New file.
11992         * build-aux/vcstocl/misc_util.py: New file.
11993         * build-aux/vcstocl/vcs_git.py: New file.
11995 2019-11-18  Bruno Haible  <bruno@clisp.org>
11997         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
11998         Reported by Keith Marshall <keith@users.osdn.me> in
11999         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
12000         and <https://osdn.net/projects/mingw/ticket/39677>.
12001         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
12002         already been defined by mingw's <crtdefs.h>.
12004 2019-11-18  Bruno Haible  <bruno@clisp.org>
12006         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
12007         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
12008         conditionally enabled.
12010 2019-11-18  Bruno Haible  <bruno@clisp.org>
12012         gc: Mirror libgcrypt.m4 from libgcrypt.
12013         * config/srclistvars.sh (LIBGCRYPT): New variable.
12014         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
12016 2019-11-17  Bruno Haible  <bruno@clisp.org>
12018         locale, localename: Improve z/OS support.
12019         Reported by Daniel Richard G. in
12020         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
12021         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
12022         gl_LOCALE_H.
12023         (gl_LOCALE_H): Require it.
12024         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
12025         defined, don't even check for newlocale, duplocale, freelocale.
12026         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
12027         locale_t is not defined.
12029 2019-11-17  Bruno Haible  <bruno@clisp.org>
12031         havelib: Make libdirstems processing more flexible.
12032         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
12033         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
12034         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
12035         patch from 2017-02-19).
12036         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
12037         libdirs, even when the first one exists as a directory.
12039 2019-11-17  Bruno Haible  <bruno@clisp.org>
12041         havelib: Match the bitness when searching for libraries.
12042         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
12043         acl_is_expected_elfclass.
12044         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
12045         file exists, in ELF, also test whether it has the ELF class that
12046         corresponds to the host's bitness.
12048 2019-11-17  Bruno Haible  <bruno@clisp.org>
12050         host-cpu-c-abi: Add support for unknown CPUs.
12051         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
12052         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
12053         32-bit or 64-bit.
12055 2019-11-17  Bruno Haible  <bruno@clisp.org>
12057         havelib: Remove redundant code.
12058         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
12059         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
12061 2019-11-17  Bruno Haible  <bruno@clisp.org>
12063         havelib: Fix a bug in dependency processing.
12064         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
12065         of .la files, don't overwrite the value of additional_libdir for the
12066         next rounds.
12068 2019-11-16  Bruno Haible  <bruno@clisp.org>
12070         wctype-h: When overriding wint_t, override also the related functions.
12071         Reported by Christian Biesinger <cbiesinger@google.com> in
12072         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
12073         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
12074         REPLACE_ISWCNTRL to 1.
12075         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
12076         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
12077         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
12078         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
12079         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
12080         on mingw.
12081         * doc/posix-headers/wctype.texi: Likewise.
12083 2019-11-16  Bruno Haible  <bruno@clisp.org>
12085         time_r: Fix for mingw.
12086         Reported by Christian Biesinger <cbiesinger@google.com> in
12087         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
12088         * lib/time.in.h: On mingw, include <unistd.h>.
12089         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
12090         <time.h>. Test for localtime_r in a way that works when it is defined
12091         as an inline function.
12093 2019-11-13  Bruno Haible  <bruno@clisp.org>
12095         havelib: Revert last change.
12096         * build-aux/config.rpath: Revert last change. We can add msys2 support
12097         when it has been added to libtool.m4 upstream.
12099 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12101         config: add msys support
12102         Requested by Arnold Robbins in:
12103         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
12104         He also requested a change to config.guess, which I’ll forward
12105         upstream.
12106         * build-aux/ar-lib (func_file_conv):
12107         * build-aux/compile (func_file_conv):
12108         * build-aux/config.rpath (wl, with_gnu_ld)
12109         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
12110         Treat msys like cygwin.
12112 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
12114         regex: now back in sync with glibc
12115         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
12116         regexec.c got merged into glibc and are now copies again.
12118 2019-10-27  Bruno Haible  <bruno@clisp.org>
12120         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
12121         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
12122         statement.
12123         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
12124         32-bit CPUs.
12126 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12128         timespec-add, timespec-sub: simplify
12129         * lib/timespec-add.c (timespec_add):
12130         * lib/timespec-sub.c (timespec_sub):
12131         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12132         work on unsigned integers.
12134 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12136         nstrftime: speed up integer overflow checking
12137         * lib/nstrftime.c: Include intprops.h.
12138         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
12139         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
12140         instead of doing it by hand.
12141         * modules/nstrftime (Depends-on): Add intprops.
12143         Port better to GCC under macOS
12144         Work around macOS header that has ‘#define __has_builtin(x) 0’
12145         when compiled by GCC.  Apple really, really doesn’t want you to
12146         use GCC, apparently.  Rroblem reported by Akim Demaille in:
12147         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
12148         The fix is to not trust __has_builtin when being compiled by
12149         recent-enough GCC.
12150         * lib/intprops.h (__has_builtin)
12151         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12152         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
12153         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
12154         Remove.  All uses removed.
12155         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
12156         directly, if defined and if not newer GCC.
12157         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
12158         New macro, that use __has_builtin directly, if defined and if
12159         not newer GCC.
12160         (assume): Use them.
12162 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
12164         maintainer-makefile: update rule for argmatch.
12165         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
12167 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
12169         bitset: let freeing functions accept NULL.
12170         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
12171         given NULL.
12172         * lib/bitset.h: Document that.
12173         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
12175 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12177         inttypes: use more-robust test for int range
12178         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
12179         Problem reported by Dagobert Michelsen in:
12180         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
12181         * lib/inttypes.in.h: Rely only on limits.h when checking
12182         int range.
12184 2019-10-15  Bruno Haible  <bruno@clisp.org>
12186         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
12187         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
12188         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
12189         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
12190         term_ostream_set_hyperlink): New functions.
12191         (term_styled_ostream_get_hyperlink_ref,
12192         term_styled_ostream_get_hyperlink_id,
12193         term_styled_ostream_set_hyperlink): New function aliases.
12195 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12197         update-copyright: use en dashes in .texi ranges
12198         * build-aux/update-copyright: Match year ranges like "1998--2019",
12199         which are used in the Autoconf manual.  Also, update ranges in
12200         .tex, .texi, and .texinfo files to use en dashes instead of
12201         hyphens.
12203 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12205         * config/srclist.txt: Remove posix/regex_internal.c for now.
12207 2019-10-13  Bruno Haible  <bruno@clisp.org>
12209         git-version-gen: Allow 'snapshot' as .tarball-version contents.
12210         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
12211         contents to the empty string.
12213 2019-10-12  Bruno Haible  <bruno@clisp.org>
12215         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
12216         * tests/test-intprops.c (main): Disable two more tests when using
12217         HP-UX cc.
12219 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12221         Simplify and regularize regex use of ‘assert’
12222         Also, tell GCC about the asserts even when compiling without
12223         debugging, to give it further optimization opportunities.
12224         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
12225         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
12226         (parse_expression, parse_bracket_exp):
12227         * lib/regex_internal.c (build_wcs_buffer)
12228         (build_wcs_upper_buffer, re_string_reconstruct)
12229         (re_string_context_at):
12230         * lib/regexec.c (re_search_stub, re_copy_regs)
12231         (re_search_internal, prune_impossible_nodes, check_matching)
12232         (check_halt_state_context, set_regs, sift_states_backward)
12233         (build_sifted_states, transit_state_mb, transit_state_bkref)
12234         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
12235         (match_ctx_add_subtop):
12236         Use it instead of plain ‘assert’.
12238 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12240         regex: omit debug assignment when not debugging
12241         * lib/regexec.c (re_search_internal) [!DEBUG]:
12242         Remove unnecessary assignment.
12244         regex: tell compiler there’s at most 256 arcs out
12245         Partly this is to help the reader (and maybe help GCC);
12246         partly this is to pacify Coverity.
12247         * lib/regex_internal.h: Include verify.h.
12248         * lib/regexec.c (group_nodes_into_DFAstates):
12249         Tell the compiler that ndests cannot exceed SBC_MAX.
12250         * modules/regex (Depends-on): Add ‘verify’.
12252         regex: simplify by assuming C99
12253         * config/srclist.txt: Comment out regex_internal.h and regexec.c
12254         temporarily.
12255         * lib/regex_internal.h (lock_define, re_match_context_t):
12256         Simplify by assuming C99 macros and const.
12257         * lib/regexec.c (re_search_internal): Simplify by assuming C99
12258         initializers.  Remove unnecessary assignment, as mctx is now
12259         safely initialized earlier.
12261         regex: avoid copying of uninitialized storage
12262         * config/srclist.txt: Comment out regcomp.c temporarily.
12263         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
12264         Initialize even when not checking for lint, as the behavior is
12265         arguably undefined otherwise and Coverity warns about it.
12267 2019-10-06  Bruno Haible  <bruno@clisp.org>
12269         access tests: Fix test failure when run as root.
12270         * tests/test-access.c: Include root-uid.h.
12271         (geteuid): Define fallback.
12272         (main): Don't expect that writing to a read-only file would fail when
12273         running as root. Also, remove the created files at the end.
12274         * modules/access-tests (Depends-on): Add root-uid.
12275         (configure.ac): Test whether geteuid exists.
12277 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
12279         users.txt: add GNU nano
12280         Nano has been making use of gnulib since March 2017, version 2.8.0.
12282 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12284         bootstrap: simplify debugging of wget failures
12285         Problem reported by Tim Rühsen in:
12286         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
12287         * build-aux/bootstrap (po_download_command_format):
12288         Invoke wget with -nv instead of -q, to make debugging easier.
12290 2019-09-29  Bruno Haible  <bruno@clisp.org>
12292         avltree-list: Fix compilation warning (introduced on 2014-09-16).
12293         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
12294         'const' attribute.
12296 2019-09-29  Bruno Haible  <bruno@clisp.org>
12298         fbufmode: Fix compilation error on glibc >= 2.28 systems.
12299         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
12301 2019-09-28  Bruno Haible  <bruno@clisp.org>
12303         Update comments that refer to POSIX.
12304         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
12305         sentence about trailing slashes.
12306         * lib/fflush.c: Clarify the reasoning.
12307         * tests/test-fflush2.c: Cite the relevant sentence.
12309 2019-09-28  Bruno Haible  <bruno@clisp.org>
12311         access: Document limitations on Windows.
12312         Suggested by Zaretskii <eliz@gnu.org>.
12313         * doc/posix-functions/access.texi: Mention two limitations on Windows.
12315 2019-09-28  Bruno Haible  <bruno@clisp.org>
12317         findprog-in: Fix comment.
12318         Reported by Eli Zaretskii <eliz@gnu.org>.
12319         * lib/findprog.h (find_in_given_path): Extend description of EACCES
12320         condition.
12321         * lib/stat.c (rpl_stat): Fix typo in comment.
12322         * lib/utime.c (_gl_utimens_windows): Likewise.
12324 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12326         Update URLs and associated text
12327         (Thanks to Bruno Haible for proofreading this patch.)
12328         Prefer https: to http: in URLs where either will do, for the usual
12329         security reasons.  I also updated broken and/or moved URLs
12330         discovered during the process. In a few places I had to resort to
12331         archive.org, since I didn't find the originals elsewhere.
12333 2019-09-15  Paul Smith  <psmith@gnu.org>
12334             Bruno Haible  <bruno@clisp.org>
12336         findprog-in: Set errno when the search fails.
12337         * lib/findprog-in.c: Include <errno.h>.
12338         (find_in_given_path): Set errno before returning NULL.
12339         * lib/findprog.h (find_in_given_path): Update comment accordingly.
12340         Define the term "slash".
12342 2019-09-15  Bruno Haible  <bruno@clisp.org>
12344         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
12345         * modules/findprog (Depends-on): Add access.
12346         * modules/findprog-lgpl (Depends-on): Likewise.
12347         * modules/findprog-in (Depends-on): Likewise.
12349 2019-09-15  Bruno Haible  <bruno@clisp.org>
12351         access: Add tests.
12352         * tests/test-access.c: New file.
12353         * modules/access-tests: New file.
12355         access: New module.
12356         * lib/unistd.in.h (access): New declaration.
12357         * lib/access.c: New file.
12358         * m4/access.m4: New file.
12359         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
12360         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
12361         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
12362         REPLACE_ACCESS.
12363         * modules/access: New file.
12364         * tests/test-unistd-c++.cc (access): Check signature.
12365         * doc/posix-functions/access.texi: Mention the new module.
12367 2019-09-15  Bruno Haible  <bruno@clisp.org>
12369         fcntl-h: Fix compilation error of creat.c on MSVC.
12370         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
12371         defined.
12373 2019-09-15  Bruno Haible  <bruno@clisp.org>
12375         creat: Add tests.
12376         * tests/test-creat.c: New file, based on tests/test-open.h.
12377         * modules/creat-tests: New file.
12379         creat: New module.
12380         * lib/fcntl.in.h (creat): New declaration.
12381         * lib/creat.c: New file, based on lib/open.c.
12382         * m4/creat.m4: New file.
12383         * m4/open-slash.m4: New file, extracted from m4/open.m4.
12384         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
12385         Invoke gl_OPEN_TRAILING_SLASH_BUG.
12386         * modules/open (Files): Add m4/open-slash.m4.
12387         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
12388         REPLACE_CREAT.
12389         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
12390         * modules/creat: New file.
12391         * tests/test-fcntl-h-c++.cc (creat): Check signature.
12392         * doc/posix-functions/creat.texi: Mention the new module.
12394 2019-09-15  Bruno Haible  <bruno@clisp.org>
12396         open tests: Enhance test.
12397         * tests/test-open.h (test_open): Test the creation of an executable
12398         regular file. Also improve initial cleanup.
12400 2019-09-15  Bruno Haible  <bruno@clisp.org>
12402         intprops tests: Avoid build failure with HP-UX cc.
12403         * tests/test-intprops.c: Disable a check that makes HP cc choke with
12404         "error 4018: Macro param too large after substitution - use -H option.".
12406 2019-09-14  Bruno Haible  <bruno@clisp.org>
12408         Make autoconf tests work with -Werror=implicit-function-declaration.
12409         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
12410         towupper() declaration.
12411         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
12412         declaration.
12414 2019-09-14  Bruno Haible  <bruno@clisp.org>
12416         findprog-in: Better mimic the system on native Windows.
12417         Reported by Paul Smith <psmith@gnu.org>.
12418         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
12419         non-empty suffixes when the file name already contains a '.'.
12421 2019-09-10  Bruno Haible  <bruno@clisp.org>
12423         wctob: Fix autoconf test.
12424         Based on patch by Florian Weimer <fweimer@redhat.com>.
12425         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
12427 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
12429         xhash: provide hash_xinitialize.
12430         Suggested by Egor Pugin <egor.pugin@gmail.com>
12431         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
12432         * modules/xhash, lib/xhash.c: New.
12433         * lib/hash.h (hash_xinitialize): New.
12435 2019-09-09  Bruno Haible  <bruno@clisp.org>
12437         findprog-in: Make exec optimization optional.
12438         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
12439         (find_in_given_path): Add optimize_for_exec parameter.
12440         * lib/findprog-in.c (find_in_given_path): Likewise.
12442 2019-09-08  Bruno Haible  <bruno@clisp.org>
12444         Add option to assume the best, not the worst, when cross-compiling.
12445         Suggested by Jonas Termansen <sortie@maxsi.org>.
12446         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
12447         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
12448         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
12449         lt_cv_sys_argz_works.
12450         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
12451         ac_cv_func_calloc_0_nonnull.
12452         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
12453         --enable-cross-guesses for gl_cv_func_realpath_works.
12454         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
12455         gl_cv_func_cbrtl_ieee.
12456         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
12457         gl_cv_func_ceil_ieee.
12458         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
12459         gl_cv_func_ceilf_ieee.
12460         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
12461         gl_cv_func_ceill_ieee.
12462         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
12463         ac_cv_func_chown_works.
12464         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
12465         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
12466         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
12467         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
12468         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
12469         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
12470         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
12471         gl_cv_func_expl_works.
12472         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
12473         gl_cv_func_expm1_ieee.
12474         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
12475         gl_cv_func_expm1l_works.
12476         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
12477         gl_cv_func_open_directory_works.
12478         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
12479         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
12480         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
12481         gl_cv_func_fchownat_empty_filename_works.
12482         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
12483         gl_cv_func_fdopendir_works.
12484         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
12485         gl_cv_func_floor_ieee.
12486         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
12487         gl_cv_func_floorf_ieee.
12488         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
12489         gl_cv_func_fma_works.
12490         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
12491         gl_cv_func_fmaf_works.
12492         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
12493         gl_cv_func_fmal_works.
12494         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
12495         gl_cv_func_fmod_ieee.
12496         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
12497         gl_cv_func_fmodf_ieee.
12498         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
12499         gl_cv_func_fmodl_ieee.
12500         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
12501         gl_cv_func_fpurge_works.
12502         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
12503         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
12504         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
12505         gl_cv_func_getcwd_null.
12506         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
12507         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
12508         gl_cv_func_working_getdelim.
12509         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12510         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
12511         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12512         gl_cv_func_getgroups_works.
12513         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
12514         am_cv_func_working_getline.
12515         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
12516         for gl_cv_func_getopt_gnu.
12517         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
12518         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
12519         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
12520         gl_cv_func_hypot_ieee.
12521         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
12522         gl_cv_func_hypotf_ieee.
12523         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
12524         gl_cv_func_hypotl_ieee.
12525         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
12526         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
12527         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
12528         gl_cv_func_link_works.
12529         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
12530         gl_cv_func_linkat_slash.
12531         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
12532         gl_cv_func_log_ieee.
12533         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
12534         gl_cv_func_logf_ieee.
12535         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
12536         gl_cv_func_logl_works.
12537         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
12538         gl_cv_func_log10_ieee.
12539         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
12540         gl_cv_func_log10f_ieee.
12541         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
12542         gl_cv_func_log10l_works.
12543         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
12544         gl_cv_func_log1p_ieee.
12545         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
12546         gl_cv_func_log1pf_ieee.
12547         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
12548         gl_cv_func_log1pl_ieee.
12549         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
12550         gl_cv_func_log2_ieee.
12551         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
12552         gl_cv_func_log2f_ieee.
12553         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
12554         --enable-cross-guesses for
12555         gl_cv_func_lstat_dereferences_slashed_symlink.
12556         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
12557         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12558         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
12559         gl_cv_C_locale_sans_EILSEQ.
12560         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
12561         gl_cv_func_memchr_works.
12562         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
12563         gl_cv_func_memmem_works_always.
12564         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
12565         gl_cv_func_memmem_works_fast.
12566         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
12567         gl_cv_func_mkdir_trailing_slash_works,
12568         gl_cv_func_mkdir_trailing_dot_works.
12569         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
12570         gl_cv_func_mkfifo_works.
12571         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
12572         gl_cv_func_mknod_works.
12573         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
12574         gl_cv_func_working_mkstemp.
12575         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
12576         gl_cv_func_working_mktime.
12577         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
12578         gl_cv_func_modf_ieee.
12579         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
12580         gl_cv_func_modff_ieee.
12581         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
12582         gl_cv_func_modfl_ieee.
12583         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
12584         gl_cv_func_nanosleep.
12585         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
12586         gl_cv_func_perror_works.
12587         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
12588         gl_cv_func_printf_sizes_c99.
12589         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
12590         gl_cv_func_printf_infinite.
12591         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
12592         gl_cv_func_printf_infinite_long_double.
12593         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
12594         gl_cv_func_printf_directive_a.
12595         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
12596         gl_cv_func_printf_directive_f.
12597         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
12598         gl_cv_func_printf_flag_zero.
12599         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
12600         gl_cv_func_printf_enomem.
12601         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
12602         gl_cv_func_snprintf_truncation_c99.
12603         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
12604         gl_cv_func_snprintf_retval_c99.
12605         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
12606         gl_cv_func_snprintf_directive_n.
12607         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
12608         gl_cv_func_vsnprintf_zerosize_c99.
12609         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
12610         gl_cv_func_pselect_detects_ebadf.
12611         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12612         Obey --enable-cross-guesses for
12613         gl_cv_pthread_rwlock_rdlock_prefer_writer.
12614         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
12615         gl_cv_func_ptsname_sets_errno.
12616         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
12617         gl_cv_func_svid_putenv.
12618         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
12619         gl_cv_func_readlink_works.
12620         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
12621         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12622         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
12623         gl_cv_func_re_compile_pattern_working.
12624         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
12625         gl_cv_func_remainder_ieee.
12626         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
12627         gl_cv_func_remainderf_ieee.
12628         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
12629         gl_cv_func_remainderl_ieee.
12630         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
12631         gl_cv_func_rintl_works.
12632         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
12633         gl_cv_func_rmdir_works.
12634         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
12635         gl_cv_func_round_ieee.
12636         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
12637         gl_cv_func_roundf_ieee.
12638         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
12639         gl_cv_func_roundl_ieee.
12640         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
12641         gl_cv_func_select_detects_ebadf.
12642         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
12643         gl_cv_func_setenv_works.
12644         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
12645         gl_cv_func_unsetenv_works.
12646         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
12647         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
12648         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
12649         gl_cv_func_sleep_works.
12650         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
12651         gl_cv_func_stat_file_slash.
12652         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
12653         gl_cv_func_stpncpy.
12654         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
12655         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
12656         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
12657         gl_cv_func_strcasestr_linear.
12658         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
12659         gl_cv_func_working_strerror.
12660         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
12661         gl_cv_func_strerror_0_works.
12662         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
12663         --enable-cross-guesses for gl_cv_func_strerror_r_works.
12664         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
12665         gl_cv_func_strstr_works_always.
12666         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
12667         gl_cv_func_strstr_linear.
12668         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
12669         gl_cv_func_strtod_works.
12670         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
12671         gl_cv_func_strtold_works.
12672         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
12673         gl_cv_func_symlink_works.
12674         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
12675         gl_cv_func_symlinkat_works.
12676         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
12677         gl_cv_func_trunc_ieee.
12678         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
12679         gl_cv_func_truncf_ieee.
12680         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
12681         gl_cv_func_truncl_ieee.
12682         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
12683         gl_cv_func_tzset_clobber.
12684         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
12685         gl_cv_func_ungetc_works.
12686         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
12687         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
12688         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
12689         gl_cv_func_usleep_works.
12690         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
12691         gl_cv_func_futimesat_works.
12692         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
12693         gl_cv_func_working_utimes.
12694         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
12695         gl_cv_func_wcwidth_works.
12696         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
12697         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
12698         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
12699         links for testing. Obey --enable-cross-guesses for
12700         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
12701         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
12703 2019-09-08  Bruno Haible  <bruno@clisp.org>
12705         Clarify that cross-compilation guesses are guesses.
12706         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
12707         cross-compiling.
12709 2019-09-08  Bruno Haible  <bruno@clisp.org>
12711         chown: Fix configure output (regression from 2019-03-23).
12712         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
12713         gl_cv_func_chown_follows_symlink variable.
12715 2019-09-08  Bruno Haible  <bruno@clisp.org>
12717         findprog-in: New module.
12718         Suggested by Paul Smith <psmith@gnu.org>.
12719         * lib/findprog.h (find_in_given_path): New declaration.
12720         * lib/findprog-in.c: New file, based on lib/findprog.c.
12721         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
12722         * modules/findprog-in: New file.
12724 2019-09-08  Bruno Haible  <bruno@clisp.org>
12726         findprog: Remove unused dependency.
12727         * modules/findprog (Depends-on): Remove strdup.
12729 2019-09-08  Bruno Haible  <bruno@clisp.org>
12731         findprog: Remove test that is obsolete since 2006-04-24.
12732         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
12734 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12736         bitset: style changes
12737         * lib/bitset/vector.c (vbitset_resize): Factor computation.
12738         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
12739         xzalloc to xcalloc.
12740         Suggested by Paul Eggert.
12742 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12744         bitset: check memory allocation
12745         Reported by 江 祖铭 (Zu-Ming Jiang).
12746         With help from Paul Eggert.
12747         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
12748         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
12749         instead of realloc.
12750         When shrinking, accept failures.
12751         * lib/bitset/vector.c (vbitset_resize): Likewise.
12753 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12755         scratch_buffer: sync from glibc
12756         * config/srclist.txt: Add the scratch_buffer source
12757         code from glibc, since these should be in sync.
12758         Autoupdate.
12760 2019-09-07  Bruno Haible  <bruno@clisp.org>
12762         doc: Update for glibc 2.30.
12763         * doc/glibc-functions/gettid.texi: New file.
12764         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
12765         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
12766         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
12767         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
12768         * doc/glibc-functions/sem_clockwait.texi: New file.
12769         * doc/glibc-functions/tgkill.texi: New file.
12770         * doc/glibc-functions/twalk_r.texi: New file.
12771         * doc/gnulib.texi: Include them.
12772         (Glibc semaphore.h): New section.
12773         * doc/pastposix-functions/h_errno.texi: Update.
12774         * doc/posix-functions/*.texi: Likewise.
12776 2019-09-06  Bruno Haible  <bruno@clisp.org>
12778         symlink tests: Avoid test failure on Linux with Lustre file system.
12779         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
12780         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
12781         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
12783 2019-09-01  Bruno Haible  <bruno@clisp.org>
12785         gitsub.sh: Add support for shallow-cloning of subdirectories.
12786         * top/gitsub.sh (func_usage): Document allowed git options with
12787         'git pull'.
12788         (func_pull): Accept GIT_OPTIONS argument.
12789         (pull): Parse git options before complaining about too many arguments.
12790         Pass the git options to func_pull.
12792 2019-08-29  Bruno Haible  <bruno@clisp.org>
12794         lock: Fix cross-compilation guesses.
12795         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12796         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
12797         platforms.
12799 2019-08-28  Bruno Haible  <bruno@clisp.org>
12801         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
12802         Reported by Martin Storsjö <martin@martin.st> in
12803         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
12804         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
12805         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
12806         files from GCC 6 or newer, use an override through '#define', because
12807         the inline definitions in the platform's <cmath> cannot be overridden
12808         in another way.
12810 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12812         Revert macOS INT_MULTIPLY_WRAPV patch
12813         Problem reported by Bruno Haible in:
12814         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
12815         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
12816         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12817         Go back to working around the Clang bug on macOS.
12819 2019-08-27  Bruno Haible  <bruno@clisp.org>
12821         libtool-next-version: Fix error output.
12822         * build-aux/libtool-next-version (func_fatal_error): Fix the program
12823         name.
12825 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12827         Speed up INT_MULTIPLY_WRAPV on macOS
12828         Assume that __builtin_mul_overflow works OK with Clang on macOS.
12829         Mattias Engdegård says it’s safe to assume the relevant library
12830         is always available there.
12831         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
12832         New temporary internal macro.
12833         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12834         No need to work around the Clang bug on macOS.
12836 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12838         intprops.h, verify.h: port better to clang
12839         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12840         with Clang.  Problem reported privately by Mattias Engdegård.
12841         Also, insulate intprops.h and verify.h better against each other’s
12842         definitions of __has_builtin on non-Clang hosts.
12843         * lib/intprops.h (__has_builtin): Define a temporary substitute
12844         if __has_builtin is not already defined.
12845         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12846         New temporary internal macros.
12847         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
12848         Now two separate macros, replacing the old
12849         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
12850         __builtin_mul_overflow is like the rest.  All uses changed.
12851         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
12852         Adjust to above changes.
12853         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
12854         longer relevant.  All uses changed.
12855         * lib/verify.h (__has_builtin): Treat like intprops.h,
12856         so that the two .h files do not collide with each other.
12857         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
12858         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
12860 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12862         intprops: say why not Clang __builtin_add_overflow
12863         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
12864         Mention Clang in comment, responding to a query from
12865         Mattias Engdegård.
12867 2019-08-24  Bruno Haible  <bruno@clisp.org>
12869         doc: Document most of the files outside of modules.
12870         * doc/gnulib.texi (Build Infrastructure Files,
12871         Release Management Files): New chapters.
12873 2019-08-24  Bruno Haible  <bruno@clisp.org>
12875         bootstrap: Keep in sync with the 'gettext' module.
12876         Reported by Assaf Gordon in
12877         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
12878         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
12879         * build-aux/po/remove-potcdate.sin: Likewise.
12881 2019-08-24  Bruno Haible  <bruno@clisp.org>
12883         crypto/gc-sha512: Add tests.
12884         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
12885         * modules/crypto/gc-sha512-tests: New file.
12887         crypto/gc-sha256: Add tests.
12888         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
12889         * modules/crypto/gc-sha256-tests: New file.
12891         crypto/gc-sha256, crypto/gc-sha512: New modules.
12892         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
12893         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
12894         (MAX_DIGEST_SIZE): Set to 64.
12895         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
12896         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
12897         (gc_sha256, gc_sha512): New functions.
12898         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
12899         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
12900         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
12902 2019-08-24  Bruno Haible  <bruno@clisp.org>
12904         crypto/gc-sha1 tests: Improve output when the test fails.
12905         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
12906         output.
12908 2019-08-24  Bruno Haible  <bruno@clisp.org>
12910         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
12911         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
12912         LIBGCRYPT_HAS_MD_SM3.
12913         * lib/gc-libgcrypt.c: Include sm3.h.
12914         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
12915         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
12916         implementation if libgcrypt does not support SM3.
12918 2019-08-24  Bruno Haible  <bruno@clisp.org>
12920         crypto/gc-md2: Optimize and clarify code.
12921         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
12922         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
12923         is not needed.
12925 2019-08-24  Bruno Haible  <bruno@clisp.org>
12927         crypto/gc-md2: Add comment.
12928         * lib/gc-libgcrypt.c: Add comment.
12930 2019-08-24  Bruno Haible  <bruno@clisp.org>
12932         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
12933         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
12934         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
12935         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
12936         variable.
12938 2019-08-24  Bruno Haible  <bruno@clisp.org>
12940         crypto/gc: Fix link error with --with-libgcrypt.
12941         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
12942         AC_LIB_HAVE_LINKFLAGS invocation.
12944 2019-08-24  Bruno Haible  <bruno@clisp.org>
12946         crypto/gc: Access the module indicators correctly.
12947         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
12948         * lib/gc-libgcrypt.c: Likewise.
12950 2019-08-24  Bruno Haible  <bruno@clisp.org>
12952         crypto/gc: Fix configuration with --with-libgcrypt.
12953         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
12954         * modules/crypto/gc (Files): Add it.
12955         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
12957 2019-08-24  Bruno Haible  <bruno@clisp.org>
12959         Remove unused file.
12960         * m4/stat-macros.m4: Remove file.
12962 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12964         New strip-trailing-space option for srclist-update
12965         * config/srclist-update (fixfile): Support new option.
12966         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
12967         Use it.
12969 2019-08-20  Eric Blake  <eblake@redhat.com>
12971         accept4: Support SOCK_NONBLOCK, if defined
12972         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
12974         accept4: Fix compilation when native accept4() exists.
12975         Reported by Richard W.M. Jones <rjones@redhat.com> in
12976         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
12977         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
12979 2019-08-18  Bruno Haible  <bruno@clisp.org>
12981         Defeat -flto GCC optimization in math autoconf tests.
12982         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
12983         at <https://savannah.gnu.org/bugs/?56109>.
12984         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
12985         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
12986         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12987         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12988         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12989         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
12990         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12991         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
12992         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
12993         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12994         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12995         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12997 2019-08-17  Bruno Haible  <bruno@clisp.org>
12999         windows-spin: Implement declared functions.
13000         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
13001         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
13002         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
13003         name.
13005 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13007         intprops: port to Oracle Developer Studio 12.6
13008         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
13009         typos that were in a section not compiled by GCC.
13011 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
13013         intprops: support uchar, ushort _WRAPV dests
13014         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
13015         when __builtin_add_overflow etc. and _Generic are not used.
13016         (_GL_INT_OP_WRAPV): Use it to support destinations that
13017         are unsigned char or unsigned short, even in compilers
13018         that lack __typeof__ and are not C11-compatible.
13020         intprops: pacify picky GCC
13021         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
13022         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
13023         possibly-incorrect result.
13024         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
13025         about (A) used as a boolean, when A is an expression like 3 * 4.
13027         intprops: support unsigned *_WRAPV results
13028         Add support for unsigned, unsigned long, and unsigned long long
13029         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
13030         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
13031         bug with unsigned inputs reported by Eli Zaretskii in:
13032         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
13033         * config/srclist.txt: Break the glibc connection for intprops.h
13034         temporarily, while more testing is done in Gnulib-using apps.
13035         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
13036         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
13037         Support unsigned results no narrower than unsigned int.  Report
13038         overflow correctly if some arguments are unsigned.
13039         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
13040         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
13041         the right thing with narrow args.
13042         (_GL_INT_OP_CALC1): Remove.  All callers removed.
13043         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
13044         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
13045         * tests/test-intprops.c: Check for bugs and test new behavior.
13047 2019-08-14  Bruno Haible  <bruno@clisp.org>
13049         get_progname_of: New module.
13050         * lib/get_progname_of.h: New file.
13051         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
13052         * lib/getprogname.c (getprogname): Tweak coding style.
13053         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
13054         * modules/get_progname_of: New file.
13056 2019-08-14  Bruno Haible  <bruno@clisp.org>
13058         get_ppid_of: New module.
13059         * lib/get_ppid_of.h: New file.
13060         * lib/get_ppid_of.c: New file.
13061         * modules/get_ppid_of: New file.
13063 2019-08-13  Bruno Haible  <bruno@clisp.org>
13065         libtextstyle-optional tests: Support the NO_COLOR environment variable.
13066         * tests/test-libtextstyle.c (main): Do not emit styling when the
13067         environment variable NO_COLOR is set.
13069 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13071         verify: improve diagnostic quality in recent GCC
13072         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
13073         useful line number containing the top-level caller of the macro.
13074         So, bring back the older way of issuing a diagnostic containing
13075         the top-level call’s arg, so that it is easier to diagnose
13076         ‘verify’ failures with recent GCC.
13077         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
13078         Bring back DIAGNOSTIC arg.  All callers changed.
13079         (verify): Just use _GL_VERIFY.
13081 2019-08-11  Bruno Haible  <bruno@clisp.org>
13083         localcharset: Add more aliases for OS/2.
13084         Based on patch by KO Myung-Hun <komh78@gmail.com> in
13085         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
13086         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
13088 2019-08-10  Eric Blake  <eblake@redhat.com>
13090         configmake: Update advice on usage.
13091         * modules/configmake (Include): No longer necessary to include
13092         last, since configmake.h itself worries about collision avoidance.
13094 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
13096         parse-datetime: fix 'T' military timezone handling
13097         * lib/parse-datetime.y (zone):
13098         follow-up to the previous commit: the 'T' case is handled outside the
13099         conversion table (used as either military timezone UTC-7 or ISO8601
13100         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
13101         timezone letters.
13103 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13105         parse-datetime: fix military timezone letters
13106         Problem and trivial fix reported by Neil Hoggarth in:
13107         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
13108         * lib/parse-datetime.y (military_table):
13109         Do it the right way, not the RFC 822 way.
13111 2019-08-08  Eric Blake  <eblake@redhat.com>
13113         configmake: Avoid namespace pollution issue on mingw.
13114         * modules/configmake (Makefile.am): If the project uses
13115         <winsock2.h>, include that header before defining DATADIR.
13117 2019-07-28  Bruno Haible  <bruno@clisp.org>
13119         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
13120         * tests/test-mbrtowc.c (main): Fix expected value of wc.
13122 2019-07-24  Bruno Haible  <bruno@clisp.org>
13124         pthread-h: Fix definitions of types and macros on mingw.
13125         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
13126         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
13127         not in use.
13128         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
13129         'pthread-once' is not in use.
13130         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
13131         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
13132         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
13133         in use.
13134         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
13135         Define also when module 'pthread-rwlock' is not in use.
13136         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
13137         also when module 'pthread-cond' is not in use.
13138         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
13139         'pthread-tss' is not in use.
13140         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
13141         use.
13143 2019-07-24  Simon Josefsson  <simon@josefsson.org>
13145         crypto/gc: Cope with libgcrypt without SM3.
13146         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
13148 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13150         backupfile: fix resource leak on memory failure
13151         Problem found by Coverity (CID 1484214).
13152         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
13154 2019-07-22  Bruno Haible  <bruno@clisp.org>
13156         Avoid missing-declarations warning in various tests.
13157         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
13158         test6, test_optional, test7, test8, test9, test10, test11, test12,
13159         test13, test14, test15, test_fun): Declare static.
13160         * tests/test-cnd.c (test_cnd_wait): Likewise.
13161         * tests/test-cond.c (test_cond): Likewise.
13163 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13165         pthread tests: Avoid missing-declarations warning.
13166         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
13168 2019-07-19  Bruno Haible  <bruno@clisp.org>
13170         parse-datetime: Avoid warnings from bison versions >= 3.3.
13171         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
13172         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
13174 2019-07-19  Bruno Haible  <bruno@clisp.org>
13176         parse-datetime: Require Bison 2.4 or newer.
13177         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
13178         Code taken from gettext's intl.m4.
13179         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
13180         of YACC.
13182 2019-07-19  Bruno Haible  <bruno@clisp.org>
13184         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
13185         * lib/areadlink-with-size.c: Include <string.h>.
13186         * lib/areadlinkat-with-size.c: Likewise.
13187         * lib/xgethostname.c: Likewise.
13188         * lib/xgetdomainname.c: Likewise.
13190 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
13192         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
13193         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
13194         "%pure-parser".  The former is available since Bison 2.3b (2008),
13195         while the latter is marked as obsolete since version 3.4 (May 2019).
13197 2019-07-16  Bruno Haible  <bruno@clisp.org>
13199         update-copyright: Make it work again (regression from 2019-06-15).
13200         Reported by Brian C. Lane <bcl@redhat.com>.
13201         * build-aux/update-copyright: Add back the -0777, -p, -i options.
13203 2019-07-14  Bruno Haible  <bruno@clisp.org>
13205         doc: Update info about <pthread.h>.
13206         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
13207         of 'pthread'.
13209 2019-07-14  Bruno Haible  <bruno@clisp.org>
13211         pthread_sigmask tests: Use new multithread modules.
13212         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
13213         glthread/thread.h.
13214         (main_thread, killer_thread): Change type to pthread_t.
13215         (main): Update accordingly.
13216         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
13217         thread.
13219 2019-07-14  Bruno Haible  <bruno@clisp.org>
13221         pthread-tss: Add tests.
13222         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
13223         tests/test-tss.c.
13224         * modules/pthread-tss-tests: New file.
13226 2019-07-14  Bruno Haible  <bruno@clisp.org>
13228         pthread-cond: Add tests.
13229         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
13230         tests/test-cnd.c.
13231         * modules/pthread-cond-tests: New file.
13233 2019-07-14  Bruno Haible  <bruno@clisp.org>
13235         pthread-rwlock: Add tests.
13236         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
13237         * modules/pthread-rwlock-tests: New file.
13239 2019-07-14  Bruno Haible  <bruno@clisp.org>
13241         pthread-mutex: Add tests.
13242         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
13243         tests/test-mtx.c.
13244         * modules/pthread-mutex-tests: New file.
13246 2019-07-14  Bruno Haible  <bruno@clisp.org>
13248         pthread-once: Add tests.
13249         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
13250         tests/test-call_once.c.
13251         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
13252         tests/test-mtx.c.
13253         * modules/pthread-once-tests: New file.
13255 2019-07-14  Bruno Haible  <bruno@clisp.org>
13257         pthread-thread: Add tests.
13258         * tests/test-pthread-thread.c: New file, based on
13259         tests/test-thread_create.c and tests/test-thrd_create.c.
13260         * modules/pthread-thread-tests: New file.
13262 2019-07-14  Bruno Haible  <bruno@clisp.org>
13264         pthread: Turn into a convenience module.
13265         * lib/pthread.in.h: Remove declarations for extern inline functions.
13266         * lib/pthread.c: Remove file.
13267         * modules/pthread (Files): Remove it.
13268         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
13269         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
13270         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
13271         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
13272         GNULIB_PTHREAD.
13273         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
13275 2019-07-14  Bruno Haible  <bruno@clisp.org>
13277         pthread-spin: New module.
13278         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
13279         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
13280         inline definitions.
13281         * lib/pthread-spin.c: New file.
13282         * m4/pthread-spin.m4: New file.
13283         * modules/pthread-spin: New file.
13284         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
13285         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
13286         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
13287         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
13288         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
13290 2019-07-14  Bruno Haible  <bruno@clisp.org>
13292         pthread-tss: New module.
13293         * lib/pthread-tss.c: New file.
13294         * m4/pthread-tss.m4: New file.
13295         * modules/pthread-tss: New file.
13296         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
13297         * doc/posix-functions/pthread_setspecific.texi: Likewise.
13298         * doc/posix-functions/pthread_getspecific.texi: Likewise.
13299         * doc/posix-functions/pthread_key_delete.texi: Likewise.
13301 2019-07-14  Bruno Haible  <bruno@clisp.org>
13303         pthread-cond: New module.
13304         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
13305         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
13306         * lib/pthread-cond.c: New file.
13307         * m4/pthread-cond.m4: New file.
13308         * modules/pthread-cond: New file.
13309         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
13310         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
13311         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
13312         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
13313         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
13314         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
13315         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
13316         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
13318 2019-07-14  Bruno Haible  <bruno@clisp.org>
13320         pthread-rwlock: New module.
13321         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
13322         * m4/pthread-rwlock.m4: New file.
13323         * modules/pthread-rwlock: New file.
13324         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
13325         and the Android problem.
13326         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
13327         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
13328         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
13329         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
13330         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
13331         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
13332         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
13333         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
13334         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
13335         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
13337 2019-07-14  Bruno Haible  <bruno@clisp.org>
13339         pthread-mutex: New module.
13340         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
13341         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
13342         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
13343         pthread_mutex_unlock): Remove inline definitions.
13344         * lib/pthread-mutex.c: New file.
13345         * m4/pthread-mutex.m4: New file.
13346         * modules/pthread-mutex: New file.
13347         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
13348         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
13349         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
13350         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
13351         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13352         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13353         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
13354         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
13355         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
13356         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
13357         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
13358         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
13360 2019-07-14  Bruno Haible  <bruno@clisp.org>
13362         pthread-once: New module.
13363         * lib/pthread-once.c: New file.
13364         * m4/pthread-once.m4: New file.
13365         * modules/pthread-once: New file.
13366         * doc/posix-functions/pthread_once.texi: Mention the new module.
13368 2019-07-14  Bruno Haible  <bruno@clisp.org>
13370         pthread-thread: New module.
13371         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
13372         inline definitions.
13373         * lib/pthread-thread.c: New file.
13374         * m4/pthread-thread.m4: New file.
13375         * modules/pthread-thread: New file.
13376         * doc/posix-functions/pthread_create.texi: Mention the new module.
13377         * doc/posix-functions/pthread_attr_init.texi: Likewise.
13378         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
13379         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
13380         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
13381         * doc/posix-functions/pthread_self.texi: Likewise.
13382         * doc/posix-functions/pthread_equal.texi: Likewise.
13383         * doc/posix-functions/pthread_detach.texi: Likewise.
13384         * doc/posix-functions/pthread_join.texi: Likewise.
13385         * doc/posix-functions/pthread_exit.texi: Likewise.
13387 2019-07-14  Bruno Haible  <bruno@clisp.org>
13389         pthread-h: Prepare for adding new modules.
13390         * lib/pthread.in.h: Define the types and macros for each of the
13391         facilities separately.
13392         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
13393         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13394         HAVE_PTHREAD_PROCESS_SHARED.
13395         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
13396         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13397         HAVE_PTHREAD_PROCESS_SHARED.
13398         * modules/pthread-h (Makefile.am): Substitute
13399         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
13400         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
13402 2019-07-14  Bruno Haible  <bruno@clisp.org>
13404         pthread-h: Add declarations of essential pthread functions.
13405         * lib/pthread.in.h: Include snippets.
13406         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
13407         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
13408         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
13409         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
13410         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
13411         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
13412         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
13413         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
13414         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
13415         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
13416         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
13417         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
13418         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
13419         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
13420         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
13421         pthread_key_create, pthread_setspecific, pthread_getspecific,
13422         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
13423         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
13424         declarations.
13425         (pthread_mutex_timedlock): Move declaration.
13426         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
13427         declared.
13428         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
13429         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
13430         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
13431         HAVE_* and REPLACE_* variables for the new functions.
13432         * modules/pthread-h (Depends-on): Add snippet/c++defs,
13433         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
13434         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
13435         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
13436         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
13437         variables for the new functions. Split the sed script, to avoid the
13438         limit of 99 commands of HP-UX sed.
13439         * tests/test-pthread-c++.cc: Check the signature of the new functions.
13441 2019-07-14  Bruno Haible  <bruno@clisp.org>
13443         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
13444         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
13445         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
13446         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
13447         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
13448         * modules/pthread-h (Depends-on): Add threadlib.
13449         (Link): Change to $(LIBTHREAD).
13450         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
13451         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
13453 2019-07-14  Bruno Haible  <bruno@clisp.org>
13455         pthread-h: Add C++ tests.
13456         * tests/test-pthread-c++.cc: New file.
13457         * modules/pthread-h-c++-tests: New file.
13459 2019-07-14  Bruno Haible  <bruno@clisp.org>
13461         pthread-h: Add tests.
13462         * tests/test-pthread.c: New file.
13463         * modules/pthread-h-tests: New file.
13465 2019-07-14  Bruno Haible  <bruno@clisp.org>
13467         pthread-h: New module.
13468         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
13469         is 1.
13470         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
13471         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
13472         <pthread.h> pollutes the namespace; instead, prepare for generating a
13473         pthread.h always. Substitute HAVE_PTHREAD_H here.
13474         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
13475         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
13476         * modules/pthread-h: New file, based on modules/pthread.
13477         * modules/pthread: Rely on 'pthread-h'.
13478         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
13479         Update.
13480         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
13481         pthread.
13483 2019-07-14  Bruno Haible  <bruno@clisp.org>
13485         sched_yield: New module.
13486         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
13487         (sched_yield): New declaration.
13488         * lib/sched_yield.c: New file.
13489         * m4/sched_yield.m4: New file.
13490         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
13491         provide a replacement sched.h always. Test whether sched_yield is
13492         declared.
13493         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
13494         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
13495         (Makefile.am): Provide a replacement sched.h always. Substitute
13496         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
13497         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
13498         * modules/sched_yield: New file.
13499         * doc/posix-functions/sched_yield.texi: Mention the new module.
13501 2019-07-14  Bruno Haible  <bruno@clisp.org>
13503         windows-spin: New module.
13504         * lib/windows-spin.h: New file.
13505         * lib/windows-spin.c: New file.
13506         * modules/windows-spin: New file.
13508 2019-07-14  Bruno Haible  <bruno@clisp.org>
13510         windows-timedrwlock: New module.
13511         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
13512         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
13513         windows-cond.c.
13514         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
13515         redefinition conflict with windows-timedrwlock.h.
13516         * modules/windows-timedrwlock: New file.
13518 2019-07-14  Bruno Haible  <bruno@clisp.org>
13520         windows-rwlock: New module.
13521         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
13522         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
13523         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
13524         windows-initguard.h.
13525         (gl_rwlock_t): Define using glwthread_rwlock_t.
13526         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
13527         (glthread_rwlock_init): Define using glwthread_rwlock_init.
13528         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
13529         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
13530         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
13531         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
13532         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
13533         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
13534         glthread_rwlock_destroy_func): Remove declarations.
13535         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
13536         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
13537         gl_waitqueue_notify_all, glthread_rwlock_init_func,
13538         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
13539         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
13540         functions.
13541         * modules/windows-rwlock: New file.
13542         * modules/lock (Depends-on): Add windows-rwlock.
13544 2019-07-14  Bruno Haible  <bruno@clisp.org>
13546         windows-thread: Add support for creating a thread in detached state.
13547         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
13548         (glwthread_thread_create): Add attr argument.
13549         * lib/windows-thread.c (glwthread_thread_create): Likewise.
13550         * lib/glthread/thread.h (glthread_create): Update.
13551         * lib/thrd.c (thrd_create): Update.
13553 2019-07-14  Bruno Haible  <bruno@clisp.org>
13555         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
13556         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
13557         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
13558         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
13559         * lib/windows-mutex.h: Update.
13560         * lib/windows-recmutex.h: Likewise.
13561         * lib/windows-timedmutex.h: Likewise.
13562         * lib/windows-timedrecmutex.h: Likewise.
13563         * lib/windows-cond.h: Likewise.
13564         * lib/glthread/lock.h: Likewise.
13565         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
13566         lib/windows-spinlock.h.
13567         * modules/windows-recmutex (Files): Likewise.
13568         * modules/windows-timedmutex (Files): Likewise.
13569         * modules/windows-timedrecmutex (Files): Likewise.
13570         * modules/windows-cond (Files): Likewise.
13571         * modules/threads-h (Files): Likewise.
13573 2019-07-14  Bruno Haible  <bruno@clisp.org>
13575         doc: Fix info about pthread API in HP-UX.
13576         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
13578 2019-07-14  Bruno Haible  <bruno@clisp.org>
13580         threads-h: Fix generation of threads.h.
13581         * modules/threads-h (Makefile.am): Insert the required header file
13582         snippets.
13584 2019-07-09  Bruno Haible  <bruno@clisp.org>
13586         striconveh test: Fix a compilation failure when iconv is not available.
13587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13588         * tests/test-striconveh.c (main): Move iconv_close invocations inside
13589         HAVE_ICONV.
13591 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
13593         argmatch: adjust columns for help2man.
13594         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
13595         requires column 20 or more, return 20.
13597 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13599         areadlink-with-size: avoid realloc when size==0
13600         * lib/areadlink-with-size.c (areadlink_with_size):
13601         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
13602         Reallocate at the end to the actual size, to avoid memory waste,
13603         as suggested by Bruno Haible.  But when the guessed size is zero -
13604         useful when the size is unknown - do the initial small readlink
13605         into the stack, to avoid that realloc in the usual case.
13607 2019-07-06  Pádraig Brady  <P@draigBrady.com>
13609         areadlink-with-size: guess a buffer size with 0 size
13610         The size is usually taken from st_size, which can be zero,
13611         resulting in inefficient operation.
13612         Instead let zero select an initial memory allocation
13613         of 128 bytes, which most symlinks fit within.
13614         * lib/areadlink-with-size.c (areadlink_with_size):
13615         Start with a 128 byte buffer, for SIZE == 0.
13616         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
13618 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
13620         Replace manually crafted hex regexes with [:xdigit:]
13621         * build-aux/gitlog-to-changelog (parse_amend_file)
13622         (git_dir_option):
13623         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
13624         This patch is backported from Emacs (Bug#36167).
13626 2019-07-06  Bruno Haible  <bruno@clisp.org>
13628         error: Fix documentation.
13629         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
13630         module provides.
13631         * doc/glibc-functions/error_message_count.texi: Likewise.
13632         * doc/glibc-functions/error_one_per_line.texi: Likewise.
13633         * doc/glibc-functions/error_print_progname.texi: Likewise.
13635 2019-07-06  Bruno Haible  <bruno@clisp.org>
13637         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
13638         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
13639         and older is unsupported.
13640         * doc/**/*.texi: Update.
13642 2019-07-06  Bruno Haible  <bruno@clisp.org>
13644         doc: Remove documentation of Linux libc5 as a supported platform.
13645         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
13646         to Linux libc5.
13647         * doc/posix-functions/iswalpha.texi: Likewise.
13648         * doc/posix-functions/iswblank.texi: Likewise.
13649         * doc/posix-functions/iswcntrl.texi: Likewise.
13650         * doc/posix-functions/iswdigit.texi: Likewise.
13651         * doc/posix-functions/iswgraph.texi: Likewise.
13652         * doc/posix-functions/iswlower.texi: Likewise.
13653         * doc/posix-functions/iswprint.texi: Likewise.
13654         * doc/posix-functions/iswpunct.texi: Likewise.
13655         * doc/posix-functions/iswspace.texi: Likewise.
13656         * doc/posix-functions/iswupper.texi: Likewise.
13657         * doc/posix-functions/iswxdigit.texi: Likewise.
13658         * doc/posix-functions/snprintf.texi: Likewise.
13659         * doc/posix-functions/vsnprintf.texi: Likewise.
13661 2019-07-06  Bruno Haible  <bruno@clisp.org>
13663         doc: Remove documentation of Tandem/NSK as a supported platform.
13664         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
13665         Tandem/NSK.
13666         * doc/**/*.texi: Update.
13668 2019-07-06  Bruno Haible  <bruno@clisp.org>
13670         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
13671         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
13672         and older is unsupported.
13673         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
13674         Mac OS X 10.4 and older.
13675         * doc/posix-functions/asinl.texi: Likewise.
13676         * doc/posix-functions/atanl.texi: Likewise.
13677         * doc/posix-functions/cosl.texi: Likewise.
13678         * doc/posix-functions/expl.texi: Likewise.
13679         * doc/posix-functions/frexpl.texi: Likewise.
13680         * doc/posix-functions/gettimeofday.texi: Likewise.
13681         * doc/posix-functions/logl.texi: Likewise.
13682         * doc/posix-functions/mkstemp.texi: Likewise.
13683         * doc/posix-functions/sinl.texi: Likewise.
13684         * doc/posix-functions/sqrtl.texi: Likewise.
13685         * doc/posix-functions/tanl.texi: Likewise.
13686         * doc/posix-functions/wcswidth.texi: Likewise.
13687         * doc/**/*.texi: Update.
13689 2019-07-06  Bruno Haible  <bruno@clisp.org>
13691         doc: Remove documentation of AIX 4 as a supported platform.
13692         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
13693         unsupported.
13694         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
13695         workarounds.
13696         * doc/posix-functions/strnlen.texi: Likewise.
13697         * doc/posix-headers/inttypes.texi: Likewise.
13698         * doc/**/*.texi: Update.
13700 2019-07-06  Bruno Haible  <bruno@clisp.org>
13702         doc: Remove documentation of HP-UX 10 as a supported platform.
13703         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
13704         unsupported.
13705         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
13706         workarounds.
13707         * doc/posix-functions/gmtime_r.texi: Likewise.
13708         * doc/posix-functions/localtime_r.texi: Likewise.
13709         * doc/posix-functions/mkstemp.texi: Likewise.
13710         * doc/**/*.texi: Update.
13712 2019-07-06  Bruno Haible  <bruno@clisp.org>
13714         doc: Remove documentation of Interix 3.5 as a supported platform.
13715         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
13716         unsupported.
13717         * doc/posix-functions/select.texi: Don't mention Interix specific
13718         workarounds.
13719         * doc/posix-headers/signal.texi: Likewise.
13720         * doc/**/*.texi: Update.
13722 2019-07-06  Bruno Haible  <bruno@clisp.org>
13724         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
13725         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
13726         unsupported.
13727         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
13728         workarounds.
13729         * doc/posix-functions/nl_langinfo.texi: Likewise.
13730         * doc/posix-functions/remainder.texi: Likewise.
13731         * doc/posix-functions/towlower.texi: Likewise.
13732         * doc/posix-functions/towupper.texi: Likewise.
13733         * doc/posix-functions/vsnprintf.texi: Likewise.
13734         * doc/posix-functions/wcscat.texi: Likewise.
13735         * doc/posix-functions/wcschr.texi: Likewise.
13736         * doc/posix-functions/wcscmp.texi: Likewise.
13737         * doc/posix-functions/wcscpy.texi: Likewise.
13738         * doc/posix-functions/wcscspn.texi: Likewise.
13739         * doc/posix-functions/wcslen.texi: Likewise.
13740         * doc/posix-functions/wcsncat.texi: Likewise.
13741         * doc/posix-functions/wcsncmp.texi: Likewise.
13742         * doc/posix-functions/wcsncpy.texi: Likewise.
13743         * doc/posix-functions/wcspbrk.texi: Likewise.
13744         * doc/posix-functions/wcsrchr.texi: Likewise.
13745         * doc/posix-functions/wcsspn.texi: Likewise.
13746         * doc/posix-headers/langinfo.texi: Likewise.
13747         * doc/posix-headers/signal.texi: Likewise.
13748         * doc/posix-headers/wchar.texi: Likewise.
13749         * doc/posix-headers/wctype.texi: Likewise.
13750         * doc/**/*.texi: Update.
13752 2019-07-05  Bruno Haible  <bruno@clisp.org>
13754         doc: Remove documentation of OSF/1 as supported platform.
13755         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
13756         unsupported.
13757         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
13758         workarounds.
13759         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
13760         * doc/glibc-functions/ptsname_r.texi: Likewise.
13761         * doc/posix-functions/ceil.texi: Likewise.
13762         * doc/posix-functions/ceilf.texi: Likewise.
13763         * doc/posix-functions/ceill.texi: Likewise.
13764         * doc/posix-functions/fchdir.texi: Likewise.
13765         * doc/posix-functions/floor.texi: Likewise.
13766         * doc/posix-functions/floorf.texi: Likewise.
13767         * doc/posix-functions/fmod.texi: Likewise.
13768         * doc/posix-functions/fmodf.texi: Likewise.
13769         * doc/posix-functions/fmodl.texi: Likewise.
13770         * doc/posix-functions/log.texi: Likewise.
13771         * doc/posix-functions/logf.texi: Likewise.
13772         * doc/posix-functions/logl.texi: Likewise.
13773         * doc/posix-functions/log10.texi: Likewise.
13774         * doc/posix-functions/log10f.texi: Likewise.
13775         * doc/posix-functions/log10l.texi: Likewise.
13776         * doc/posix-functions/log2.texi: Likewise.
13777         * doc/posix-functions/log2f.texi: Likewise.
13778         * doc/posix-functions/log2l.texi: Likewise.
13779         * doc/posix-functions/mbrtowc.texi: Likewise.
13780         * doc/posix-functions/recv.texi: Likewise.
13781         * doc/posix-functions/recvfrom.texi: Likewise.
13782         * doc/posix-functions/remainder.texi: Likewise.
13783         * doc/posix-functions/remainderf.texi: Likewise.
13784         * doc/posix-functions/remainderl.texi: Likewise.
13785         * doc/posix-functions/round.texi: Likewise.
13786         * doc/posix-functions/roundf.texi: Likewise.
13787         * doc/posix-functions/roundl.texi: Likewise.
13788         * doc/posix-functions/send.texi: Likewise.
13789         * doc/posix-functions/sendto.texi: Likewise.
13790         * doc/posix-functions/setenv.texi: Likewise.
13791         * doc/posix-functions/snprintf.texi: Likewise.
13792         * doc/posix-functions/tcgetsid.texi: Likewise.
13793         * doc/posix-functions/trunc.texi: Likewise.
13794         * doc/posix-functions/truncf.texi: Likewise.
13795         * doc/posix-functions/truncl.texi: Likewise.
13796         * doc/posix-functions/ttyname_r.texi: Likewise.
13797         * doc/posix-functions/unsetenv.texi: Likewise.
13798         * doc/posix-functions/wcsrtombs.texi: Likewise.
13799         * doc/posix-headers/sys_select.texi: Likewise.
13800         * doc/posix-headers/wchar.texi: Likewise.
13801         * doc/posix-headers/wctype.texi: Likewise.
13802         * doc/**/*.texi: Update.
13804 2019-07-05  Bruno Haible  <bruno@clisp.org>
13806         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
13807         * doc/**/*.texi: Update.
13809 2019-07-05  Bruno Haible  <bruno@clisp.org>
13811         doc: Remove documentation of Solaris 8 and older as supported platforms.
13812         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
13813         unsupported.
13814         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
13815         workarounds.
13816         * doc/posix-functions/memcmp.texi: Likewise.
13817         * doc/posix-functions/rename.texi: Likewise.
13818         * doc/posix-functions/tzset.texi: Likewise.
13819         * doc/posix-headers/wctype.texi: Likewise.
13820         * doc/**/*.texi: Update.
13822 2019-07-05  Bruno Haible  <bruno@clisp.org>
13824         doc: Remove documentation of Interix 3.5 as a supported platform.
13825         * doc/**/*.texi: Update.
13827 2019-07-05  Bruno Haible  <bruno@clisp.org>
13829         doc: Remove documentation of BeOS as a supported platform.
13830         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
13831         unsupported.
13832         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
13833         * doc/posix-functions/getdelim.texi: Likewise.
13834         * doc/**/*.texi: Update.
13836 2019-07-05  Bruno Haible  <bruno@clisp.org>
13838         thread, lock, cond, tls: Remove support for Pth threads.
13839         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13840         --enable-threads=pth any more.
13841         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
13842         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
13843         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
13844         threads and ISO C11 threads.
13845         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
13846         * lib/glthread/lock.h: Likewise.
13847         * lib/glthread/lock.c: Likewise.
13848         * lib/glthread/cond.h: Likewise.
13849         * lib/glthread/cond.c: Likewise.
13850         * lib/glthread/tls.h: Likewise.
13851         * lib/glthread/tls.c: Likewise.
13852         * lib/glthread/yield.h: Likewise.
13853         * lib/regex_internal.h: Likewise.
13854         * tests/test-thread_create.c: Likewise.
13855         * tests/test-lock.c: Likewise.
13856         * tests/test-cond.c: Likewise.
13857         * tests/test-tls.c: Likewise.
13858         * tests/test-rwlock1.c: Don't include glthread/yield.h.
13859         (main): Sleep without calling gl_thread_yield.
13861 2019-07-05  Bruno Haible  <bruno@clisp.org>
13863         thread, lock, cond, tls: Remove support for old Solaris threads.
13864         Solaris >= 2.5.1 has POSIX threads.
13865         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13866         --enable-threads=solaris any more.
13867         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
13868         * lib/glthread/thread.c: Update comment.
13869         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
13870         * lib/glthread/lock.h: Likewise.
13871         * lib/glthread/lock.c: Likewise.
13872         * lib/glthread/cond.h: Likewise.
13873         * lib/glthread/cond.c: Likewise.
13874         * lib/glthread/tls.h: Likewise.
13875         * lib/glthread/tls.c: Likewise.
13876         * lib/glthread/yield.h: Likewise.
13877         * lib/regex_internal.h: Likewise.
13878         * tests/test-thread_create.c: Likewise.
13879         * tests/test-lock.c: Likewise.
13880         * tests/test-cond.c: Likewise.
13881         * tests/test-tls.c: Likewise.
13883 2019-07-05  Bruno Haible  <bruno@clisp.org>
13885         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
13886         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
13887         needed size is equal to the allocated size.
13888         * lib/getcwd.c (__getcwd): Likewise.
13890 2019-07-05  Bruno Haible  <bruno@clisp.org>
13892         xgetdomainname: Don't return an excessive memory allocation.
13893         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
13894         before returning it.
13896 2019-07-05  Bruno Haible  <bruno@clisp.org>
13898         xgethostname: Don't return an excessive memory allocation.
13899         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
13900         returning it.
13902 2019-07-05  Bruno Haible  <bruno@clisp.org>
13904         areadlinkat-with-size: Don't return an excessive memory allocation.
13905         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
13906         before returning it.
13908 2019-07-05  Bruno Haible  <bruno@clisp.org>
13910         areadlink-with-size: Don't return an excessive memory allocation.
13911         Reported by Andreas Dilger <adilger@whamcloud.com>.
13912         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
13913         before returning it.
13915 2019-07-03  Bruno Haible  <bruno@clisp.org>
13917         renameatu: Fix test failure on MSVC.
13918         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
13919         empty string.
13921 2019-07-03  Bruno Haible  <bruno@clisp.org>
13923         mbrtowc: Fix invalid use of mbtowc() on MSVC.
13924         * lib/mbrtowc.c: Include glthread/lock.h.
13925         (mbtowc_lock): New variable.
13926         (mbrtowc): Treat UTF-8 encoding without locking. For the other
13927         encodings, explicitly reset the internal state of mbtowc, and protect
13928         this through a lock.
13929         * modules/mbrtowc (Depends-on): Add lock.
13931 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
13933         argmatch: don't define _ in the header.
13934         Reported by Jim Meyering.
13935         * lib/argmatch.h (N_, _): Don't define.
13936         Use gettext instead.
13937         * lib/argmatch.h (_): Define.
13938         * tests/test-argmatch.c (N_): Define.
13940 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13942         verify: document ‘assume’ better
13943         * lib/verify.h: Reword doc (Bug#36370).
13945 2019-07-02  Bruno Haible  <bruno@clisp.org>
13947         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
13948         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
13949         "CPutf8".
13950         * lib/nl_langinfo.c (ctype_codeset): Likewise.
13952 2019-07-02  Bruno Haible  <bruno@clisp.org>
13954         getcwd: Fix crash when invoked with size = 0 on MSVC.
13955         * lib/getcwd.c: Include msvc-inval.h.
13956         (getcwd_nothrow): New function/macro.
13957         (getcwd_system): New macro.
13958         (__getcwd): Use it instead of getcwd.
13959         * modules/getcwd (Depends-on): Add msvc-inval.
13960         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
13962 2019-07-02  Bruno Haible  <bruno@clisp.org>
13964         nonblocking-pipe tests: Fix test failure on MSVC.
13965         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
13966         native Windows.
13968 2019-07-02  Bruno Haible  <bruno@clisp.org>
13970         usleep: Implement with millisecond resolution on native Windows.
13971         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
13972         * doc/pastposix-functions/usleep.texi: Update accordingly.
13974 2019-07-02  Bruno Haible  <bruno@clisp.org>
13976         lstat tests: Fix test failure on MSVC.
13977         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
13978         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13980 2019-07-02  Bruno Haible  <bruno@clisp.org>
13982         stat tests: Fix test failure on MSVC.
13983         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
13984         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13986 2019-07-02  Bruno Haible  <bruno@clisp.org>
13988         getaddrinfo tests: Fix test failure on MSVC.
13989         * tests/test-getaddrinfo.c: Include sockets.h.
13990         (main): Invoke gl_sockets_startup.
13991         * modules/getaddrinfo-tests (Depends-on): Add sockets.
13993 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
13995         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
13996         * lib/poll.c: Call Windows native select() with Windows native timeval.
13998 2019-06-30  Bruno Haible  <bruno@clisp.org>
14000         argmatch: Fix compilation errors.
14001         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
14002         * tests/test-argmatch.c (main): Update after last-minute function names
14003         change.
14005 2019-06-30  Bruno Haible  <bruno@clisp.org>
14007         Include <stdlib.h> when needed.
14008         * lib/cnd.c: Include <stdlib.h>, needed for abort().
14009         * lib/fcntl.c: Likewise.
14010         * lib/mbscasestr.c: Likewise.
14011         * lib/mbssep.c: Likewise.
14012         * lib/mbsstr.c: Likewise.
14013         * lib/openat.c: Include <stdlib.h>, needed for free().
14014         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
14015         abort().
14017 2019-06-30  Bruno Haible  <bruno@clisp.org>
14019         Include <stdlib.h> when needed.
14020         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
14021         * lib/faccessat.c: Likewise.
14022         * lib/fchmodat.c: Likewise.
14023         * lib/fchownat.c: Likewise.
14024         * lib/fstatat.c: Likewise.
14025         * lib/mkfifoat.c: Likewise.
14026         * lib/mknodat.c: Likewise.
14027         * lib/readlinkat.c: Likewise.
14028         * lib/symlinkat.c: Likewise.
14029         * lib/utimensat.c: Likewise.
14030         * lib/mkdirat.c: Likewise. Include also the specification header.
14032 2019-06-30  Bruno Haible  <bruno@clisp.org>
14034         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
14035         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
14036         from gl_PREREQ_SYS_H_SOCKET.
14037         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
14038         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
14039         gl_PREREQ_SYS_H_WS2TCPIP.
14040         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
14041         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
14042         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
14044 2019-06-30  Bruno Haible  <bruno@clisp.org>
14046         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
14047         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
14048         REPLACE_INET_NTOP to 1 always.
14049         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
14050         REPLACE_INET_PTON to 1 always.
14052 2019-06-30  Bruno Haible  <bruno@clisp.org>
14054         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
14055         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
14056         not REPLACE_INET_NTOP.
14058 2019-06-30  Bruno Haible  <bruno@clisp.org>
14060         poll: Add comment.
14061         * lib/poll.c: Add comment about WSAPoll.
14063 2019-06-30  Bruno Haible  <bruno@clisp.org>
14065         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
14066         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
14067         * lib/poll.in.h: Include <winsock2.h>.
14068         (POLL*, pollfd): Override on native Windows.
14069         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14070         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
14071         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14073 2019-06-28  Bruno Haible  <bruno@clisp.org>
14075         accept4: Fix compilation error on OpenIndiana.
14076         Reported by Michal Nowak <mnowak@startmail.com>
14077         via Mark H Weaver <mhw@netris.org>.
14078         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
14079         whether it exists as a function.
14081 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
14083         strverscmp: sync from glibc
14084         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
14085         comments, include libc-config.h, define __strverscmp to be
14086         strverscmp, and don’t assume types line uint8_t and int8_t that
14087         that C99 doesn’t guarantee.
14088         [!_LIBC]: Include libc-config.h; define __strverscmp.
14089         Include stdint.h.
14090         (__strverscmp): Assume C99.  Use uint_least8_t
14091         and int_least8_t instead of unsigned char and signed char.
14092         * modules/strverscmp (Depends-on): Add libc-config, stdint.
14094 2019-06-25  Bruno Haible  <bruno@clisp.org>
14096         tss tests: Add tests for destructors and races.
14097         * tests/test-tss.c (worker_thread): Fix typo in debug message.
14098         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
14099         functions.
14100         (main): Invoke them.
14101         * modules/tls-tests (Depends-on): Add mtx.
14103 2019-06-25  Bruno Haible  <bruno@clisp.org>
14105         tls tests: Add tests for destructors and races.
14106         * tests/test-tls.c: Include glthread/lock.h.
14107         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
14108         functions.
14109         (main): Invoke them.
14110         * modules/tls-tests (Depends-on): Add lock.
14112 2019-06-25  Bruno Haible  <bruno@clisp.org>
14114         windows-tls: Implement TLS key destructors for native Windows.
14115         * lib/windows-tls.h (glwthread_tls_process_destructors): New
14116         declaration.
14117         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
14118         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
14119         (dtor_table_init_once, dtor_table_lock: New variables.
14120         (struct dtor): New type.
14121         (dtor_table, dtors_count, dtors_used, dtors_allocated,
14122         dtor_processing_threads): New variables.
14123         (dtor_table_initialize, dtor_table_ensure_initialized,
14124         dtor_table_shrink_used, glwthread_tls_process_destructors): New
14125         functions.
14126         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
14127         handle non-NULL destructors.
14128         * modules/windows-tls (Depends-on): Add windows-once.
14129         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
14130         Use the functions declared in windows-tls.h.
14131         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
14132         GLWTHREAD_DESTRUCTOR_ITERATIONS.
14133         * lib/windows-thread.c: Include windows-tls.h.
14134         (wrapper_func, glwthread_thread_exit): Invoke
14135         glwthread_tls_process_destructors.
14136         * modules/windows-thread (Depends-on): Add windows-tls.
14138 2019-06-25  Bruno Haible  <bruno@clisp.org>
14140         threadlib: Avoid autoconf warning "was expanded before it was required".
14141         * modules/threadlib (configure.ac): Require gl_THREADLIB.
14143 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
14145         argmatch: remove duplicate const qualifier
14146         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
14148 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14150         unistd: stddef.h and sys/types.h namespace cleanup
14151         * lib/unistd.in.h [__GLIBC__]:
14152         Do not include stddef.h or sys/types.h.
14153         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
14154         supposed to declare off_t and ssize_t.  Problem found when looking
14155         at why @GNULIB_PWRITE@ was different from the newly-added
14156         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
14158 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14160         maintainer-makefile: restore portability to non-GNU awks
14161         Reported by Tim Rühsen.
14162         * top/maint.mk (AWK): New variable.  Use it.
14163         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
14165 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14167         Document setvbuf _IOLBF problem
14168         * doc/posix-functions/setvbuf.texi (setvbuf):
14169         Document MS-Windows portability problem with _IOLBF.
14171         Document lseek SEEK_DATA/SEEK_HOLE
14172         * doc/posix-functions/lseek.texi (lseek):
14173         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
14175 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14177         argmatch: put all the docs member last.
14178         Reported by Bruno Haible.
14179         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
14180         member before the docs done.
14181         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
14183 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
14185         argmatch: add support to generate the usage message.
14186         * lib/argmatch.c: Move some #includes and gettext support to...
14187         * lib/argmatch.h: here.
14188         (ARGMATCH_DEFINE_GROUP): New macro.
14189         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
14190         (argmatch_backup_group): New.
14191         (CHECK): New.
14192         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
14193         argmatch_backup_argument and argmatch_backup_usage.
14194         * modules/argmatch: We depend on c99.
14195         * doc/argmatch.texi (Recognizing Option Arguments): New.
14196         * doc/gnulib.texi: Use it.
14198 2019-06-21  Bruno Haible  <bruno@clisp.org>
14200         thrd: Add comment.
14201         * lib/thrd.c (pthread_main_func): Add comment.
14203 2019-06-21  Bruno Haible  <bruno@clisp.org>
14205         threads-h: Define 'thread_local' if and only if it actually works.
14206         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
14207         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
14208         Oracle Solaris Studio C. Compile a simple program, to see whether
14209         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
14210         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
14211         * lib/threads.in.h (thread_local): Undefine if it does not work.
14212         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
14213         (Link): Mention LIBTHREADLOCAL.
14214         * tests/test-threads.c: Don't check that thread_local is defined.
14215         * tests/test-thread_local.c: New file.
14216         * modules/threads-h-tests (Files): Add it and macros.h.
14217         (Depends-on): Add thrd and stdint.
14218         (configure.ac): Test whether 'alarm' is declared.
14219         (Makefile.am): Arrange to build and link test-thread_local.
14220         * doc/posix-headers/threads.texi: Mention the platforms that don't
14221         support 'thread_local'.
14223 2019-06-20  Bruno Haible  <bruno@clisp.org>
14225         threads-h: Simplify link dependencies.
14226         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
14227         Don't set LTLIBSTDTHREAD.
14228         * modules/thrd (Link): Simplify accordingly.
14229         * modules/mtx (Link): Likewise.
14230         * modules/cnd (Link): Likewise.
14231         * modules/tss (Link): Likewise.
14232         * modules/threads (Link): Likewise.
14234 2019-06-20  Bruno Haible  <bruno@clisp.org>
14236         threads-h: Fix link error on FreeBSD 11.
14237         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
14238         also with -lpthread.
14240 2019-06-20  Bruno Haible  <bruno@clisp.org>
14242         threadlib: Fix typo (regression from today).
14243         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
14245 2019-06-20  Bruno Haible  <bruno@clisp.org>
14247         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
14248         * lib/windows-thread.c: Include <errno.h>.
14249         * lib/windows-tls.c: Likewise.
14251 2019-06-20  Bruno Haible  <bruno@clisp.org>
14253         tss tests: Small improvement.
14254         * tests/test-tss.c (test_tss): Pass a different id to each thread.
14256 2019-06-20  Bruno Haible  <bruno@clisp.org>
14258         threads: New module.
14259         * modules/threads: New file.
14261 2019-06-20  Bruno Haible  <bruno@clisp.org>
14263         tss: Add tests.
14264         * tests/test-tss.c: New file, based on tests/test-tls.c.
14265         * modules/tss-tests: New file.
14267 2019-06-20  Bruno Haible  <bruno@clisp.org>
14269         cnd: Add tests.
14270         * tests/test-cnd.c: New file, based on tests/test-cond.c.
14271         * modules/cnd-tests: New file.
14273 2019-06-20  Bruno Haible  <bruno@clisp.org>
14275         mtx: Add tests.
14276         * tests/test-mtx.c: New file, based on tests/test-lock.c.
14277         * tests/test-call_once.c: New file, based on tests/test-once.c.
14278         * modules/mtx-tests: New file.
14280 2019-06-20  Bruno Haible  <bruno@clisp.org>
14282         thrd: Add tests.
14283         * tests/test-thrd_create.c: New file, based on
14284         tests/test-thread_create.c.
14285         * tests/test-thrd_current.c: New file, based on
14286         tests/test-thread_self.c.
14287         * modules/thrd-tests: New file.
14289 2019-06-20  Bruno Haible  <bruno@clisp.org>
14291         tss: New module.
14292         * lib/tss.c: New file.
14293         * modules/tss: New file.
14294         * doc/posix-functions/tss_create.texi: Mention the new module.
14295         * doc/posix-functions/tss_set.texi: Likewise.
14296         * doc/posix-functions/tss_get.texi: Likewise.
14297         * doc/posix-functions/tss_delete.texi: Likewise.
14299 2019-06-20  Bruno Haible  <bruno@clisp.org>
14301         cnd: New module.
14302         * lib/cnd.c: New file.
14303         * modules/cnd: New file.
14304         * doc/posix-functions/cnd_init.texi: Mention the new module.
14305         * doc/posix-functions/cnd_wait.texi: Likewise.
14306         * doc/posix-functions/cnd_timedwait.texi: Likewise.
14307         * doc/posix-functions/cnd_signal.texi: Likewise.
14308         * doc/posix-functions/cnd_broadcast.texi: Likewise.
14309         * doc/posix-functions/cnd_destroy.texi: Likewise.
14311 2019-06-20  Bruno Haible  <bruno@clisp.org>
14313         mtx: New module.
14314         * lib/mtx.c: New file.
14315         * modules/mtx: New file.
14316         * doc/posix-functions/call_once.texi: Mention the new module.
14317         * doc/posix-functions/mtx_init.texi: Likewise.
14318         * doc/posix-functions/mtx_lock.texi: Likewise.
14319         * doc/posix-functions/mtx_trylock.texi: Likewise.
14320         * doc/posix-functions/mtx_timedlock.texi: Likewise.
14321         * doc/posix-functions/mtx_unlock.texi: Likewise.
14322         * doc/posix-functions/mtx_destroy.texi: Likewise.
14324 2019-06-20  Bruno Haible  <bruno@clisp.org>
14326         thrd: New module.
14327         * lib/thrd.c: New file.
14328         * m4/thrd.m4: New file.
14329         * modules/thrd: New file.
14330         * doc/posix-functions/thrd_current.texi: Mention the new module.
14331         * doc/posix-functions/thrd_detach.texi: Likewise.
14332         * doc/posix-functions/thrd_equal.texi: Likewise.
14333         * doc/posix-functions/thrd_exit.texi: Likewise.
14334         * doc/posix-functions/thrd_sleep.texi: Likewise.
14335         * doc/posix-functions/thrd_yield.texi: Likewise.
14336         * doc/posix-functions/thrd_create.texi: Mention the new module and the
14337         AIX bug.
14338         * doc/posix-functions/thrd_join.texi: Mention the new module and the
14339         AIX and Solaris bugs.
14341 2019-06-20  Bruno Haible  <bruno@clisp.org>
14343         threads-h: Add tests.
14344         * tests/test-threads.c: New file.
14345         * modules/threads-h-tests: New file.
14346         * tests/test-threads-c++.cc: New file.
14347         * modules/threads-h-c++-tests: New file.
14349 2019-06-20  Bruno Haible  <bruno@clisp.org>
14351         threads-h: New module.
14352         * lib/threads.in.h: New file.
14353         * m4/threads.m4: New file.
14354         * m4/yield.m4 (gl_YIELD): Update comment.
14355         * modules/threads-h: New file.
14356         * modules/yields (configure.ac): Use AC_REQUIRE.
14357         * doc/posix-headers/threads.texi: Mention the new module and the AIX
14358         bugs.
14360 2019-06-20  Bruno Haible  <bruno@clisp.org>
14362         windows-thread: New module.
14363         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
14364         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
14365         * lib/glthread/thread.h: Include windows-thread.h.
14366         (gl_thread_t): Define using glwthread_thread_t.
14367         (glthread_create): Define using glwthread_thread_create.
14368         (glthread_join): Define using glwthread_thread_join.
14369         (gl_thread_self): Define using glwthread_thread_self.
14370         (gl_thread_exit): Define using glwthread_thread_exit.
14371         (glthread_create_func, glthread_join_func, gl_thread_self_func,
14372         gl_thread_exit_func): Remove declarations.
14373         * lib/glthread/thread.c (self_key): Remove variable.
14374         (do_init_self_key, init_self_key): Remove functions.
14375         (struct gl_thread_struct): Remove type.
14376         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
14377         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
14378         functions.
14379         * modules/windows-thread: New file.
14380         * modules/thread (Depends-on): Add windows-thread.
14382 2019-06-20  Bruno Haible  <bruno@clisp.org>
14384         windows-tls: New module.
14385         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
14386         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
14387         * lib/glthread/tls.h: Include windows-tls.h.
14388         (gl_tls_key_t): Define using glwthread_tls_key_t.
14389         * modules/windows-tls: New file.
14390         * modules/tls (Depends-on): Add windows-tls.
14392 2019-06-20  Bruno Haible  <bruno@clisp.org>
14394         windows-cond: New module.
14395         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
14396         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
14397         * lib/glthread/cond.h: Include windows-cond.h.
14398         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
14399         (gl_cond_t): Define using glwthread_cond_t.
14400         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
14401         (glthread_cond_init): Define using glwthread_cond_init.
14402         (glthread_cond_wait): Define using glwthread_cond_wait.
14403         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
14404         (glthread_cond_signal): Define using glwthread_cond_signal.
14405         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
14406         (glthread_cond_destroy): Define using glwthread_cond_destroy.
14407         (glthread_cond_init_func, glthread_cond_wait_func,
14408         glthread_cond_timedwait_func, glthread_cond_signal_func,
14409         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14410         declarations.
14411         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
14412         types.
14413         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
14414         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
14415         glthread_cond_init_func, glthread_cond_wait_func,
14416         glthread_cond_timedwait_func, glthread_cond_signal_func,
14417         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14418         functions.
14419         * modules/windows-cond: New file.
14420         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
14422 2019-06-20  Bruno Haible  <bruno@clisp.org>
14424         windows-timedrecmutex: New module.
14425         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
14426         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
14427         * modules/windows-timedrecmutex: New file.
14429 2019-06-20  Bruno Haible  <bruno@clisp.org>
14431         windows-timedmutex: New module.
14432         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
14433         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
14434         * modules/windows-timedmutex: New file.
14436 2019-06-20  Bruno Haible  <bruno@clisp.org>
14438         windows-recmutex: New module.
14439         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
14440         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
14441         * lib/glthread/lock.h: Include windows-recmutex.h.
14442         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
14443         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
14444         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
14445         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
14446         (glthread_recursive_lock_unlock): Define using
14447         glwthread_recmutex_unlock.
14448         (glthread_recursive_lock_destroy): Define using
14449         glwthread_recmutex_destroy.
14450         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
14451         glthread_recursive_lock_unlock_func,
14452         glthread_recursive_lock_destroy_func): Remove declarations.
14453         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
14454         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
14455         glthread_recursive_lock_destroy_func): Remove functions.
14456         * modules/windows-recmutex: New file.
14457         * modules/lock (Depends-on): Add windows-recmutex.
14459 2019-06-20  Bruno Haible  <bruno@clisp.org>
14461         windows-mutex: New module.
14462         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
14463         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
14464         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
14465         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
14466         (gl_spinlock_t): Remove type.
14467         (gl_lock_t): Define using glwthread_mutex_t.
14468         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
14469         (glthread_lock_init): Define using glwthread_mutex_init.
14470         (glthread_lock_lock): Define using glwthread_mutex_lock.
14471         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
14472         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
14473         (glthread_lock_init_func, glthread_lock_lock_func,
14474         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14475         declarations.
14476         Use glwthread_spinlock_t instead of gl_spinlock_t.
14477         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
14478         GLWTHREAD_SPINLOCK_INIT.
14479         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
14480         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14481         functions.
14482         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
14483         gl_spinlock_t.
14484         * modules/windows-mutex: New file.
14485         * modules/lock (Depends-on): Add windows-mutex.
14487 2019-06-20  Bruno Haible  <bruno@clisp.org>
14489         windows-once: New module.
14490         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
14491         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
14492         * lib/glthread/lock.h: Include windows-once.h.
14493         (gl_once_t): Define using glwthread_once_t.
14494         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
14495         (glthread_once): Define using glwthread_once.
14496         (glthread_once_func): Remove declaration.
14497         * lib/glthread/lock.c (glthread_once_func): Remove function.
14498         * modules/windows-once: New file.
14499         * modules/lock (Depends-on): Add windows-once.
14501 2019-06-20  Bruno Haible  <bruno@clisp.org>
14503         lock, cond: Avoid possible counter wraparound on Windows.
14504         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
14505         field of the guard unchanged if it was already positive.
14506         (glthread_rwlock_rdlock_func): Likewise.
14507         (glthread_rwlock_wrlock_func): Likewise.
14508         (glthread_recursive_lock_lock_func): Likewise.
14509         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
14510         (glthread_cond_timedwait_func): Likewise.
14512 2019-06-20  Bruno Haible  <bruno@clisp.org>
14514         cond: Make glthread_cond_timedwait more reliable on Windows.
14515         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
14516         condition variable before looking at the current time.
14518 2019-06-20  Bruno Haible  <bruno@clisp.org>
14520         pthread_mutex_timedlock: New module.
14521         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
14522         new declaration.
14523         * lib/pthread_mutex_timedlock.c: New file.
14524         * m4/pthread_mutex_timedlock.m4: New file.
14525         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
14526         whether pthread_mutex_timedlock is declared.
14527         (gl_PTHREAD_MODULE_INDICATOR): New macro.
14528         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14529         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14530         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
14531         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14532         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14533         * modules/pthread_mutex_timedlock: New file.
14534         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
14535         module.
14537 2019-06-20  Bruno Haible  <bruno@clisp.org>
14539         thread, lock, cond, tls: Recognize C11 multithreaded applications.
14540         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
14541         * lib/glthread/thread.h (c11_threads_in_use): New macro.
14542         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14543         * lib/glthread/lock.h (c11_threads_in_use): New macro.
14544         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14545         * lib/glthread/cond.h (c11_threads_in_use): New macro.
14546         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14547         * lib/glthread/tls.h (c11_threads_in_use): New macro.
14548         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14550 2019-06-20  Bruno Haible  <bruno@clisp.org>
14552         tls tests: Small improvements.
14553         * tests/test-tls.c: Include <stdint.h>.
14554         (worker_thread): Avoid gcc warning on 64-bit mingw.
14555         (test_tls): Pass a different id to each thread.
14556         * modules/tls-tests (Depends-on): Add stdint.
14558 2019-06-20  Bruno Haible  <bruno@clisp.org>
14560         cond tests: Simplify.
14561         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
14563 2019-06-20  Bruno Haible  <bruno@clisp.org>
14565         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
14566         * tests/test-lock.c (test_once): Don't reference fire_signal if
14567         !ENABLE_LOCKING.
14569 2019-06-19  Bruno Haible  <bruno@clisp.org>
14571         nanosleep: Relicense under LGPLv2+.
14572         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
14573         * modules/nanosleep (License): Change to LGPLv2+.
14575 2019-06-19  Bruno Haible  <bruno@clisp.org>
14577         Reorder pieces of header in perl scripts.
14578         The desired order is
14579         - Prologue part 1 (2 lines with #!)
14580         - Program short description
14581         - Copyright and license notice
14582         - Written-by notice
14583         - Program short description (optional)
14584         - Program long description (optional)
14585         - Prologue part 2
14586         - Time stamp
14587         - Code
14588         Reported by Paul Eggert.
14589         * build-aux/announce-gen: Reorder header.
14590         * build-aux/gitlog-to-changelog: Likewise.
14591         * build-aux/useless-if-before-free: Likewise.
14592         * build-aux/prefix-gnulib-mk: Add copyright notice and short
14593         description.
14594         * build-aux/update-copyright: Likewise. Add short description. Bump
14595         time-stamp-line-limit to 200.
14597 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
14599         verify-tests: work around xlc bug
14600         Problem reported by Bruno Haible in:
14601         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
14602         * tests/test-verify.c (item): Move the arithmetic inside the
14603         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
14605 2019-06-16  Bruno Haible  <bruno@clisp.org>
14607         Restore Emacs time-stamp hook applicability.
14608         Reported by Darshit Shah <darnir@gnu.org>.
14609         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
14610         * build-aux/announce-gen: Likewise.
14611         * build-aux/gitlog-to-changelog: Likewise.
14612         * build-aux/prefix-gnulib-mk: Likewise.
14613         * build-aux/update-copyright: Likewise.
14615 2019-06-15  Bruno Haible  <bruno@clisp.org>
14617         Fix scripts to have valid executable format on Alpine Linux.
14618         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14619         Idea by Paul Eggert.
14620         * build-aux/useless-if-before-free: Use a prologue that starts with
14621         '#!/bin/sh'.
14622         * build-aux/announce-gen: Likewise.
14623         * build-aux/gitlog-to-changelog: Likewise.
14624         * build-aux/prefix-gnulib-mk: Likewise.
14625         * build-aux/update-copyright: Likewise.
14626         * tests/test-update-copyright.sh: Update test program accordingly.
14628 2019-06-10  Bruno Haible  <bruno@clisp.org>
14630         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
14631         Reported by Nikita Ermakov <arei@altlinux.org> in
14632         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
14633         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
14634         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
14636 2019-06-10  Bruno Haible  <bruno@clisp.org>
14638         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
14639         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14640         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
14641         a copy of the path argument.
14642         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14643         it.
14645 2019-06-10  Bruno Haible  <bruno@clisp.org>
14647         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
14648         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
14649         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14650         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
14651         a copy of the path argument.
14652         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14653         it.
14655 2019-06-10  Bruno Haible  <bruno@clisp.org>
14657         posix_spawn_file_actions_addfchdir: Add tests.
14658         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
14659         * tests/test-posix_spawn5.c: New file.
14660         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
14662 2019-06-10  Bruno Haible  <bruno@clisp.org>
14664         posix_spawn_file_actions_addfchdir: New module.
14665         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
14666         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
14667         union member 'fchdir_action'.
14668         * lib/spawn_faction_addfchdir.c: New file.
14669         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
14670         * m4/posix_spawn_faction_addfchdir.m4: New file.
14671         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
14672         'posix_spawn_file_actions_addfchdir' is present and whether
14673         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
14674         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
14675         posix_spawn_file_actions_addfchdir is declared.
14676         (gl_SPAWN_H_DEFAULTS): Initialize
14677         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14678         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14679         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
14680         * modules/spawn (Makefile.am): Substitute
14681         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14682         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14683         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
14684         * modules/posix_spawn_file_actions_addfchdir: New file.
14685         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
14686         signature.
14687         * doc/posix-functions/posix_spawn.texi: Mention the new module.
14688         * doc/posix-functions/posix_spawnp.texi: Likewise.
14689         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
14690         Likewise.
14692 2019-06-10  Bruno Haible  <bruno@clisp.org>
14694         doc: Document existence of posix_spawn_file_actions_addchdir module.
14695         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
14696         the posix_spawn_file_actions_addchdir module.
14698 2019-06-10  Bruno Haible  <bruno@clisp.org>
14700         posix_spawn-internal: Fix module description.
14701         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
14702         from here...
14703         * modules/posix_spawnp (configure.ac): ... and here...
14704         * modules/posix_spawn-internal (configure.ac): ... to here.
14706 2019-06-10  Bruno Haible  <bruno@clisp.org>
14708         doc: Update and improve documentation of glibc functions.
14709         This is a series of commits that
14710         - updates the documentation to the state of glibc 2.29,
14711         - adds references to Linux man pages and glibc documentation,
14712         - marks Linux specific functions as such.
14713         These are the commits:
14714         doc: Update after removal of crypt functions from glibc 2.28.
14715         doc: Remove mention of function vm86 (does not exist on x86_64).
14716         doc: Remove mention of functions that are gone from glibc.
14717         doc: Mention that glibc no longer provides h_errno.
14718         doc: Mention the availability of specific functions in glibc versions.
14719         doc: Mention eaccess.
14720         doc: Add references to Linux man pages.
14721         doc: Add references to glibc documentation.
14722         doc: Mention inotify_* functions.
14723         doc: Mention ppoll.
14724         doc: Mention sched_getcpu.
14725         doc: Mention sync_file_range.
14726         doc: Mention epoll_pwait.
14727         doc: Mention eventfd, eventfd_read, eventfd_write.
14728         doc: Mention signalfd.
14729         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
14730         doc: Mention epoll_create1.
14731         doc: Mention getauxval.
14732         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
14733         doc: Mention nextdown, nextup.
14734         doc: Mention more ISO TS 18661-1 <math.h> functions.
14735         doc: Mention ISO TS 18661-1 <fenv.h> functions.
14736         doc: Mention getrandom, getentropy.
14737         doc: Mention strfromf, strfromd, strfroml.
14738         doc: Mention preadv2, pwritev2.
14739         doc: Mention copy_file_range.
14740         doc: Mention memfd_create.
14741         doc: Mention mlock2.
14742         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
14743         doc: Mention more ISO TS 18661-1 <math.h> functions.
14744         doc: Mention renameat2.
14745         doc: Mention statx.
14746         doc: Mention the ISO C11 multithreading header and functions.
14747         doc: Mention getcpu.
14748         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
14749         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
14750         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
14751         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
14752         doc: Some glibc functions also exist on Solaris 11.
14753         doc: Some glibc functions also exist on Solaris 11.4.
14754         doc: Some glibc functions also exist on FreeBSD.
14755         doc: Some glibc functions also exist on BeOS.
14756         doc: Some glibc functions also exist on Haiku.
14757         doc: Mark functions which exist only on Linux.
14758         doc: Mark functions which exist only on Linux and illumos.
14760 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14762         copy-file: fix typo
14763         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
14765         copy-file-range: simplify into a stub
14766         Based on a comment by Florian Weimer in:
14767         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
14768         It turns out that Emacs (which will use this module) won’t need an
14769         emulation and I suspect other programs won’t either, because these
14770         programs will need to fall back on read+write anyway.  Perhaps I
14771         am wrong and other programs will be able to use an emulation; if
14772         so, this patch can be reverted.
14773         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
14774         Just call it copy_file_range.
14775         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
14776         Check via AC_LINK_IFELSE.
14777         * modules/copy-file-range (Depends-on): Remove modules no longer used.
14779 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
14781         copy-file: prefer copy_file_range
14782         * lib/copy-file.c: Do not include xalloc.h.
14783         (qcopy_file_preserving): Allocate a buffer only if
14784         copy_file_range does not suffice.  If the allocation fails
14785         don't give up; just use a small stack-based buffer.
14786         Prefer copy_file_range if it works.
14787         * modules/copy-file (Depends-on): Add copy-file-range.
14788         Remove xalloc.
14790         copy-file-range: new module
14791         * MODULES.html.sh: Add copy-file-range.
14792         * lib/copy-file-range.c, m4/copy-file-range.m4:
14793         * modules/copy-file-range: New files.
14794         * lib/unistd.in.h (copy_file_range): Declare.
14795         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
14796         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
14797         * modules/unistd (unistd.h): Substitute them.
14799 2019-05-28  Bruno Haible  <bruno@clisp.org>
14801         binary-io: Attempted use of O_BINARY on consoles no longer fails.
14802         Reported by KO Myung-Hun <komh78@gmail.com> in
14803         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
14804         * lib/binary-io.h (__gl_setmode_check): Remove function.
14805         (set_binary_mode): Declare as notinline on DJGPP and EMX.
14806         * lib/binary-io.c (__gl_setmode_check): Remove function.
14807         (set_binary_mode): Define here on DJGPP and EMX. Inline
14808         __gl_setmode_check. In case of a tty, don't return an error code.
14810 2019-05-28  James Youngman  <jay@gnu.org>
14812         dirent-safer: Make opendir_safer usable from C++.
14813         * lib/dirent-safer.h: use extern "C".
14815 2019-05-28  James Youngman  <jay@gnu.org>
14817         canonicalize: Make canonicalize_filename_mode usable from C++.
14818         * lib/canonicalize.h: use extern "C".
14820 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
14822         prefix-gnulib-mk: Fix CPPFLAGS migration.
14823         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
14824         _a part of the library name.
14826 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14828         flexmember: update comments again
14829         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
14831         flexmember: update comment
14832         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
14834 2019-05-20  Bruno Haible  <bruno@clisp.org>
14836         setlocale: Improve fallback on macOS.
14837         * lib/setlocale.c (search): Optimize away a redundant strcmp()
14838         invocation.
14839         (locales_with_principal_territory): New array.
14840         (langcmp, get_main_locale_with_same_language): New functions.
14841         (locales_with_principal_language): New array.
14842         (terrcmp, get_main_locale_with_same_territory): New functions.
14843         (rpl_setlocale): When setlocale_single failed, try again with a locale
14844         that is more likely to exist. Don't warn if the environment variable
14845         SETLOCALE_VERBOSE is not set.
14847 2019-05-19  Bruno Haible  <bruno@clisp.org>
14849         localename: Fix default on macOS.
14850         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
14851         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
14852         (gl_locale_name_environ, gl_locale_name_default): Remove code for
14853         HAVE_CFLOCALECOPYCURRENT.
14854         * lib/localename.h (gl_locale_name_default): Update.
14856 2019-05-19  Karl Berry  <karl@freefriends.org>
14858         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
14859         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
14860         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
14862 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
14864         maintainer-makefile: catch uses of $< in non-implicit rules
14865         * top/maint.mk (sc_prohibit_magic_number_exit): New.
14867 2019-05-18  Bruno Haible  <bruno@clisp.org>
14869         threadlib: Provide an easy way to avoid mingw's winpthreads library.
14870         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
14871         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
14872         gl_use_threads accordingly.
14874 2019-05-18  Bruno Haible  <bruno@clisp.org>
14876         pthread_sigmask: Fix compilation error with --enable-threads=windows.
14877         Reported by Tim Rühsen in
14878         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
14879         and Michele Locati in
14880         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
14881         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
14882         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
14883         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
14884         in use and regardless which threads API is chosen.
14886 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14888         close-stream, closein, closeout: simplify
14889         I noticed this opportunity for simplification while drafting a
14890         new, related module that I haven’t had time to finish yet.
14891         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
14892         * modules/close-stream (Files): Remove m4/close-stream.m4.
14893         (configure.ac): Omit gl_CLOSE_STREAM.
14894         * modules/closein (Files): Remove m4/closein.m4
14895         (configure.ac): Omit gl_CLOSEIN.
14896         * modules/closeout (Files): Remove m4/closeout.m4.
14897         (configure.ac): Omit gl_CLOSEOUT.
14899 2019-05-12  Bruno Haible  <bruno@clisp.org>
14901         libtool-next-version: New program.
14902         * build-aux/libtool-next-version: New file.
14904 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
14905             Bruno Haible  <bruno@clisp.org>
14907         version-etc: Ease translation.
14908         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
14909         URLs and formatting newlines out of translatable string.
14911 2019-05-11  Bruno Haible  <bruno@clisp.org>
14913         gnupload: Explain how to create symlinks.
14914         * build-aux/gnupload (usage): Add an example that creates symlinks.
14916 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14918         fpucw: port to gcc -pedantic
14919         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
14920         Use __extension__ if using ({ ... }).
14922         crypto/af_alg: port to strict C compilers
14923         * lib/af_alg.c: Include af_alg.h regardless, so that the
14924         compilation unit is nonempty.
14926 2019-05-10  Bruno Haible  <bruno@clisp.org>
14928         base64: Avoid false positive warning from Coverity.
14929         Reported by Kamil Dudka <kdudka@redhat.com>.
14930         Idea by Paul Eggert.
14931         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
14932         '& 0x3f' to the array index expressions. This convinces Coverity that
14933         there is no out-of-bounds array reference, regardless of the input.
14935 2019-05-09  Bruno Haible  <bruno@clisp.org>
14937         gettext: Update to gettext 0.20.
14938         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
14939         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
14940         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
14941         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
14942         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
14943         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
14944         (configure.ac): Request infrastructure compatible with gettext 0.20.
14945         * m4/glibc2.m4: Remove file.
14946         * m4/intdiv0.m4: Remove file.
14947         * m4/intl.m4: Remove file.
14948         * m4/intldir.m4: Remove file.
14949         * m4/intmax.m4: Remove file.
14950         * m4/printf-posix.m4: Remove file.
14951         * m4/uintmax_t.m4: Remove file.
14952         * m4/gettext.m4: Update from gettext 0.20.
14953         * m4/po.m4: Likewise.
14955 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14957         verify: remove verify_true
14958         * NEWS: Mention this.
14959         * lib/verify.h (verify_true): Remove.
14960         * tests/test-verify.c (item): Test verify_expr, not verify_true.
14962         Support C2X and C++17 static_assert
14963         C2X and C++17 finally added support for a simple, single-argument
14964         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
14965         doing back in 2005.  Implement static_assert on older platforms.
14966         The only remaining advantage of ‘verify’ is a shorter name.
14967         * doc/posix-headers/assert.texi (assert.h):
14968         * doc/verify.texi (Compile-time Assertions):
14969         Modernize for C2X and C++17.
14970         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
14971         New macros.
14972         (_GL_HAVE__STATIC_ASSERT): Remove.
14973         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
14974         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
14975         string.  All callers changed.
14976         (_GL_VERIFY): Require 3 or more args, of which only the first 2
14977         are used.  All callers changed.
14978         (_Static_assert): Allow either 1 or 2 args, and define if
14979         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
14980         !_GL_HAVE__STATIC_ASSERT.
14981         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
14982         of defining if !_GL_HAVE_STATIC_ASSERT.
14983         (verify_expr, verify): Don’t bother trying to copy the expression
14984         into the diagnostic, since 1-argument static_assert doesn’t.
14985         (verify): Prefer 1-argument _Static_assert if it works.
14986         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
14988 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14990         Fix _GL_HAVE__STATIC_ASSERT typo
14991         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
14992         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
14994 2019-05-05  Bruno Haible  <bruno@clisp.org>
14996         wcwidth: Ensure width 1, not 2, for ambiguous characters.
14997         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
14998         via Akim Demaille <akim.demaille@gmail.com>.
14999         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
15000         en_US.UTF-8 locale, since that is more likely to be present than an
15001         fr_FR.UTF-8 locale.
15002         * tests/test-wcwidth.c (main): Check the width of U+2202.
15003         * doc/posix-functions/wcwidth.texi: Mention the issue.
15005 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
15007         Port manywarnings to GCC 9
15008         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
15009         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
15010         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
15011         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
15012         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
15013         --help=warnings output.
15014         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
15015         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
15016         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
15018 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15020         Sync lib/mktime-internal.h from glibc
15021         * config/srclist.txt: Add entry for lib/mktime-internal.h.
15022         * lib/mktime-internal.h: Autoupdate.
15024 2019-04-28  Bruno Haible  <bruno@clisp.org>
15026         tls tests: Prevent that the test takes too long.
15027         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
15028         (main): Let the test fail if it takes more than 10 minutes.
15029         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
15031 2019-04-27  Bruno Haible  <bruno@clisp.org>
15033         lock tests: Prevent that the test takes too long.
15034         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
15035         (main): Let the test fail if it takes more than 10 minutes.
15036         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
15038 2019-04-27  Bruno Haible  <bruno@clisp.org>
15040         localename: Fix crash on mingw (regression from 2018-11-23).
15041         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
15042         locale name that is null.
15044 2019-04-27  Bruno Haible  <bruno@clisp.org>
15046         Fix gcc warnings on 64-bit mode mingw.
15047         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
15048         * lib/gl_array_list.c: Likewise.
15049         * lib/gl_array_map.c: Likewise.
15050         * lib/gl_array_set.c: Likewise.
15051         * lib/gl_carray_list.c: Likewise.
15052         * lib/gl_sublist.c: Likewise.
15053         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
15054         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
15055         * lib/gl_hash_map.c (uintptr_t): Likewise.
15056         * lib/gl_hash_set.c (uintptr_t): Likewise.
15057         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
15058         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
15059         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
15060         * lib/iconv.c (uintptr_t): Likewise.
15061         * lib/iconv_close.c (uintptr_t): Likewise.
15062         * tests/test-lock.c: Include <stdint.h>.
15063         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
15064         'long'.
15065         * modules/clean-temp (Depends-on): Add stdint.
15066         * modules/array-list (Depends-on): Likewise.
15067         * modules/array-map (Depends-on): Likewise.
15068         * modules/array-set (Depends-on): Likewise.
15069         * modules/carray-list (Depends-on): Likewise.
15070         * modules/sublist (Depends-on): Likewise.
15071         * modules/lock-tests (Depends-on): Likewise.
15073 2019-04-27  Bruno Haible  <bruno@clisp.org>
15075         error: Tweak indentation.
15076         * lib/error.c: Correct indentation.
15078 2019-04-27  Bruno Haible  <bruno@clisp.org>
15080         term-style-control: Fix gcc warning on mingw.
15081         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
15082         of i.
15084 2019-04-26  Bruno Haible  <bruno@clisp.org>
15086         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
15087         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
15089 2019-04-26  Bruno Haible  <bruno@clisp.org>
15091         relocatable-prog: Fix gcc warning on mingw.
15092         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
15093         on EMX.
15095 2019-04-02  Bruno Haible  <bruno@clisp.org>
15097         gitsub.sh: New file.
15098         * top/gitsub.sh: New file.
15100 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
15102         argmatch: use void* for raw memory pointers
15103         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
15104         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
15105         to "values", keep char* for strings.
15107 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
15109         prefix-gnulib-mk: fix the support for gnulib-po
15110         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
15111         Don't touch HAVE_* variables.
15112         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
15114 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
15116         di-set: allow free with 'ino_map' being NULL.
15117         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
15118         is NULL.  Bug introduced in commit 3703dbbe88dd.
15119         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
15120         as a test.
15122 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
15124         * lib/str-two-way.h: Fix comment typo.
15126 2019-04-13  Bruno Haible  <bruno@clisp.org>
15128         x-to-1: Restore ability to use original calling convention.
15129         * build-aux/x-to-1.in: Add comments. Accept the original form of
15130         HELP2MAN argument as well as the form expected since 2012-12-12.
15132 2019-04-13  Bruno Haible  <bruno@clisp.org>
15134         x-to-1: Avoid failure due to missing perl modules.
15135         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
15136         needs are installed.
15138 2019-04-13  Bruno Haible  <bruno@clisp.org>
15140         openmp-init: New module.
15141         * modules/openmp-init: New file.
15142         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
15143         the changes from 2019-04-09.
15145 2019-04-12  Bruno Haible  <bruno@clisp.org>
15147         signbit: Fix compilation error when gnulib's math.h exists twice.
15148         * lib/math.in.h (GNULIB_defined_signbit): New macro.
15150 2019-04-12  Bruno Haible  <bruno@clisp.org>
15152         openmp: Fix compilation error on platforms without OpenMP.
15153         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
15155 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
15157         mountlist: make parsing /proc/self/mountinfo more robust
15158         Cater for the following issues with mountinfo parsing (the first
15159         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
15160         in <https://bugs.gnu.org/35137>).
15161         1. The fields source, target, mntroot and fstype may contain characters
15162         like '\r'; sscanf(3) fails to read such values with the %s format
15163         specifier because it would stop at such characters.
15164         Example: "mount -t tmpfs tmpfs /foo^Mbar".
15165         The only true separator in that file is the ' ' character.
15166         2. The source field may be an empty string, which happens e.g. with
15167         "mount -t tmpfs '' /target".
15168         3. The fstype field may contain mangled characters as well which need
15169         unescaping.
15170         * lib/mountlist.c (terminate_at_blank): Add utility function.
15171         (read_file_system_list): In the block trying to read the mountinfo file,
15172         avoid using sscanf(3) with %s format; instead, parse the above fields
15173         separated by spaces one by one.
15174         This also handles the case when the source field is an empty string.
15175         Unescape the fstype field.
15177 2019-04-09  Bruno Haible  <bruno@clisp.org>
15179         openmp: Add workaround for 32-bit programs on AIX.
15180         * lib/omp.in.h: New file.
15181         * lib/omp-init.c: New file, based on lib/nproc.c.
15182         * m4/omp_h.m4: New file.
15183         * modules/openmp (Files): Add them.
15184         (Depends-on): Add include_next, c-ctype, setenv.
15185         (configure.ac): Invoke gl_OMP_H.
15186         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
15187         (Include): Mention <omp.h>.
15189 2019-04-09  Bruno Haible  <bruno@clisp.org>
15191         nproc: Fix return value for privileged processes.
15192         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
15193         getpid().
15195 2019-04-07  Bruno Haible  <bruno@clisp.org>
15197         Add copyright notices in several files.
15198         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
15199         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
15200         * lib/libunistring.valgrind: Likewise.
15201         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
15202         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
15203         * lib/memchr.valgrind: Likewise.
15204         * lib/memchr2.valgrind: Likewise.
15205         * lib/rawmemchr.valgrind: Likewise.
15206         * lib/relocatable.valgrind: Likewise.
15207         * lib/strchrnul.valgrind: Likewise.
15209 2019-03-25  Bruno Haible  <bruno@clisp.org>
15211         term-style-control tests: Fix link error.
15212         Reported by Tom G. Christensen in
15213         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
15214         * modules/term-style-control-tests (Makefile.am): Link
15215         test-term-style-control-hello and test-term-style-control-yes against
15216         LIBINTL.
15218 2019-03-24  Bruno Haible  <bruno@clisp.org>
15220         term-style-control: Add tests.
15221         * tests/test-term-style-control-hello.c: New file.
15222         * tests/test-term-style-control-yes.c: New file.
15223         * modules/term-style-control-tests: New file.
15225         term-style-control: New module.
15226         * lib/term-style-control.h: New file, based on libtextstyle's
15227         term-ostream.oo.h and term-ostream.oo.c.
15228         * lib/term-style-control.c: New file, based on libtextstyle's
15229         term-ostream.oo.c.
15230         * modules/term-style-control: New file.
15232 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15234         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
15235         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
15236         C++98 appears to be supported by Clang, but not by GCC nor ICC.
15238 2019-03-23  Bruno Haible  <bruno@clisp.org>
15240         Support cross-compilation to musl libc.
15241         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
15242         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
15243         musl libc.
15244         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15245         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
15246         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15247         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15248         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15249         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
15250         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15251         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15252         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15253         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15254         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
15255         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
15256         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15257         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15258         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15259         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15260         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15261         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15262         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
15263         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15264         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
15265         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15266         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
15267         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15268         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
15269         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15270         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15271         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15272         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
15273         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15274         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15275         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15276         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
15277         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15278         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15279         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
15280         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15281         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15282         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15283         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15284         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15285         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
15286         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
15287         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15288         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15289         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15290         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15291         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
15292         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
15293         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
15294         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
15295         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
15296         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15297         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
15298         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15299         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
15300         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15301         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15302         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15303         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
15304         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15305         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15306         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15307         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
15308         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15309         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15310         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15311         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
15312         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15313         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
15314         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15315         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15316         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15317         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
15318         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
15319         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
15320         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15321         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15323 2019-03-23  Bruno Haible  <bruno@clisp.org>
15325         posix_spawn_file_actions_*: Document musl libc bugs.
15326         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
15327         the bug.
15328         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
15329         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
15330         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
15331         cross-compiling to a musl system, guess no.
15332         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
15333         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
15335 2019-03-23  Bruno Haible  <bruno@clisp.org>
15337         futimens: Document musl libc bug.
15338         * doc/posix-functions/futimens.texi: Mention the bug.
15339         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
15340         cross-compiling, guess no on glibc and musl systems.
15342 2019-03-23  Bruno Haible  <bruno@clisp.org>
15344         Clarify that cross-compilation guesses are guesses.
15345         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
15346         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
15347         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
15348         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
15349         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
15350         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
15351         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
15352         gl_cv_glob_lists_symlinks.
15353         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
15354         'guessing ' to ac_cv_func_malloc_0_nonnull.
15355         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
15356         'guessing ' to ac_cv_func_realloc_0_nonnull.
15357         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
15358         'guessing ' to gl_cv_func_poll.
15359         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
15360         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
15361         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
15363 2019-03-23  Bruno Haible  <bruno@clisp.org>
15365         strtold: Fix typo.
15366         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
15368 2019-03-23  Bruno Haible  <bruno@clisp.org>
15370         noreturn: In C++ mode with clang, use _Noreturn as fallback.
15371         Reported by Akim Demaille.
15372         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
15373         [[noreturn]] would not work, use _Noreturn instead.
15375 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15377         libtextstyle-optional: Fix compiler warnings.
15378         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
15379         as unused.
15381 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15383         bitset: fix memory leaks
15384         Reported by Bruno Haible.
15385         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
15386         * lib/bitset/vector.c (vbitset_free): New.
15387         (vbitset_vtable): Use it.
15389 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15391         bitset: minor changes
15392         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
15393         * lib/bitset/table.c: Formatting changes.
15394         Remove useless braces.
15395         Prefer using else in cascades of if/else-if with returns.
15396         * lib/bitset/vector.c: Reduce scopes.
15398 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15400         bitset: expose bitset_resize
15401         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
15402         * tests/test-bitset.c (check_attributes): Check bitset_resize.
15403         (main): Use a variable bitset as reference, since fixed does not support resize.
15405 2019-03-19  Bruno Haible  <bruno@clisp.org>
15407         doc: Document the 'stdnoreturn' and 'noreturn' modules.
15408         Reported by Akim Demaille.
15409         * doc/noreturn.texi: New file.
15410         * doc/gnulib.texi: Include it.
15412 2019-03-19  Bruno Haible  <bruno@clisp.org>
15414         doc: Document how to use 'static inline'.
15415         * doc/static-inline.texi: New file.
15416         * doc/gnulib.texi: Include it.
15418 2019-03-19  Bruno Haible  <bruno@clisp.org>
15420         libtextstyle-optional: Add tests.
15421         * tests/test-libtextstyle.c: New file, based on libtextstyle's
15422         adhoc-tests/hello.c.
15423         * tests/test-libtextstyle-default.css: New file, copied from
15424         libtextstyle's adhoc-tests/hello-default.css.
15425         * modules/libtextstyle-optional-tests: New file.
15427         libtextstyle-optional: New module.
15428         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
15429         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
15430         * modules/libtextstyle-optional: New file.
15432 2019-03-19  Bruno Haible  <bruno@clisp.org>
15434         c-stack: Make signal handlers more reliable.
15435         * lib/c-stack.c (progname): New variable.
15436         (die): Use it.
15437         (c_stack_action): Initialize it.
15438         (segv_handler): Save and restore errno.
15440 2019-03-19  Bruno Haible  <bruno@clisp.org>
15442         Help making signal handlers more reliable.
15443         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
15444         _GL_ASYNC_SAFE into config.h.
15445         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
15446         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
15447         argument.
15448         * lib/fatal-signal.c (action_t, uninstall_handlers,
15449         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
15450         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
15451         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
15452         _GL_ASYNC_SAFE.
15453         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
15454         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
15456 2019-03-18  Bruno Haible  <bruno@clisp.org>
15458         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
15459         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
15460         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
15462 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15464         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
15465         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
15466         GCC 4.8.
15468 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
15470         fts: minor simplification
15471         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
15473 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15475         bitset, timevar: Depend on c99.
15476         Reported by Bruno Haible.
15477         * modules/bitset, modules/timevar (Depends-on): Add c99.
15479 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15481         bitset: a bit (...) more tests
15482         * tests/test-bitset.c (check_attributes): Check zero and ones.
15484 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15486         bitset: fix overflows.
15487         Reported by Bruno Haible.
15488         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
15489         * lib/bitset/table.c (tbitset_test): last_bit is the position of
15490         the bit in the array of bitset_word, so be sure to take its modulo
15491         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
15492         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
15494 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
15496         bitset: style changes.
15497         * lib/bitset/table.c: Use NULL, not 0, for pointers.
15498         Formatting changes.
15499         (tbitset_list): Reduce scopes.
15501 2019-03-16  Bruno Haible  <bruno@clisp.org>
15503         fatal-signal: Pass the signal number to the action.
15504         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
15505         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
15506         (fatal_signal_handler): Pass the signal number to the action.
15507         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
15508         signal number as parameter.
15509         (create_temp_dir): Update.
15510         * lib/wait-process.c (cleanup_slaves_action): New function.
15511         (register_slave_subprocess): Update at_fatal_signal invocation.
15512         * NEWS: Mention the change.
15514 2019-03-16  Bruno Haible  <bruno@clisp.org>
15516         fatal-signal: Add function that lists the fatal signals.
15517         * lib/fatal-signal.h (get_fatal_signals): New declaration.
15518         * lib/fatal-signal.c (get_fatal_signals): New function.
15520 2019-03-14  Bruno Haible  <bruno@clisp.org>
15522         isatty: Make it return true in Cygwin consoles on native Windows.
15523         * lib/isatty.c: Include <string.h>.
15524         (GetProcAddress): New macro.
15525         (GetNamedPipeClientProcessIdFuncType): New type.
15526         (GetNamedPipeClientProcessIdFunc): New variable.
15527         (QueryFullProcessImageNameFuncType): New type.
15528         (QueryFullProcessImageNameFunc): New variable.
15529         (initialized): New variable.
15530         (initialize): New function.
15531         (IsCygwinConsoleHandle): New function.
15532         (isatty): Invoke it.
15533         * doc/posix-functions/isatty.texi: Mention the issue.
15535 2019-03-14  Bruno Haible  <bruno@clisp.org>
15537         all: Update URLs to msdn.microsoft.com.
15538         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
15539         was moved to docs.microsoft.com.
15541 2019-03-13  Bruno Haible  <bruno@clisp.org>
15543         gnulib-tool: Clarify the coding style.
15544         Suggested by Pavel Raiskup <praiskup@redhat.com>.
15545         * gnulib-tool: Add comment about coding style.
15547 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15549         strtod: fix clash with strtold
15550         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
15551         * lib/strtod.c (compute_minus_zero, minus_zero):
15552         Simplify by remving the macro / external variable,
15553         and having just a function.  User changed.  This avoids
15554         the need for an external variable that might clash.
15556 2019-03-10  Bruno Haible  <bruno@clisp.org>
15558         alloca-opt: Fix conflict mingw's new <alloca.h> file.
15559         Reported by Eli Zaretskii <eliz@gnu.org>.
15560         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
15561         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
15562         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
15564 2019-03-10  Bruno Haible  <bruno@clisp.org>
15566         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
15567         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
15568         is in use.
15569         * tests/test-printf-posix2.c: Likewise.
15571 2019-03-10  Bruno Haible  <bruno@clisp.org>
15573         uninorm tests: Free allocated memory.
15574         * tests/uninorm/test-u32-normalize-big.h
15575         (struct normalization_test_file): Remove 'const' from allocated member.
15576         (free_normalization_test_file): New declaration.
15577         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
15578         memory.
15579         (free_normalization_test_file): New function.
15580         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
15581         'struct normalization_test_file' contents.
15582         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
15583         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
15584         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
15586 2019-03-10  Bruno Haible  <bruno@clisp.org>
15588         di-set: Fix memory leak.
15589         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
15590         not free().
15592 2019-03-10  Bruno Haible  <bruno@clisp.org>
15594         tests: Free allocated memory.
15595         Reported by <deltatau@protonmail.com> via Assaf Gordon.
15596         * tests/test-astrxfrm.c (main): Free allocated memory.
15597         * tests/test-bitset.c (compare, check_attributes): Free allocated
15598         bitsets.
15599         * tests/test-filenamecat.c (main): Free allocated memory.
15600         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
15601         * tests/test-freadptr.c (main): Likewise.
15602         * tests/test-freadptr2.c (main): Free allocated memory.
15603         * tests/test-freadseek.c (main): Likewise.
15604         * tests/test-gc-arcfour.c (main): Close allocated context.
15605         * tests/test-gc-arctwo.c (main): Likewise.
15606         * tests/test-gc-des.c (main): Close all allocated contexts.
15607         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
15608         * tests/test-pipe-filter-ii1.c (main): Likewise.
15609         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
15610         allocated file actions.
15611         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
15612         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
15613         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
15614         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
15615         * tests/test-strfmon_l.c (main): Free allocated locales.
15616         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
15617         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
15618         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15619         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15620         * tests/unistr/test-chr.h (main): Free input32.
15621         * tests/unistr/test-strchr.h (test_strchr): Likewise.
15623 2019-03-10  Bruno Haible  <bruno@clisp.org>
15625         tests: Prepare for using valgrind.
15626         * tests/*.sh: Invoke all test programs through ${CHECKER}.
15627         * tests/*/*.sh: Likewise.
15628         * tests/test-freadptr.c (main): Update accordingly.
15629         * tests/test-freadseek.c (main): Likewise.
15631 2019-03-09  Bruno Haible  <bruno@clisp.org>
15633         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
15634         * lib/get-rusage-as.c (get_rusage_as): When compiled by
15635         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
15636         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
15637         before exiting.
15639 2019-03-09  Jim Meyering  <meyering@fb.com>
15641         test-userspec.c: don't print NULL
15642         * tests/test-userspec.c (main): A test release of gcc,
15643         9.0.1 20190310, warned that this test would attempt to
15644         print a NULL pointer via a %s printf format.  Fix that
15645         and remove the unnecessary preceding "!diag" conjunct.
15646         Also add a comment.
15648 2019-03-03  Bruno Haible  <bruno@clisp.org>
15650         getloadavg: Write NULL for the null pointer.
15651         Reported by Michal Privoznik <mprivozn@redhat.com>.
15652         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
15654 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
15656         alloca, tsearch-tests: Write NULL for the null pointer.
15657         * lib/alloca.c (i00afunc): Write NULL instead of 0.
15658         * tests/test-tsearch.c (mangle_tree): Likewise.
15660 2019-03-09  Bruno Haible  <bruno@clisp.org>
15662         strfmon_l: Fix -fsanitize=address finding.
15663         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
15664         <string.h>.
15665         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
15666         (directive_t, directives_t): New types.
15667         (fmon_parse): New function.
15668         (rpl_strfmon_l): Don't call va_arg more often than needed for the
15669         format string. Consume 'long double' arguments in places where the
15670         format string indicates so.
15671         * modules/strfmon_l (Depends-on): Add 'stdbool'.
15673 2019-03-09  Bruno Haible  <bruno@clisp.org>
15675         crypto/des: Fix undefined behaviour.
15676         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
15677         shift operations on 'int'.
15679 2019-03-09  Bruno Haible  <bruno@clisp.org>
15681         Fix undefined behaviour.
15682         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
15683         'unsigned int', to avoid shift operations on 'int'.
15684         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
15685         * tests/test-count-leading-zeros.c (main): Use a random number that has
15686         as many bits as TYPE, not only 2*15 or 2*31 bits.
15687         * tests/test-count-trailing-zeros.c (main): Likewise.
15688         * tests/test-count-one-bits.c (main): Likewise.
15689         * tests/test-memmem.c: Don't include "null-ptr.h".
15690         (main): Use zerosize_ptr() instead of null_ptr().
15691         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
15693 2019-03-08  Bruno Haible  <bruno@clisp.org>
15695         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
15696         Reported by Jeffrey Walton <noloader@gmail.com>.
15697         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
15698         invoke memset with a zero size.
15699         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
15700         Likewise.
15701         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
15702         Adjust accordingly.
15704 2019-03-08  Bruno Haible  <bruno@clisp.org>
15706         unistr/*, uniconv/*: Fix undefined behaviour.
15707         Reported by Jeffrey Walton <noloader@gmail.com>.
15708         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
15709         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
15710         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
15711         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15713 2019-03-08  Bruno Haible  <bruno@clisp.org>
15715         unistr/u8-cmp: Fix undefined behaviour.
15716         Reported by Jeffrey Walton <noloader@gmail.com>.
15717         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
15719 2019-03-08  Bruno Haible  <bruno@clisp.org>
15721         unictype/numeric: Fix undefined behaviour.
15722         Reported by Jeffrey Walton <noloader@gmail.com>.
15723         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
15724         on shift overflow, caught by "gcc -fsanitize=undefined".
15725         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
15726         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
15727         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
15729 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
15731         git-version-gen: fix --version copyright year
15732         * build-aux/git-version-gen, build-aux/move-if-change (version):
15733         --version output copyright year is now taken from script year,
15734         so that it no longer needs to be updated by hand.
15736 2019-03-04  Bruno Haible  <bruno@clisp.org>
15738         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
15739         This approach supports relocatable installation of shared libraries
15740         which depend on other shared libraries from the same package.
15741         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15742         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
15743         wrapper around the original LIBTOOL.
15744         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
15745         token '@loader_path' instead of '$ORIGIN'.
15746         * build-aux/libtool-reloc: New file.
15747         * modules/relocatable-prog (Files): Add it.
15748         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15749         the recent changes. Document the need to set the *_LDFLAGS of libraries.
15750         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
15751         Makefile.am, not in configure.ac.
15753 2019-03-04  Bruno Haible  <bruno@clisp.org>
15755         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
15756         * build-aux/install-reloc: Revert change.
15757         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
15759 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15761         nstrftime: support the ‘+’ flag
15762         * lib/nstrftime.c (add, __strftime_internal):
15763         Add support for the ‘+’ flag introduced in POSIX.1-2017.
15764         (__strftime_internal): New arg ‘width’.  All uses changed.
15765         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
15767 2019-02-24  Bruno Haible  <bruno@clisp.org>
15769         relocatable-prog: Improve verbose output.
15770         * build-aux/install-reloc (func_verbose): Escape characters that would
15771         be interpreted by the shell.
15773 2019-02-24  Bruno Haible  <bruno@clisp.org>
15775         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
15776         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
15777         "sys/stat.h".
15778         * lib/lstat.c: Likewise.
15779         * lib/fstat.c: Likewise.
15780         * lib/fstatat.c: Likewise.
15782 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
15784         long-options: add parse_gnu_standard_options_only
15785         Discussed in https://bugs.gnu.org/33468 .
15787         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
15788         (parse_gnu_standard_options_only): Add function to process
15789         the GNU default options --help and --version and fail for
15790         any other unknown long or short option. See
15791         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
15792         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
15793         * modules/long-options (depends-on): Add stdbool, exitfail.
15794         * top/maint.mk (sc_prohibit_long_options_without_use): Update
15795         syntax-check rule, add new function name.
15797 2019-02-23  Bruno Haible  <bruno@clisp.org>
15799         relocatable-prog: Update documentation.
15800         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15801         the recent changes.
15803 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
15805         nstrftime: tweak arg order
15806         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
15807         All callers changed.  Suggested by TAMUKI Shoichi in:
15808         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
15810 2019-02-23  Bruno Haible  <bruno@clisp.org>
15812         relocatable-prog: Use wrapper-free installation also on Mac OS X.
15813         Reported by Paul Smith <psmith@gnu.org>.
15814         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
15815         (func_relativize): New function, from gnulib-tool.
15816         Handle mode 'macosx' through invocations of 'otool' and
15817         'install_name_tool'.
15818         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15819         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
15820         'install-reloc' invocation with mode 'macosx'.
15822 2019-02-23  Bruno Haible  <bruno@clisp.org>
15824         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
15825         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15826         Hurd with glibc >= 2.27.
15828 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
15830         nstrftime: merge glibc strftime changes
15831         This incorporates:
15832         2019-02-11 Fix a few whitespace arrangement inconsistencies
15833         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
15834         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
15835         2019-01-11 strftime: use the "L_" macro with character literals
15836         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
15837         callers changed.  Default width of %Ey is now 2.  This is needed
15838         for proper handling of Japanese dates starting on 2019-05-01.
15840 2019-02-19  Bruno Haible  <bruno@clisp.org>
15842         relocatable-prog: Use $ORIGIN trick on more platforms.
15843         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15844         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
15845         Solaris >= 10, Haiku. But don't use it on Android.
15846         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
15847         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
15849 2019-02-19  Bruno Haible  <bruno@clisp.org>
15851         progreloc: Speed up executable lookup on various platforms.
15852         * lib/progreloc.c: Include <errno.h>.
15853         (safe_read, full_read): New functions.
15854         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
15855         prefer the information from the /proc file system to a PATH search.
15857 2019-02-19  Bruno Haible  <bruno@clisp.org>
15859         progreloc: Simplify code for Android.
15860         * lib/progreloc.c (executable_fd): Don't define on Android.
15861         (maybe_executable, find_executable): Don't use executable_fd on Android.
15863 2019-02-15  Bruno Haible  <bruno@clisp.org>
15865         gnulib-tool: Support --import with just a few tests, not --with-tests.
15866         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
15867         'inctests' when generating files; use 'inctests' only for computing the
15868         transitive closure.
15870 2019-02-14  Bruno Haible  <bruno@clisp.org>
15872         gnulib-tool: Improve handling of multiple --local-dir options.
15873         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
15874         options work.
15875         * gnulib-tool (func_path_prepend): Remove function.
15876         (func_path_foreach): Make IFS handling more robust.
15877         (local_gnulib_path): Collect --local-dir values using func_path_append,
15878         not func_path_prepend.
15879         (func_determine_path_separator): Make IFS handling more robust.
15880         (func_lookup_file_cb): New function.
15881         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
15882         func_lookup_local_file. Apply the patches in the reverse order of their
15883         origin in $local_gnulib_path.
15884         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
15885         * NEWS: Mention that the first --local-dir option is the one with
15886         highest priority.
15888 2019-02-10  Bruno Haible  <bruno@clisp.org>
15890         libtextstyle: New module.
15891         * m4/libtextstyle.m4: New file.
15892         * modules/libtextstyle: New file.
15894 2019-02-05  Bruno Haible  <bruno@clisp.org>
15896         declared.sh: Fix bug with variables of pointer type.
15897         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
15898         before the symbol to be omitted if the preceding character is a '*'.
15900 2019-02-04  Bruno Haible  <bruno@clisp.org>
15902         Add script for running tests under valgrind.
15903         * build-aux/run-test: New file, from GNU libunistring.
15904         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
15905         as well.
15907 2019-02-04  Bruno Haible  <bruno@clisp.org>
15909         declared.sh: Fix --version output.
15910         * build-aux/declared.sh (func_version): Update package name.
15912 2019-02-03  Bruno Haible  <bruno@clisp.org>
15914         Add script for determining the set of symbols to export from a library.
15915         * build-aux/declared.sh: New file, from GNU libunistring.
15916         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
15917         Mention it.
15919 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
15921         vla: add commentary about VLA_ELEMS
15922         * lib/vla.h (VLA_ELEMS): Add commentary,
15923         some inspired by Bruno Haible’s proposal in:
15924         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
15926         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
15927         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
15928         assume the C99 signatures for strtod and strtold.  Programs that
15929         require stricter adherence to C99 should also use the strtod and
15930         strtold modules as needed, and we no longer need the
15931         HAVE_C99_STRTOLD macro.
15932         * NEWS: Mention this.
15933         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
15934         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
15935         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
15936         (Files): Remove m4/c-strtod.m4.
15937         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
15938         exists.
15940 2019-02-02  Bruno Haible  <bruno@clisp.org>
15942         fma: Improve code style.
15943         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
15945 2019-02-02  Colin Watson  <cjwatson@debian.org>
15947         *-map tests: Fix compilation error.
15948         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
15949         * tests/test-hash_map.c: Likewise.
15950         * tests/test-linkedhash_map.c: Likewise.
15952 2019-01-31  Bruno Haible  <bruno@clisp.org>
15954         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
15955         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
15956         GNULIB_defined_strtold_function): New macros.
15957         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
15958         (STRTOD): Ignore HAVE_C99_STRTOLD.
15959         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
15960         deemed buggy. But do use it on platforms where uselocale exists and is
15961         usable.
15962         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
15963         deemed buggy. On platforms where uselocale exists and is usable, use
15964         uselocale and strtod/strtold.
15965         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
15966         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
15967         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
15968         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
15969         (Depends-on): Add strtod.
15970         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
15971         (Depends-on): Add strtold.
15973 2019-01-31  Bruno Haible  <bruno@clisp.org>
15975         strtod, strtold: Use the locale's decimal point.
15976         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
15977         (decimal_point_char): New function, copied from lib/vasnprintf.c.
15978         (parse_number): Add a radixchar argument. Use it instead of '.'.
15979         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
15980         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
15981         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
15982         * tests/test-strtod1.c: New file.
15983         * tests/test-strtod1.sh: New file.
15984         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
15985         locale-fr.m4 and its dependencies.
15986         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15987         (Makefile.am): Arrange to compile test-strtod1.c and run
15988         test-strtod1.sh.
15989         * tests/test-strtold1.c: New file.
15990         * tests/test-strtold1.sh: New file.
15991         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
15992         locale-fr.m4 and its dependencies.
15993         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15994         (Makefile.am): Arrange to compile test-strtold1.c and run
15995         test-strtold1.sh.
15997 2019-01-31  Bruno Haible  <bruno@clisp.org>
15999         strtod, strtold tests: Simplify tests.
16000         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
16001         * tests/test-strtold.c (main): Likewise.
16003 2019-01-31  Bruno Haible  <bruno@clisp.org>
16005         strtod, strtold: Avoid unnecessary rounding errors.
16006         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
16007         decimal to DOUBLE conversion.
16009 2019-01-31  Bruno Haible  <bruno@clisp.org>
16011         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
16012         * lib/strtod.c (STRTOD): When there is an extra character after the
16013         exponent marker 'p', reparse the number.
16014         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
16015         * doc/posix-functions/strtold.texi: Likewise.
16017 2019-01-29  Bruno Haible  <bruno@clisp.org>
16019         strtold: Add tests.
16020         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
16021         * modules/strtold-tests: New file.
16023 2019-01-29  Bruno Haible  <bruno@clisp.org>
16025         strtold: New module.
16026         * lib/stdlib.in.h (strtold): New declaration.
16027         * lib/strtold.c: New file.
16028         * lib/strtod.c: Consider USE_LONG_DOUBLE.
16029         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
16030         USE_LDEXP): New macros.
16031         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
16032         USE_LONG_DOUBLE.
16033         (underlying_strtod): Remove function. Replace with some macros.
16034         Re-add the code for a missing underlying function that was removed on
16035         2013-02-19.
16036         * m4/strtold.m4: New file.
16037         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
16038         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
16039         REPLACE_STRTOLD.
16040         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
16041         REPLACE_STRTOLD.
16042         * modules/strtold: New file.
16043         * doc/posix-functions/strtold.texi: Document the new module.
16045 2019-01-29  Bruno Haible  <bruno@clisp.org>
16047         strtod: Fix compilation error on IRIX 6.5.
16048         * modules/strtod (Depends-on): Add 'math'.
16050 2019-01-28  Bruno Haible  <bruno@clisp.org>
16052         Fix build error when building a shared libunistring on Android.
16053         * tests/uninorm/test-nfc.c (n): Don't define on Android.
16054         (main): Add 'volatile', to defeat a GCC optimization that would
16055         eliminate the reference.
16056         * tests/uninorm/test-nfd.c (n): Don't define on Android.
16057         (main): Add 'volatile', to defeat a GCC optimization that would
16058         eliminate the reference.
16059         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
16060         (main): Add 'volatile', to defeat a GCC optimization that would
16061         eliminate the reference.
16062         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
16063         (main): Add 'volatile', to defeat a GCC optimization that would
16064         eliminate the reference.
16066 2019-01-27  Bruno Haible  <bruno@clisp.org>
16068         Avoid build errors due to wrong references between modules.
16069         * lib/uninorm/canonical-decomposition.c: Include
16070         "uninorm/decomposition-table.h", not "decomposition-table.h".
16071         * lib/uninorm/decomposition.c: Likewise.
16072         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
16073         not "decompose-internal.h".
16074         * lib/uninorm/u16-normalize.c: Likewise.
16075         * lib/uninorm/u32-normalize.c: Likewise.
16076         * lib/uninorm/uninorm-filter.c: Likewise.
16077         * lib/uninorm/nfkc.c: Likewise.
16078         * lib/uninorm/nfkd.c: Likewise.
16079         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
16080         "caseprop.h".
16081         * lib/unicase/u8-ct-totitle.c: Likewise.
16082         * lib/unicase/u8-prefix-context.c: Likewise.
16083         * lib/unicase/u8-suffix-context.c: Likewise.
16084         * lib/unicase/u16-casemap.c: Likewise.
16085         * lib/unicase/u16-ct-totitle.c: Likewise.
16086         * lib/unicase/u16-prefix-context.c: Likewise.
16087         * lib/unicase/u16-suffix-context.c: Likewise.
16088         * lib/unicase/u32-casemap.c: Likewise.
16089         * lib/unicase/u32-ct-totitle.c: Likewise.
16090         * lib/unicase/u32-prefix-context.c: Likewise.
16091         * lib/unicase/u32-suffix-context.c: Likewise.
16092         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
16093         "unicasemap.h".
16094         * lib/unicase/u8-toupper.c: Likewise.
16095         * lib/unicase/u8-ct-tolower.c: Likewise.
16096         * lib/unicase/u8-ct-toupper.c: Likewise.
16097         * lib/unicase/u16-tolower.c: Likewise.
16098         * lib/unicase/u16-toupper.c: Likewise.
16099         * lib/unicase/u16-ct-tolower.c: Likewise.
16100         * lib/unicase/u16-ct-toupper.c: Likewise.
16101         * lib/unicase/u32-tolower.c: Likewise.
16102         * lib/unicase/u32-toupper.c: Likewise.
16103         * lib/unicase/u32-ct-tolower.c: Likewise.
16104         * lib/unicase/u32-ct-toupper.c: Likewise.
16105         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
16106         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
16107         * lib/unicase/u16-ct-casefold.c: Likewise.
16108         * lib/unicase/u32-ct-casefold.c: Likewise.
16110 2019-01-27  Bruno Haible  <bruno@clisp.org>
16112         gperf: Fix error when this module is required by some test module.
16113         * modules/gperf (Applicability): Set to 'all'.
16115 2019-01-27  Bruno Haible  <bruno@clisp.org>
16117         tmpfile: Add support for Android.
16118         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
16119         works.
16120         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
16121         Android.
16122         * modules/tmpfile (Depends-on): Add 'stdbool'.
16123         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
16124         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
16126 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
16128         bitsetv: allow free on NULL.
16129         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
16131 2019-01-27  Bruno Haible  <bruno@clisp.org>
16133         test-framework-sh: Improve maintainability.
16134         * tests/init.sh: Clarify what belongs together. Reorder definitions.
16136 2019-01-27  Bruno Haible  <bruno@clisp.org>
16138         tests: Don't assume that /tmp exists.
16139         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
16140         * tests/test-copy-acl-1.sh: Likewise.
16141         * tests/test-file-has-acl-1.sh: Likewise.
16142         * tests/test-copy-file-1.sh: Likewise.
16144 2019-01-27  Bruno Haible  <bruno@clisp.org>
16146         tests: Accommodate a shell that is not in /bin/sh.
16147         * tests/init.sh (setup_): Set srcdir and builddir.
16148         (BOURNE_SHELL): New variable.
16149         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
16150         * modules/file-has-acl-tests (Depends-on): Likewise.
16151         * modules/copy-file-tests (Depends-on): Likewise.
16152         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
16153         scripts through $BOURNE_SHELL.
16154         * tests/test-set-mode-acl-2.sh: Likewise.
16155         * tests/test-copy-acl-1.sh: Likewise.
16156         * tests/test-copy-acl-2.sh: Likewise.
16157         * tests/test-file-has-acl-1.sh: Likewise.
16158         * tests/test-file-has-acl-2.sh: Likewise.
16159         * tests/test-copy-file-1.sh: Likewise.
16160         * tests/test-copy-file-2.sh: Likewise.
16161         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
16162         invoker.
16163         * tests/test-copy-acl.sh (builddir): Likewise.
16164         * tests/test-file-has-acl.sh (builddir): Likewise.
16165         * tests/test-copy-file.sh (builddir): Likewise.
16166         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
16167         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
16168         * tests/test-vc-list-files-git.sh: Likewise.
16170 2019-01-27  Bruno Haible  <bruno@clisp.org>
16172         tests: Fix some "unused variable" warnings.
16173         * tests/test-fts.c (fts_dealloc): Remove unused variable.
16174         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
16175         * tests/test-striconveh.c (main): Move some variable into the
16176         '#if HAVE_ICONV'.
16177         * tests/test-striconveha.c (main): Likewise.
16178         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
16179         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16180         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16181         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
16182         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16183         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16184         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16185         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16186         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16187         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
16188         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
16189         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
16190         * tests/test-tsearch.c (main): Move some variable into the
16191         '#if HAVE_INITSTATE'.
16193 2019-01-27  Bruno Haible  <bruno@clisp.org>
16195         unigbrk/uc-grapheme-breaks: Fix build failure.
16196         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
16197         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
16199 2019-01-27  Bruno Haible  <bruno@clisp.org>
16201         mountlist: Merge two .m4 files.
16202         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
16203         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
16204         * m4/ls-mntd-fs.m4: Remove file.
16205         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
16207 2019-01-27  Bruno Haible  <bruno@clisp.org>
16209         tests: Enable Linux specific tests on Android.
16210         * tests/test-flock.c (main): Treat Android like Linux.
16211         * tests/test-openat-safer.c (main): Likewise.
16213 2019-01-27  Bruno Haible  <bruno@clisp.org>
16215         relocatable-prog: Use Linux code on Android.
16216         * lib/progreloc.c: Treat Android like Linux.
16218 2019-01-26  Bruno Haible  <bruno@clisp.org>
16220         getloadavg: Add support for Android.
16221         * lib/getloadavg.c: Treat Android like Linux.
16223 2019-01-26  Bruno Haible  <bruno@clisp.org>
16225         vma-iter: Add support for Android.
16226         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
16227         * lib/vma-iter.c: Treat Android like Linux.
16228         * lib/get-rusage-data.c (get_rusage_data): Likewise.
16230 2019-01-26  Bruno Haible  <bruno@clisp.org>
16232         fts: Optimize on Android.
16233         * lib/fts.c: Treat Android like Linux.
16235 2019-01-26  Bruno Haible  <bruno@clisp.org>
16237         fts: Add support for Android.
16238         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
16239         defined by this module and the ones in libc.
16240         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
16242 2019-01-26  Bruno Haible  <bruno@clisp.org>
16244         mountlist: Use Linux code on Android.
16245         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
16246         (unescape_tab, read_file_system_list): Enable Linux code on Android
16247         as well.
16248         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
16249         and endmntent.
16250         * modules/mountlist (Depends-on): Add 'getline'.
16252 2019-01-26  Bruno Haible  <bruno@clisp.org>
16254         localename tests: Fix test failure on Android.
16255         * modules/localename-tests (Depends-on): Add 'setlocale'.
16257 2019-01-26  Bruno Haible  <bruno@clisp.org>
16259         mountlist: Port better to Android.
16260         * lib/mountlist.c (MOUNTED): Redefine on Android.
16261         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
16262         Android.
16264 2019-01-26  Bruno Haible  <bruno@clisp.org>
16266         striconveh: Fix use of uninitialized iconv_t.
16267         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
16268         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
16269         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
16271 2019-01-26  Bruno Haible  <bruno@clisp.org>
16273         nonblocking-socket-tests: Fix test failure on Android 4.3.
16274         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
16275         also on Android.
16277 2019-01-26  Bruno Haible  <bruno@clisp.org>
16279         sh-filename: Add support for Android 4.3.
16280         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
16282 2019-01-26  Bruno Haible  <bruno@clisp.org>
16284         ptsname_r: Work around bug on Android 4.3.
16285         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
16286         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
16287         correct.
16288         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
16289         is defined, just fix the return value.
16290         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
16291         The behaviour of musl libc is nothing to be "fixed", since it is
16292         compliant with the next POSIX standard.
16294 2019-01-26  Bruno Haible  <bruno@clisp.org>
16296         ttyname_r: Work around bug on Android 4.3.
16297         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
16298         * lib/ttyname_r.c (ttyname_r): Implement for Android.
16299         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
16300         * doc/posix-functions/ttyname.texi: Likewise.
16302 2019-01-25  Bruno Haible  <bruno@clisp.org>
16304         getprogname: Port to Android 4.3.
16305         * lib/getprogname.c (getprogname): On Android, take only the last
16306         component of __progname.
16308 2019-01-25  Bruno Haible  <bruno@clisp.org>
16310         wcrtomb: Work around bug on Android 4.3.
16311         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
16312         the C locale.
16313         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
16314         which does not have the 'wctomb' function.
16315         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
16316         * tests/test-wcrtomb.c (main): Accept argument '5'.
16317         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
16319 2019-01-25  Bruno Haible  <bruno@clisp.org>
16321         setlocale: Work around bug on Android 4.3.
16322         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
16323         the "C" locale.
16324         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
16325         * doc/posix-functions/setlocale.texi: Mention the Android bug.
16327 2019-01-24  Bruno Haible  <bruno@clisp.org>
16329         memchr: Work around bug on Android <= 5.0.
16330         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
16331         * doc/posix-functions/memchr.texi: Mention the Android bug.
16333 2019-01-24  Bruno Haible  <bruno@clisp.org>
16335         random: Fix compilation error on Android 4.3.
16336         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
16337         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
16338         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
16339         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
16340         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16341         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
16342         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16343         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
16344         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16345         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
16346         REPLACE_INITSTATE, REPLACE_SETSTATE.
16347         * doc/posix-functions/random.texi: Correct the description of the
16348         situation on Android.
16349         * doc/posix-functions/srandom.texi: Likewise.
16350         * doc/posix-functions/rand.texi: Likewise.
16351         * doc/posix-functions/srand.texi: Likewise.
16353 2019-01-24  Bruno Haible  <bruno@clisp.org>
16355         mbtowc: Fix compilation error on Android 4.3.
16356         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
16357         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
16358         HAVE_MBTOWC.
16359         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
16360         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
16361         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
16362         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
16363         * doc/posix-functions/mbtowc.texi: Mention the change.
16365 2019-01-24  Bruno Haible  <bruno@clisp.org>
16367         fdatasync: Fix compilation error on Android 4.3.
16368         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
16369         test whether fdatasync() exists.
16371 2019-01-24  Bruno Haible  <bruno@clisp.org>
16373         unlinkat: Fix compilation error on Android 4.3.
16374         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
16375         also on Android.
16376         * doc/posix-functions/unlinkat.texi: Mention the issue.
16378 2019-01-24  Bruno Haible  <bruno@clisp.org>
16380         renameat: Fix compilation error on Android 4.3.
16381         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
16382         * doc/posix-functions/renameat.texi: Mention the issue.
16384 2019-01-24  Bruno Haible  <bruno@clisp.org>
16386         fchownat: Fix compilation error on Android 4.3.
16387         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
16388         use.
16389         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
16390         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
16391         * doc/posix-functions/fchownat.texi: Mention the issue.
16393 2019-01-23  Bruno Haible  <bruno@clisp.org>
16395         gnulib-tool: Support running testdirs on Android.
16396         * build-aux/test-driver.diff: New file.
16397         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
16398         build-aux/test-driver after running automake.
16400 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16402         relocatable-prog: avoid warnings from Automake
16403         * modules/relocatable-prog: Don't declare PHONY dependencies in
16404         Automake conditionals.
16406 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16408         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
16409         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
16411 2019-01-23  Bruno Haible  <bruno@clisp.org>
16413         threadlib: Revert commit from 2018-06-25. We now have a better fix.
16414         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
16415         preceding -Wl,--as-needed option. Don't check whether the linker
16416         supports --as-needed/--no-as-needed and --push-state/--pop-state.
16418 2019-01-23  Bruno Haible  <bruno@clisp.org>
16420         thread: Force linking with -lpthread, even when --as-needed is in use.
16421         Reported by Richard W.M. Jones <rjones@redhat.com> in
16422         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
16423         * lib/glthread/thread.h (pthread_create): Don't declare weak.
16425 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
16426             Bruno Haible  <bruno@clisp.org>
16428         relocatable: avoid compiler warnings (-Wshadow)
16429         * lib/relocatable.c (compute_curr_prefix): Rename local variables
16430         to avoid name collisions with global variables.
16432 2019-01-22  Bruno Haible  <bruno@clisp.org>
16434         vasnprintf: Don't use %n on Android.
16435         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
16436         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
16437         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
16439 2019-01-22  Bruno Haible  <bruno@clisp.org>
16441         *printf: Support cross-compilation to Android.
16442         * m4/printf.m4: Add cross-compilation guesses for Android.
16444 2019-01-21  Bruno Haible  <bruno@clisp.org>
16446         diacrit: Mark deprecated.
16447         * modules/diacrit (Status, Notice): Mark as deprecated.
16448         * NEWS: Mention it.
16450 2019-01-20  Bruno Haible  <bruno@clisp.org>
16452         rintl: Override broken implementation on NetBSD.
16453         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
16454         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
16455         REPLACE_RINTL.
16456         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
16457         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
16458         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
16459         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
16461 2019-01-20  Bruno Haible  <bruno@clisp.org>
16463         log10l: Work around inaccurate implementation on NetBSD.
16464         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
16465         * lib/log10l.c: Comment out too simplistic override.
16466         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
16468 2019-01-20  Bruno Haible  <bruno@clisp.org>
16470         logl: Work around inaccurate implementation on NetBSD.
16471         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
16472         * lib/logl.c: Comment out unused code.
16473         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
16475 2019-01-20  Bruno Haible  <bruno@clisp.org>
16477         expm1l: Work around inaccurate implementation on NetBSD.
16478         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
16479         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
16480         REPLACE_EXPM1L.
16481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
16482         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
16483         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
16484         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
16486 2019-01-20  Bruno Haible  <bruno@clisp.org>
16488         expl: Work around inaccurate implementation on NetBSD.
16489         * lib/math.in.h (expl): Test also REPLACE_EXPL.
16490         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
16491         REPLACE_EXPL.
16492         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
16493         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
16494         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
16495         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
16497 2019-01-20  Bruno Haible  <bruno@clisp.org>
16499         exp2l: Work around inaccurate implementation on NetBSD.
16500         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
16501         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
16503 2019-01-20  Bruno Haible  <bruno@clisp.org>
16505         floor, floorl: Avoid autoconf warnings.
16506         * modules/floor (configure.ac): Use AC_REQUIRE.
16507         * modules/floorl (configure.ac): Likewise.
16509 2019-01-20  Bruno Haible  <bruno@clisp.org>
16511         Defeat current GCC optimizations in math autoconf tests.
16512         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
16513         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16514         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16515         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16516         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
16517         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
16518         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16519         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16520         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
16521         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
16522         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
16523         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
16524         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
16525         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
16526         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
16527         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
16528         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
16529         * m4/log.m4 (gl_FUNC_LOG): Likewise.
16530         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
16531         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
16532         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
16533         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
16534         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
16535         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
16536         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
16537         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
16538         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
16539         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
16540         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
16541         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
16542         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
16543         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
16544         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16545         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16546         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16547         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16548         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16549         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16551 2019-01-19  Pádraig Brady  <P@draigBrady.com>
16553         gettext: support disabling use of VLAs
16554         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
16556 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16558         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
16559         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
16561 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16563         fcntl: Fix syntax error (regression from 2018-10-05).
16564         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
16566 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16568         relocatable: improve documentation.
16569         * doc/relocatable-maint.texi (Supporting Relocation): For
16570         substitutions performed by config.status, we need more variables
16571         (for instance datarootdir defaults to '${prefix}/share' so we need
16572         prefix).
16574 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16576         backup: update dependencies
16577         * modules/backup-rename (Depends-on): It now depends on opendirat
16578         instead of opendir.  It also uses stdint, and xalloc-oversized.
16579         But no longer dirfd.
16580         * modules/backupfile (Depends-on): Add xalloc-oversized.
16582 2019-01-13  Bruno Haible  <bruno@clisp.org>
16584         getcwd: Fix test failure when building on a Linux 9p file system.
16585         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
16586         EINVAL from mkdir like ENAMETOOLONG.
16587         * tests/test-getcwd.c (test_long_name): Likewise.
16589 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
16591         Fix typos found by codespell.
16592         * lib/*.[hc]: Fix typos in comments.
16593         * pygnulib/*.py: Fix typos in error messages and comments.
16595 2019-01-12  Bruno Haible  <bruno@clisp.org>
16597         doc: Fix documentation about container data types.
16598         Reported by Werner Lemberg <wl@gnu.org>.
16599         * doc/containers.texi (Container data types): Fix typo.
16601 2019-01-10  Bruno Haible  <bruno@clisp.org>
16603         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
16604         Reported by Reuben Thomas <rrt@sc3d.org>.
16605         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
16607 2019-01-06  Bruno Haible  <bruno@clisp.org>
16609         maintainer-makefile: Make the configure.ac section optional.
16610         * top/maint.mk (GREP, SED): Define if not defined.
16612 2019-01-06  Bruno Haible  <bruno@clisp.org>
16614         localename: Assume setlocale function.
16615         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
16616         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
16618 2019-01-06  Bruno Haible  <bruno@clisp.org>
16620         doc: Add documentation about container data types.
16621         * doc/containers.texi: New file.
16622         * doc/gnulib.texi (Particular Modules): Include it.
16624 2019-01-06  Bruno Haible  <bruno@clisp.org>
16626         doc: Update documentation about 'progname' module.
16627         * doc/progname.texi: Rename from doc/error.texi. Change node name and
16628         title. Rewrite.
16629         * doc/gnulib.texi (Particular Modules): Update.
16631 2019-01-06  Bruno Haible  <bruno@clisp.org>
16633         doc: Document the xstdopen and *-safer modules.
16634         * doc/xstdopen.texi: New file.
16635         * doc/gnulib.texi (Particular Modules): Include it.
16637 2019-01-06  Bruno Haible  <bruno@clisp.org>
16639         xstdopen: Add tests.
16640         * tests/test-xstdopen.c: New file.
16641         * tests/test-xstdopen.sh: New file.
16642         * modules/xstdopen-tests: New file.
16644         xstdopen: New module.
16645         * lib/xstdopen.h: New file.
16646         * lib/xstdopen.c: New file.
16647         * modules/xstdopen: New file.
16649 2019-01-06  Bruno Haible  <bruno@clisp.org>
16651         stdopen: Fix compilation error with IRIX cc.
16652         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
16654 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
16656         xfreopen need not include stdio--.h
16657         * lib/xfreopen.c: Do not include stdio--.h.
16659         xfreopen need not depend on freopen-safer
16660         * modules/xfreopen (Depends-on):
16661         Depend on freopen, not freopen-safer.
16663         stdopen: modernize and simplify
16664         * lib/stdopen.c: Update copyright date
16665         Do not include sys/types.h; no longer needed these days.
16666         (stdopen): Use C99-style decl in loop.  Return int errno
16667         value, rather than just a bool.  Do not worry about fd mismatches,
16668         since the caller cares only if 0, 1, 2 are occupied.
16669         * lib/stdopen.h: No need to include <stdbool.h>.
16670         * m4/stdopen.m4: Remove.
16671         * modules/stdopen: New file.
16673         stdopen: copy from last use in coreutils
16674         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
16675         New files, taken from their last commit in coreutils
16676         2007-07-23T12:35:58Z!jim@meyering.net
16677         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
16679 2019-01-05  Bruno Haible  <bruno@clisp.org>
16681         argp: Don't pass an invalid argument to dgettext().
16682         Reported by He X <xw897002528@gmail.com>.
16683         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
16684         dgettext().
16686 2019-01-05  Bruno Haible  <bruno@clisp.org>
16688         argp: Don't pass an invalid argument to dgettext().
16689         Reported by He X <xw897002528@gmail.com>.
16690         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
16691         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
16692         dgettext().
16694 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16696         stdioext: port to newer 32-bit Android
16697         Problem reported by Tom Yan in:
16698         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
16699         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
16700         (fp_) [__ANDROID__]: Use it.
16702 2019-01-04  Bruno Haible  <bruno@clisp.org>
16704         lock: Fix link error with --enable-threads=pth.
16705         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
16706         Mark as weak.
16708 2019-01-04  Bruno Haible  <bruno@clisp.org>
16710         Fix link errors in unit tests.
16711         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16712         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
16713         * modules/array-map-tests (Makefile.am): Link test-array_map against
16714         libintl.
16715         * modules/array-set-tests (Makefile.am): Link test-array_set against
16716         libintl.
16717         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
16718         libintl.
16719         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
16720         libintl.
16721         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
16722         against libintl.
16723         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
16724         against libintl.
16726 2019-01-04  Bruno Haible  <bruno@clisp.org>
16728         Fix incorrect 'Link' sections.
16729         * modules/regex (Link): Mention the link requirement of module 'lock'.
16730         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
16732 2019-01-04  Bruno Haible  <bruno@clisp.org>
16734         Fix some 'Link' sections.
16735         * modules/c-stack (Link): Add link directive from the 'gettext-h'
16736         dependency.
16737         * modules/getaddrinfo (Link): Likewise.
16739 2019-01-04  Bruno Haible  <bruno@clisp.org>
16741         Remove redundant 'Link' sections.
16742         * modules/canon-host (Link): Remove section.
16743         * modules/timevar (Link): Likewise.
16745 2019-01-04  Bruno Haible  <bruno@clisp.org>
16747         Remove incorrect 'Link' sections.
16748         * modules/acl (Link): Remove section. Use combined 'Link' sections from
16749         the dependencies instead.
16750         * modules/crypto/md5 (Link): Likewise.
16751         * modules/crypto/sha1 (Link): Likewise.
16752         * modules/crypto/sha256 (Link): Likewise.
16753         * modules/crypto/sha512 (Link): Likewise.
16754         * modules/faccessat (Link): Likewise.
16755         * modules/fdutimensat (Link): Likewise.
16756         * modules/iconv_open-utf (Link): Likewise.
16757         * modules/propername (Link): Likewise.
16758         * modules/qacl (Link): Likewise.
16759         * modules/unicodeio (Link): Likewise.
16760         * modules/utimecmp (Link): Likewise.
16761         * modules/utimensat (Link): Likewise.
16762         * modules/xstriconv (Link): Likewise.
16763         * modules/xstriconveh (Link): Likewise.
16765 2019-01-04  Bruno Haible  <bruno@clisp.org>
16767         gnulib-tool: New option --extract-recursive-link-directive.
16768         * gnulib-tool (func_usage): Document the new options
16769         --extract-recursive-dependencies, --extract-recursive-link-directive.
16770         (func_verify_module): Document output variables.
16771         (func_get_dependencies_recursively): New function.
16772         (func_get_link_directive_recursively): New function.
16773         Use them to implement the new options
16774         --extract-recursive-dependencies, --extract-recursive-link-directive.
16775         * doc/gnulib-tool.texi (Link-time requirements): New section.
16777 2019-01-04  Bruno Haible  <bruno@clisp.org>
16779         Clarify meaning of 'Link' section in module description.
16780         * doc/gnulib.texi (Module description): Clarify the meaning of the
16781         'Link' section versus the one of the dependencies.
16782         * NEWS: Mention the change.
16784 2019-01-04  Bruno Haible  <bruno@clisp.org>
16786         pselect: Fix module description.
16787         * modules/pselect (Link): Put one link option per line.
16789 2019-01-04  Bruno Haible  <bruno@clisp.org>
16791         cosl: Fix module description.
16792         * modules/cosl (Link): Fix typo.
16793         * modules/mathl (configure.ac): Likewise.
16795 2019-01-04  Bruno Haible  <bruno@clisp.org>
16797         c-xvasprintf: Fix module dependencies.
16798         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
16800 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
16802         bootstrap: die when some submodules are not initialized
16803         * build-aux/bootstrap: Make sure all submodules are initialized.
16805 2019-01-04  Bruno Haible  <bruno@clisp.org>
16807         bitsetv: Fix module dependencies.
16808         * lib/bitsetv.c: Include xalloc.h.
16809         * modules/bitsetv (Depends-on): Add 'xalloc'.
16811 2019-01-04  Bruno Haible  <bruno@clisp.org>
16813         xmemdup0: Remove redundant code.
16814         * lib/xmemdup0.h (xalloc_die): Remove declaration.
16816 2019-01-04  Bruno Haible  <bruno@clisp.org>
16818         backupfile: Fix module dependencies.
16819         * modules/backupfile (Depends-on): Add 'xalloc'.
16821 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16823         bitset, crypto/gc: fix conflicts with Solaris 11
16824         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
16825         avoid clash with Solaris 11 <sys/bitset.h>.
16826         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
16827         with Solaris 11 <xorg/gc.h>.
16829 2019-01-04  Bruno Haible  <bruno@clisp.org>
16831         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
16832         Reported by Andy Fiddaman <andy@omniosce.org>.
16833         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
16835 2019-01-03  Eric Blake  <eblake@redhat.com>
16837         maintainer-makefile: fix typo in previous patch
16838         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
16839         of Roman's work.
16841 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
16843         maintainer-makefile: prefer $(GREP) over grep
16844         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
16845         defined.
16846         * top/maint.mk: Use it everywhere.
16848         maintainer-makefile: split long argument lines
16849         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
16850         it would be too long for exec limits on BSD.
16852 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16854         mkfifo: bring back HAVE_MKFIFO macro
16855         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
16856         Problem reported by Andrew Janke in:
16857         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
16859 2018-12-21  Bruno Haible  <bruno@clisp.org>
16861         Assume Autoconf >= 2.63.
16862         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
16863         versions < 2.60.
16865 2018-12-21  Bruno Haible  <bruno@clisp.org>
16867         memcmp: Mention the clang bug.
16868         * tests/test-memcmp.c: Add comment about a known test failure.
16869         * doc/posix-functions/memcmp.texi: Mention the clang bug.
16871 2018-12-20  Jim Meyering  <meyering@fb.com>
16873         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
16874         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
16875           echo '123-x'|LC_ALL=C grep -E '.\bx'
16876         The goal is to revert the first, but reverting it requires to restore
16877         the function deleted in the second. I ran this to restore the deleted
16878         function:
16879           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
16880             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
16881             | patch -R -p1
16882         * lib/dfa.c (charclass_context): Restore deleted function.
16883         Reverting the primary commit removes this change:
16884         dfa: Simplify a building state
16885         * lib/dfa.c (build_state): Simplify a building state.
16887 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16889         version-etc: allow zero authors
16890         * lib/version-etc.c (version_etc_arn): If no authors are given,
16891         omit authorship info instead of dumping core.
16893 2018-12-19  Bruno Haible  <bruno@clisp.org>
16895         lchown tests: Be more permissive regarding errno values.
16896         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
16897         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
16898         alternative to ENOSYS.
16899         * modules/lchown-tests (Depends-on): Add 'errno'.
16900         * modules/fchownat-tests (Depends-on): Likewise.
16902 2018-12-18  Bruno Haible  <bruno@clisp.org>
16904         duplocale: Avoid test failure on AIX 7.
16905         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
16906         (configure.ac): Invoke gt_FUNC_USELOCALE.
16907         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
16908         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
16909         works.
16911 2018-12-18  Bruno Haible  <bruno@clisp.org>
16913         localename: Fix test failure on AIX 7.
16914         Reported by Assaf Gordon in
16915         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
16916         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
16917         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
16918         instead of ac_cv_func_uselocale.
16919         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
16920         HAVE_USELOCALE.
16921         * lib/localename-table.h: Likewise.
16922         * lib/localename-table.c: Likewise.
16923         * tests/test-localename.c: Likewise.
16924         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
16926 2018-12-18  Bruno Haible  <bruno@clisp.org>
16928         localename: Update comments regarding Cygwin.
16929         * lib/localename.c: Update comment.
16930         * doc/posix-functions/uselocale.texi: Update platforms list.
16931         * doc/posix-functions/newlocale.texi: Likewise.
16932         * doc/posix-functions/duplocale.texi: Likewise.
16933         * doc/posix-functions/freelocale.texi: Likewise.
16935 2018-12-16  Bruno Haible  <bruno@clisp.org>
16937         c-stack: Fix for Linux/sparc.
16938         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
16939         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
16941 2018-12-16  Bruno Haible  <bruno@clisp.org>
16943         localename: Avoid test failure on some glibc systems.
16944         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
16945         Unset environment variables that might disturb the first setlocale call,
16946         and verify that this setlocale call succeeds.
16948 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
16950         random: Fix build error on native Windows (regression from 2018-06-21).
16951         * lib/random.c (__srandom, __initstate, __setstate, __random,
16952         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
16953         to the symbols without '__' prefix.
16955 2018-12-16  Bruno Haible  <bruno@clisp.org>
16957         obstack, libc-config: Support HP-UX cc in C99 mode.
16958         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
16959         compiler, even when in C99 mode.
16960         * lib/cdefs.h (__flexarr): Likewise.
16961         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
16963 2018-12-16  Bruno Haible  <bruno@clisp.org>
16965         localename: Fix test failure on OpenBSD >= 6.2.
16966         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
16967         locale system. Define HAVE_FAKE_LOCALES in this case.
16968         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
16969         HAVE_USELOCALE.
16970         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
16971         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
16972         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
16973         platforms list.
16974         * doc/posix-functions/newlocale.texi: Likewise.
16975         * doc/posix-functions/duplocale.texi: Update platforms list.
16976         * doc/posix-functions/freelocale.texi: Likewise.
16978 2018-12-16  Bruno Haible  <bruno@clisp.org>
16980         duplocale tests: Re-enable the test on platforms without <monetary.h>.
16981         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
16982         of the test, on platforms without <monetary.h>.
16984 2018-12-16  Bruno Haible  <bruno@clisp.org>
16986         localename: Update comments.
16987         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
16989 2018-12-15  Jim Meyering  <meyering@fb.com>
16991         regex: fix indentation
16992         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
16994 2018-12-15  Bruno Haible  <bruno@clisp.org>
16996         openat-safer tests: Avoid test failure on NetBSD 8.
16997         * tests/test-openat-safer.c (main): Execute a Linux specific test only
16998         on Linux.
17000 2018-12-15  Jim Meyering  <meyering@fb.com>
17002         regex: work around a bug in glibc-2.27 and prior
17003         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
17004         assertion for /0|()0|\1|0/.
17005         * tests/test-regex.c (main): Add the same test here.
17007 2018-12-15  Bruno Haible  <bruno@clisp.org>
17009         localename: Fix use of uninitialized shell variable.
17010         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
17011         gt_cv_locale_solaris114 always before use. Remove assignment without
17012         effect.
17014 2018-12-15  Bruno Haible  <bruno@clisp.org>
17016         dfa tests: Avoid test failure on Alpine Linux.
17017         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
17018         command found on Alpine Linux.
17020 2018-12-15  Jim Meyering  <meyering@fb.com>
17022         dfa: avoid new warnings from gcc
17023         These would prevent building with -Werror and a Dec snapshot of gcc.
17024         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
17025         Rename each inner instance to "p".
17026         (charclass_context): Remove unused static function.
17028 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
17030         mkdir-p: improve diagnostic for FUSE mounts
17031         Problem reported by Niklas Hambüchen in:
17032         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
17033         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
17034         errno to mkdir errno if the stat errno is likely more interesting.
17036 2018-12-14  Bruno Haible  <bruno@clisp.org>
17038         hash-map: Add tests.
17039         * tests/test-hash_map.c: New file.
17040         * modules/hash-map-tests: New file.
17042         linkedhash-map: Add tests.
17043         * tests/test-linkedhash_map.c: New file.
17044         * modules/linkedhash-map-tests: New file.
17046         array-map: Add tests.
17047         * tests/test-array_map.c: New file.
17048         * modules/array-map-tests: New file.
17050         xmap: New module.
17051         * lib/gl_xmap.h: New file.
17052         * lib/gl_xmap.c: New file.
17053         * modules/xmap: New file.
17055         hash-map: New module.
17056         * lib/gl_hash_map.h: New file.
17057         * lib/gl_hash_map.c: New file.
17058         * modules/hash-map: New file.
17060         linkedhash-map: New module.
17061         * lib/gl_linkedhash_map.h: New file.
17062         * lib/gl_linkedhash_map.c: New file.
17063         * lib/gl_anyhash1.h: Update comments.
17064         * lib/gl_anyhash2.h: Likewise.
17065         * modules/linkedhash-map: New file.
17067         array-map: New module.
17068         * lib/gl_array_map.h: New file.
17069         * lib/gl_array_map.c: New file.
17070         * modules/array-map: New file.
17072         map: New module.
17073         * lib/gl_map.h: New file.
17074         * lib/gl_map.c: New file.
17075         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
17076         conflict with gl_map.h.
17077         * modules/map: New file.
17079 2018-12-13  Bruno Haible  <bruno@clisp.org>
17081         select tests: Avoid test failure on Cygwin.
17082         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
17084 2018-12-13  Bruno Haible  <bruno@clisp.org>
17086         localtime-buffer: Avoid endless recursion in localtime and gmtime.
17087         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
17089 2018-12-13  Bruno Haible  <bruno@clisp.org>
17091         localeconv tests: Avoid test failure on Cygwin.
17092         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
17093         'mon_grouping' tests.
17095 2018-12-11  Bruno Haible  <bruno@clisp.org>
17097         omap: Don't dispose the old value when the function returns it.
17098         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
17099         here.
17100         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17101         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
17102         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
17103         here.
17105         array-omap, avltree-omap, rbtree-omap: Tweak style.
17106         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
17107         false.
17108         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
17110         rbtree-omap: Add tests.
17111         * tests/test-rbtree_omap.c: New file.
17112         * modules/rbtree-omap-tests: New file.
17114         avltree-omap: Add tests.
17115         * tests/test-avltree_omap.c: New file.
17116         * modules/avltree-omap-tests: New file.
17118         array-omap: Add tests.
17119         * tests/test-array_omap.c: New file.
17120         * modules/array-omap-tests: New file.
17122         xomap: New module.
17123         * lib/gl_xomap.h: New file.
17124         * lib/gl_xomap.c: New file.
17125         * modules/xomap: New file.
17127         rbtree-omap: New module.
17128         * lib/gl_rbtree_omap.h: New file.
17129         * lib/gl_rbtree_omap.c: New file.
17130         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
17131         Parameterize.
17132         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
17133         * modules/rbtree-omap: New file.
17134         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
17135         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
17137         avltree-omap: New module.
17138         * lib/gl_avltree_omap.h: New file.
17139         * lib/gl_avltree_omap.c: New file.
17140         * lib/gl_avltree_ordered.h: Code moved to here from
17141         lib/gl_avltree_oset.c. Parameterize.
17142         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
17143         * lib/gl_anytree_omap.h: New file.
17144         * modules/avltree-omap: New file.
17145         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
17146         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
17148         array-omap: New module.
17149         * lib/gl_array_omap.h: New file.
17150         * lib/gl_array_omap.c: New file.
17151         * modules/array-omap: New file.
17153         omap: New module.
17154         * lib/gl_omap.h: New file.
17155         * lib/gl_omap.c: New file.
17156         * modules/omap: New file.
17158 2018-12-11  Bruno Haible  <bruno@clisp.org>
17160         hash-set, linkedhash-set: Reduce code duplication.
17161         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
17162         lib/gl_anyhash_set1.h.
17163         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
17164         lib/gl_anyhash_set2.h. Parameterize.
17165         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
17166         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
17167         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
17168         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
17169         * lib/gl_rbtreehash_list.c: Likewise.
17170         * lib/gl_linkedhash_list.c: Likewise.
17171         (hash_resize_after_add): Remove function.
17172         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
17173         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
17174         * gl_hash_set.c: Likewise.
17175         * modules/avltreehash-list (Files, Makefile.am): Update file list.
17176         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
17177         * modules/linkedhash-list (Files, Makefile.am): Likewise.
17178         * modules/linkedhash-set (Files, Makefile.am): Likewise.
17179         * modules/hash-set (Files, Makefile.am): Likewise.
17181 2018-12-11  Bruno Haible  <bruno@clisp.org>
17183         array-set: Optimize.
17184         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
17185         outside the loop, not inside the loop.
17187 2018-12-11  Bruno Haible  <bruno@clisp.org>
17189         times: Fix tests.
17190         * tests/test-times.c (doublecmp): Implement a total order.
17192 2018-12-11  Bruno Haible  <bruno@clisp.org>
17194         array-set, linkedhash-set, hash-set: Fix tests.
17195         * tests/test-array_set.c (cmp_objects_in_array): New function.
17196         (check_equals): Use it.
17197         * tests/test-hash_set.c: Likewise.
17198         * tests/test-linkedhash_set.c: Likewise.
17200 2018-12-08  Bruno Haible  <bruno@clisp.org>
17202         Fix comments.
17203         * lib/gl_list.h (gl_list_free): Clarify what it does.
17204         * lib/gl_oset.h (gl_oset_free): Likewise.
17205         * lib/gl_set.h (gl_set_free): Likewise.
17206         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
17207         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
17208         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
17209         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
17211 2018-12-03  Bruno Haible  <bruno@clisp.org>
17213         hash-set: Add tests.
17214         * tests/test-hash_set.c: New file.
17215         * modules/hash-set-tests: New file.
17217         linkedhash-set: Add tests.
17218         * tests/test-linkedhash_set.c: New file.
17219         * modules/linkedhash-set-tests: New file.
17221         array-set: Add tests.
17222         * tests/test-array_set.c: New file.
17223         * modules/array-set-tests: New file.
17225         xset: New module.
17226         * lib/gl_xset.h: New file.
17227         * lib/gl_xset.c: New file.
17228         * modules/xset: New file.
17230         hash-set: New module.
17231         * lib/gl_hash_set.h: New file.
17232         * lib/gl_hash_set.c: New file.
17233         * modules/hash-set: New file.
17235         linkedhash-set: New module.
17236         * lib/gl_linkedhash_set.h: New file.
17237         * lib/gl_linkedhash_set.c: New file.
17238         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
17239         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
17240         * lib/gl_anyhash_primes.h: New file, extracted from
17241         lib/gl_anyhash_list2.h.
17242         * lib/gl_anyhash_list2.h: Include it.
17243         (primes, next_prime): Remove definitions.
17244         * modules/linkedhash-set: New file.
17245         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
17246         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17247         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
17248         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17249         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
17250         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17252         array-set: New module.
17253         * lib/gl_array_set.h: New file.
17254         * lib/gl_array_set.c: New file.
17255         * modules/array-set: New file.
17257         set: New module.
17258         * lib/gl_set.h: New file.
17259         * lib/gl_set.c: New file.
17260         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
17261         gl_set.h.
17262         * modules/set: New file.
17264 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
17266         bison: don't force the Yacc mode
17267         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
17268         errors when Bison features are used in the grammar file.  Some of
17269         these features (such as %expect) were flagged non-yacc recently.  Most
17270         of the time, -y is actually used to please Automake's ylwrap which
17271         expects the output to be y.tab.c.
17272         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
17274 2018-12-01  Bruno Haible  <bruno@clisp.org>
17276         gnupload: Document short options.
17277         * build-aux/gnupload (usage): Document the short options.
17279 2018-11-28  Ben Elliston  <bje@gnu.org>
17281         gnupload: Support option -h as alias of --help.
17282         * build-aux/gnupload: Support -h.
17284 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
17286         memrchr: port better to clang
17287         * lib/memrchr.c (__memrchr): Cast to void * instead of to
17288         longword *, to pacify clang -Wcast-align (Bug#33544).
17290 2018-11-29  Eric Blake  <eblake@redhat.com>
17292         docs: mention printf %m considerations
17293         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
17294         is not portable, and is easy enough to work around.
17295         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
17296         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
17297         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
17298         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17299         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17300         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17301         * doc/posix-functions/printf.texi (printf): Likewise.
17302         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17303         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17304         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
17305         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17306         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17307         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17308         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17309         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17310         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17311         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
17312         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17313         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17315 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
17317         bitset: rename ebitset/expandable.* as tbitset/table.*
17318         See
17319         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
17320         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
17321         * lib/bitset/table.h, lib/bitset/table.c: these.
17322         Rename all the ebitset* symbols as tbitset*.
17323         Adjust dependencies.
17325 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17327         bitset: check the operations
17328         * tests/test-bitset.c (bitset_random): New.
17329         Use it.
17330         * lib/bitset/expandable.c (ebitset_not): Fix typo.
17332 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17334         bitset: properly use false/true instead of 0/1 for Booleans
17335         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
17336         0/1, as Booleans.
17338 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17340         bitset: rename BITSET_VARRAY as BITSET_VECTOR
17341         For consistency with the name of the file.
17342         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
17343         * lib/bitset/stats.c, lib/bitset/vector.c
17344         (BITSET_VARRAY): Rename as...
17345         (BITSET_VECTOR): this.
17347 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17349         strerror_r-posix: memmove, not memcpy
17350         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
17351         since the source and destination might overlap in the call
17352         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
17353         Simplify.
17355 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17357         bitsetv: new module
17358         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
17360 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17362         bitset: add tests and doc
17363         First stabs at providing a documentation and test for the bitset
17364         module.
17365         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
17367 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17369         bitset: new module
17370         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
17371         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
17372         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
17373         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
17374         * lib/bitset/vector.h, modules/bitset:
17375         New.
17377 2018-11-23  Bruno Haible  <bruno@clisp.org>
17379         localename: Fix gettext test failures on mingw.
17380         * lib/localename.c (gl_locale_name_posix): Convert the result of
17381         gl_locale_name_environ to XPG syntax.
17383 2018-11-23  Karl Berry  <karl@freefriends.org>
17385         * config/srclistvars.txt,
17386         * config/srclist.txt: remove all gettext references;
17387         the gettext maintainers will sync as needed.
17389 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17391         mktime: add libc-config dependency
17392         I missed this when we synced from glibc.
17393         * modules/mktime (Depends-on): Add libc-config.
17395 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17397         longlong: fix comment typo
17398         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
17400 2018-11-11  Bruno Haible  <bruno@clisp.org>
17402         havelib: Remove the need to include asm-underscore.m4.
17403         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
17404         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
17405         gl_HOST_CPU_C_ABI.
17406         * modules/havelib (Files): Add host-cpu-c-abi.m4.
17407         (Depends-on): Remove host-cpu-c-abi.
17409 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17411         parse-datetime: simplify test for mktime failure
17412         * lib/parse-datetime.y (mktime_ok): Simplify.
17413         Remove args TZ and T; no longer needed.  Callers changed.
17415         posixtm: simplify test for mktime failure
17416         * lib/posixtm.c (posixtime): Simplify.
17418         nstrftime: simplify test for mktime failure
17419         * lib/nstrftime.c (__strftime_internal): Simplify.
17421 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17423         gnulib-common.m4: port _Noreturn to C++
17424         Problem reported by Akim Demaille in:
17425         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
17426         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
17427         Merge adjustments from _Noreturn.h and from glibc into the non-C++
17428         version.
17429         * lib/_Noreturn.h: Match gnulib-common.
17431 2018-10-30  Bruno Haible  <bruno@clisp.org>
17433         gnu-make: Fix for NetBSD 8 'make'.
17434         Reported by Reuben Thomas in
17435         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
17436         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
17437         output, ignoring exit codes.
17439 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
17441         maintainer-makefile: fix syntax-check rule for "same.h"
17442         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
17443         for 'same_nameat', too.
17445 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17447         havelib: fix nested ‘configure’ chatter
17448         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
17449         AC_CACHE_CHECK calls, which resulted in confusing output like
17450         “checking for the common suffixes of directories in the library
17451         search path... checking for 64-bit host... no lib,lib”.
17453         backupfile: tweak for better code
17454         * lib/backupfile.c: Sort include directives, and remove
17455         unnecessary <limits.h> include.
17456         (FALLTHROUGH): New macro, copied from other modules.
17457         (backupfile_internal): Use it to avoid code duplication.
17458         This lets GCC 8.2.1 generate better code by inlining the
17459         call to check_extension.
17461 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
17463         backupfile: new dir_fd args
17464         New module opendirat with code taken from fts.
17465         Use this module to let backupfile use a directory file descriptor.
17466         * NEWS: Document the incompatible change.
17467         * lib/backup-find.c (find_backup_file_name):
17468         * lib/backup-rename.c (backup_file_rename):
17469         New arg DIR_FD.
17470         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
17471         (SIZE_MAX): Remove.
17472         Include opendirat.h rather than dirent--.h.
17473         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
17474         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
17475         (backupfile_internal): New arg DIR_FD.  All callers changed.
17476         * lib/fts.c: Include opendirat.h.
17477         (opendirat): Move to opendirat.c.
17478         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
17479         * modules/backupfile (Depends-on): Remove dirfd, opendir.
17480         Add opendirat.
17481         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
17482         Add opendirat.
17484 2018-10-23  Bruno Haible  <bruno@clisp.org>
17486         localename: Simplify support for per-thread locales on Solaris 11.4.
17487         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
17488         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
17489         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
17490         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
17491         specific code.
17492         * lib/localename-table.h: Update comments.
17493         * lib/localename-table.c: Update comments.
17494         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
17495         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
17496         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
17497         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
17498         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
17499         HAVE_NAMELESS_LOCALES here.
17500         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
17501         m4/intlsolaris.m4.
17502         * modules/gettext (Files): Likewise.
17504 2018-10-22  Bruno Haible  <bruno@clisp.org>
17506         std-gnu11: Support Autoconf versions < 2.64.
17507         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
17508         when _AC_DO_LIMIT does not exist.
17510 2018-10-22  Bruno Haible  <bruno@clisp.org>
17512         Assume Autoconf >= 2.63.
17513         * DEPENDENCIES: Mention the requirement.
17515         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
17516         (func_get_filelist): Don't list m4/onceonly.m4 any more.
17517         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
17518         * m4/onceonly.m4: Remove file.
17520         * m4/openmp.m4: Remove file.
17521         * modules/openmp (Files): Remove m4/openmp.m4.
17523         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
17524         htmldir, dvidir, pdfdir, psdir, localedir.
17525         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
17527         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
17528         Autoconf < 2.60.
17529         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
17530         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
17532         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
17533         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
17534         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
17536         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
17537         exists.
17538         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
17540         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
17541         Autoconf < 2.61.
17543         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
17544         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
17545         Autoconf >= 2.52.
17547         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
17548         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
17549         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
17551 2018-10-22  Bruno Haible  <bruno@clisp.org>
17553         Assume Automake >= 1.11.
17554         * m4/configmake.m4: Update comments.
17555         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
17556         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
17557         of 'eval'.
17558         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
17559         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
17560         requires Automake >= 1.11.
17562 2018-10-22  Bruno Haible  <bruno@clisp.org>
17564         localename: Fix typo in comment.
17565         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
17567 2018-10-22  Bruno Haible  <bruno@clisp.org>
17569         Fix failure of 'gnulib-tool --create-testdir' with all modules.
17570         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
17572 2018-10-21  Bruno Haible  <bruno@clisp.org>
17574         locale: Ease integration with GNU libintl.
17575         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
17576         GNULIB_defined_freelocale): New macros.
17578 2018-10-21  Bruno Haible  <bruno@clisp.org>
17580         localename: Fine-tune support for per-thread locales on Solaris 11.4.
17581         * lib/localename-table.h: New file, extracted from lib/localename.c.
17582         * lib/localename-table.c: Likewise.
17583         * lib/localename.c: Include localename-table.h.
17584         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
17585         locale_hash_function instead of pointer_hash.
17586         * modules/localename (Files): Add lib/localename-table.h,
17587         lib/localename-table.c.
17588         (lib_SOURCES): Add localename-table.c.
17589         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
17590         for Solaris 11.4 locale system only on Solaris. Test for it
17591         independently whether getlocalename_l exists.
17592         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
17593         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
17594         HAVE_NAMELESS_LOCALES.
17595         * modules/gettext (Files): Add m4/intlsolaris.m4.
17597 2018-10-21  Bruno Haible  <bruno@clisp.org>
17599         Small update from gettext.
17600         * m4/intl.m4: Update from gettext:
17601         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
17602         mode on AIX.
17603         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
17604         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
17606 2018-10-16  Bruno Haible  <bruno@clisp.org>
17608         mountlist: Remove support for Cray with UNICOS 9.
17609         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17610         MOUNTED_LISTMNTENT.
17611         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
17613 2018-10-16  Bruno Haible  <bruno@clisp.org>
17615         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
17616         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
17617         STAT_STATFS2_FS_DATA.
17618         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
17619         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17620         MOUNTED_GETMNT.
17621         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
17622         * lib/getloadavg.c (decstation): Remove definition and case.
17623         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
17624         * lib/getgroups.c: Likewise.
17625         * doc/posix-functions/getgroups.texi: Likewise.
17626         * lib/time.in.h: Update comments.
17628 2018-10-16  Bruno Haible  <bruno@clisp.org>
17630         getloadavg: Remove support for ConvexOS.
17631         * lib/getloadavg.c: Remove convex case.
17633 2018-10-16  Bruno Haible  <bruno@clisp.org>
17635         getloadavg: Remove support for Sony NEWS.
17636         * lib/getloadavg.c: Remove sony_news case.
17638 2018-10-16  Bruno Haible  <bruno@clisp.org>
17640         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
17641         * lib/fsusage.c: Remove _SEQUENT_ case.
17642         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17643         * lib/mountlist.c: Don't test for MNTTABNAME.
17644         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
17645         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
17646         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
17647         * lib/stat-size.h: Don't mention the Sequent bug.
17648         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
17650 2018-10-16  Bruno Haible  <bruno@clisp.org>
17652         fsusage: Remove support for AIX 3.
17653         * lib/fsusage.c: Remove code for AIX 3.
17654         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
17656 2018-10-16  Bruno Haible  <bruno@clisp.org>
17658         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
17659         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
17660         * lib/fsusage.c: Remove code for AIX PS/2.
17661         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
17662         * lib/getloadavg.c: Likewise.
17664 2018-10-16  Bruno Haible  <bruno@clisp.org>
17666         getloadavg: Remove support for HP-UX on m68k.
17667         * lib/getloadavg.c: Remove hp9000s300 case.
17669 2018-10-16  Bruno Haible  <bruno@clisp.org>
17671         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
17672         * lib/fsusage.c: Remove DOLPHIN case.
17673         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17674         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
17676 2018-10-16  Bruno Haible  <bruno@clisp.org>
17678         getloadavg: Remove support for Alliant FX/2800.
17679         * lib/getloadavg.c: Remove alliant case.
17681 2018-10-16  Bruno Haible  <bruno@clisp.org>
17683         getloadavg: Remove support for tek4300.
17684         * lib/getloadavg.c: Remove tek4300 case.
17686 2018-10-16  Bruno Haible  <bruno@clisp.org>
17688         getloadavg: Remove support for Ardent.
17689         * lib/getloadavg.c: Remove ardent case.
17691 2018-10-16  Bruno Haible  <bruno@clisp.org>
17693         mountlist: Remove support for SVR2.
17694         Reported by Andrew Borodin <aborodin@vmail.ru> in
17695         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
17696         * lib/mountlist.c: Remove MOUNTED_FREAD case.
17697         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17698         MOUNTED_FREAD.
17700 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
17702         libc-config: merge from glibc
17703         * lib/cdefs.h (__glibc_has_attribute): New macro.
17705         regex: depend on libc-config
17706         * modules/regex (Depends-on): Add libc-config.
17707         This is needed after the recent autoupdate from glibc.
17709 2018-10-14  Bruno Haible  <bruno@clisp.org>
17711         localename: Add support for per-thread locales on Solaris 11.4.
17712         * lib/locale.in.h (newlocale, freelocale): New declarations.
17713         (duplocale): Declare also when the 'localename' module requests it.
17714         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
17715         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
17716         (struniq): Update.
17717         (struct locale_categories_names, struct locale_hash_node): New types.
17718         (LOCALE_HASH_TABLE_SIZE): New constant.
17719         (locale_hash_table, locale_lock): New variables.
17720         (pointer_hash, get_locale_t_name): New functions.
17721         (newlocale, duplocale, freelocale): New overridden functions.
17722         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
17723         * m4/intlsolaris.m4: New file.
17724         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
17725         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
17726         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
17727         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
17728         declared.
17729         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
17730         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17731         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
17732         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17733         * modules/localename (Files): Add intlsolaris.m4.
17734         (Depends-on): Add 'locale'.
17735         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
17736         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
17737         the signatures.
17739 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
17741         timevar: use gethrxtime to get wall clock time
17742         clock_gettime is not portable.  gethrxtime takes the best available
17743         option to get the wall clock time, including clock_gettime (monotonic
17744         clock), and gettime (non monotonic).
17745         Also, using xtime_t instead of float preserves the precision.
17746         Suggested by Bruno Haible.
17747         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
17748         * modules/timevar (Depends-on): We need gethrxtime.
17749         We no longer use times().
17750         (Link): Update.
17751         * lib/timevar.h (timevar_time_def): Use xtime_t.
17752         * lib/timevar.c (set_to_current_time): Use gethrxtime.
17753         (timevar_print): Instead of checking whether the timings themselves
17754         are large enough for the timevar to be printed, check the percentages.
17756 2018-10-14  Bruno Haible  <bruno@clisp.org>
17758         wcsnrtombs: Work around Solaris 11.4 bug.
17759         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
17760         macro.
17761         (gl_FUNC_WCSNRTOMBS): Invoke it.
17762         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
17764 2018-10-14  Bruno Haible  <bruno@clisp.org>
17766         mbsnrtowcs: Work around Solaris 11.4 bug.
17767         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
17768         macro.
17769         (gl_FUNC_MBSNRTOWCS): Invoke it.
17770         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
17772 2018-10-14  Bruno Haible  <bruno@clisp.org>
17774         doc: Update for Solaris 11.4.
17775         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
17776         mention Solaris 11.4.
17777         * m4/printf.m4: Update comments about Solaris.
17778         * m4/log.m4: Likewise.
17779         * m4/log10.m4: Likewise.
17780         * m4/logb.m4: Likewise.
17781         * m4/logbf.m4: Likewise.
17782         * m4/logbl.m4: Likewise.
17783         * m4/rename.m4: Likewise.
17784         * m4/wcrtomb.m4: Likewise.
17785         * m4/hostent.m4: Likewise.
17786         * m4/servent.m4: Likewise.
17788 2018-10-14  Bruno Haible  <bruno@clisp.org>
17790         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
17791         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
17792         pointer.
17793         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
17794         pointer.
17795         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
17796         pointer.
17797         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
17798         pointer.
17799         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
17800         pointer.
17802 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17804         bootstrap: fix wget command for po files.
17805         * build-aux/bootstrap (po_download_command_format): Fix comment,
17806         and adjust callers.
17808 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17810         timevar: improve the output format
17811         Suggested by Bruno Haible.
17812         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
17813         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
17814         wall, since its resolution is much higher.
17816 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17818         timevar: expect that getrusage is available.
17819         Don't keep both times and getrusage as backend: both are guaranteed by
17820         gnulib, a single one suffices.  Using getrusage is open to possibly
17821         tracking other types of resources in the future.
17822         * modules/timevar (Depends-on): Add getrusage.
17823         (configure.ac): Remove gl_TIMEVAR.
17824         (Files): Remove m4/timevar.m4.
17825         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
17826         * lib/timevar.h (timevar_enabled): Clarify documentation.
17827         * lib/timevar.c: Remove all the code about times.
17828         Remove all the CPP guards about getrusage: expect it to be present
17829         (courtesy of gnulib).
17831 2018-10-12  Bruno Haible  <bruno@clisp.org>
17833         mountlist: Improve support for Solaris in 64-bit mode.
17834         Reported by David Wood <David.Wood@deshaw.com> in
17835         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
17836         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
17837         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
17838         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
17840 2018-10-12  Bruno Haible  <bruno@clisp.org>
17842         mountlist: Add support for Minix.
17843         Reported by Assaf Gordon in
17844         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
17845         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
17846         AC_CHECK_FUNCS to check for 'getmntinfo'.
17847         * lib/mountlist.c: Update comments.
17849 2018-10-12  Bruno Haible  <bruno@clisp.org>
17851         Make better use of Autoconf.
17852         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
17853         * m4/manywarnings.m4: Likewise.
17854         * m4/manywarnings-c++.m4: Likewise.
17855         * m4/socklen.m4: Likewise.
17856         * m4/sockpfaf.m4: Likewise.
17857         * m4/stdarg.m4: Likewise.
17858         * m4/visibility.m4: Likewise.
17859         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
17860         indentation.
17861         * m4/ls-mntd-fs.m4: Likewise.
17863 2018-10-11  Bruno Haible  <bruno@clisp.org>
17865         mountlist: Modernize platform lists.
17866         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
17867         platforms, deemphasizing the obsolete ones.
17868         * lib/mountlist.c: Likewise.
17870 2018-10-11  Bruno Haible  <bruno@clisp.org>
17872         getprogname: Add support for 32-bit programs on HP-UX.
17873         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
17874         try the similar functions 32-bit programs on 64-bit HP-UX.
17876 2018-10-11  Bruno Haible  <bruno@clisp.org>
17878         getprogname: Work around program name truncation when possible.
17879         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
17880         possibly use pst_cmd instead.
17882 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17884         fts: cleanup after FTS_NOATIME removal
17885         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
17886         (FTS_STOP): Shrink to minimal values.  We don’t need to
17887         worry about binary compatibility in Gnulib, and the old way
17888         of doing things had a hole in the user options that caused
17889         FTS_OPTIONMASK to not work as desired.
17891 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
17893         fts: remove FTS_NOATIME
17894         This reverts commit da4d6974013c822af1498941e32db774b2031765.
17895         We cannot guarantee that O_NOATIME works: e.g. openat fails
17896         with EPERM if the effective user ID of the caller does not match
17897         the owner of the file and the caller is not privileged.
17898         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
17899         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
17900         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
17901         (FTS_OPTIONMASK): Adjust.
17902         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
17903         (fd_ring_check): Likewise.
17905 2018-10-08  Bruno Haible  <bruno@clisp.org>
17907         csharpcomp*, csharpexec*: Remove support for pnet.
17908         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
17909         HAVE_CSCC.
17910         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
17911         Don't test HAVE_CSCC.
17912         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
17913         (compile_csharp_class): Don't invoke it.
17914         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
17915         HAVE_ILRUN.
17916         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
17917         Don't test HAVE_ILRUN.
17918         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
17919         (execute_csharp_program): Don't invoke it.
17920         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
17921         any more.
17923 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
17925         renameatu: prefer renameat2 to syscall
17926         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
17927         Use renameat2 instead of syscall (Bug#32796).
17928         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
17930 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17932         bootstrap, gnulib-tool: use https instead of insecure rsync
17933         * build-aux/bootstrap (download_po_files, po_download_command_format):
17934         Don't try using rsync; always use wget over https to fetch PO files.
17935         * gnulib-tool (func_import): Likewise.
17936         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17938 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17940         bootstrap, gnulib-tool: correct the translations wget command
17941         * build-aux/bootstrap (po_download_command_format2): Restrict
17942         recursion to a single level.
17943         * gnulib-tool (func_import): Likewise.
17944         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17946 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17948         doc: the gnulib snapshots are not maintained
17949         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
17951 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17953         timevar: add to lib_SOURCES
17954         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
17956 2018-10-07  Bruno Haible  <bruno@clisp.org>
17958         dirent: Update documentation.
17959         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
17961 2018-10-05  Bruno Haible  <bruno@clisp.org>
17963         strpbrk: Make it possible to namespace the defined symbol.
17964         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
17966 2018-10-05  Bruno Haible  <bruno@clisp.org>
17968         strcspn: Make it possible to namespace the defined symbol.
17969         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
17971 2018-10-05  Bruno Haible  <bruno@clisp.org>
17973         raise: Make it possible to namespace the defined symbol.
17974         * lib/raise.c (raise): Undefine only after the replacement function has
17975         been defined.
17976         (raise): Renamed from rpl_raise.
17977         (raise_nothrow): Move to the end of the compilation unit.
17979 2018-10-05  Bruno Haible  <bruno@clisp.org>
17981         memcmp: Make it possible to namespace the defined symbol.
17982         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
17984 2018-10-05  Bruno Haible  <bruno@clisp.org>
17986         explicit_bzero: Make it possible to namespace the defined symbol.
17987         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
17988         glibc.
17990 2018-10-05  Bruno Haible  <bruno@clisp.org>
17992         mkdir-p: Depend on 'mkdir'.
17993         * modules/mkdir-p (Depends-on): Add 'mkdir'.
17995 2018-10-05  Bruno Haible  <bruno@clisp.org>
17997         tempname: Depend on 'mkdir'.
17998         Reported by Maarten Bosmans <mkbosmans@gmail.com>
17999         at <https://savannah.gnu.org/bugs/?33379>.
18000         * modules/tempname (Depends-on): Add 'mkdir'.
18002 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
18004         timevar: rely on gnulib modules for time portability.
18005         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
18006         * m4/timevar.m4: Don't check for clock_t and struct tms,
18007         guaranteed by gnulib.
18008         * lib/timevar.h: Use extern "C" protection.
18009         Include <stdio.h> for FILE.
18010         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
18011         they are guaranteed by gnulib.
18012         Remove uses of clock as (now useless) fallback.
18014 2018-10-04  Bruno Haible  <bruno@clisp.org>
18016         sh-filename: New module.
18017         * m4/sh-filename.m4: New file.
18018         * modules/sh-filename: New file.
18019         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
18020         "/bin/sh".
18021         * tests/test-posix_spawn1.c (main): Likewise.
18022         * tests/test-posix_spawn2.c (main): Likewise.
18023         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
18024         is_envjavac_gcj43): Likewise.
18025         * lib/javaexec.c (execute_java_class): Likewise.
18026         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
18027         * modules/posix_spawnp-tests (Depends-on): Likewise.
18028         * modules/javacomp (Depends-on): Likewise.
18029         * modules/javaexec (Depends-on): Likewise.
18031 2018-10-04  Bruno Haible  <bruno@clisp.org>
18033         spawn-pipe tests: Avoid test failure on native Windows.
18034         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
18035         that fd 2 is closed.
18037 2018-10-04  Bruno Haible  <bruno@clisp.org>
18039         fcntl: Make it possible to namespace the defined symbol.
18040         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
18041         been defined.
18042         (fcntl): Renamed from rpl_fcntl.
18043         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
18044         from fcntl.
18045         (klibc_fcntl): Move to the end of the compilation unit.
18047 2018-10-02  Bruno Haible  <bruno@clisp.org>
18049         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
18050         * tests/test-vasnprintf.c (test_function): Change the test added on
18051         2018-09-23 to check only the 18 most significant digits.
18053         vasnprintf tests: Avoid test failure on Cygwin.
18054         * tests/test-vasnprintf.c (test_function): Change the test added on
18055         2018-09-23 to check only the 42 most significant digits.
18057 2018-10-01  Bruno Haible  <bruno@clisp.org>
18059         mkostemp, mkostemps: Update documentation.
18060         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
18061         * doc/glibc-functions/mkostemps.texi: Likewise.
18063 2018-10-01  Tom Tromey  <tom@tromey.com>
18065         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
18066         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
18067         on OS X.
18069 2018-09-30  Pádraig Brady  <P@draigBrady.com>
18071         hmac-*: refactor to remove repetitive code
18072         * lib/hmac.c: A new parameterized single implementation.
18073         * lib/hmac-md5.c: Define parameters and include implementation.
18074         * lib/hmac-sha1.c: Likewise.
18075         * lib/hmac-sha256.c: Likewise.
18076         * lib/hmac-sha512.c: Likewise.
18077         * modules/crypto/hmac-md5: Reference the new implementation file.
18078         * modules/crypto/hmac-sha1: Likewise.
18079         * modules/crypto/hmac-sha256: Likewise.
18080         * modules/crypto/hmac-sha512: Likewise.
18081         * tests/test-hmac-md5.c: Refactor common code to a single function.
18082         * tests/test-hmac-sha1.c: Likewise.
18083         * tests/test-hmac-sha256.c: Likewise.
18084         * tests/test-hmac-sha512.c: Likewise.
18086 2018-09-30  Zhang Qing  <zhangqingl@126.com>
18088         hmac-sha512: fix hash for keys > blocksize (128 bytes)
18089         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
18090         key length to that output by sha512, not the blocksize.
18091         Otherwise uninitialized data from the stack
18092         is used when computing the hash.
18093         * tests/test-hmac-sha512.c: Add a shortened key test case.
18094         Reported at https://github.com/coreutils/gnulib/pull/5
18096 2018-09-30  Bruno Haible  <bruno@clisp.org>
18098         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
18099         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
18100         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
18101         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
18102         'unsigned int' before comparison with an unsigned value.
18104 2018-09-30  Bruno Haible  <bruno@clisp.org>
18106         grantpt: Remove unnecessary dependency.
18107         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
18109 2018-09-30  Bruno Haible  <bruno@clisp.org>
18111         timevar: Small tweaks.
18112         * lib/timevar.h: Fix comments. Add parameter names to function
18113         declarations.
18114         * lib/timevar.c: Include timevar.h immediately after config.h.
18115         * lib/timevar.def: Fix comments.
18116         * modules/timevar (Maintainer): List Akim Demaille.
18118 2018-09-30  Bruno Haible  <bruno@clisp.org>
18120         timevar: Include documentation in gnulib manual.
18121         * doc/timevar.texi: Change node and section name to 'Profiling of
18122         program phases'.
18123         In the code snippets, tweak the #includes and use GNU coding style.
18124         * doc/gnulib.texi: Include timevar.texi.
18126 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
18128         timevar: import from Bison.
18129         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
18130         New files.
18131         * lib/timevar.def: New file.
18132         * doc/timevar.texi: New file.
18134 2018-09-26  Bruno Haible  <bruno@clisp.org>
18136         javacomp-script, javacomp: Add preliminary support for Java 12..17.
18137         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
18138         * lib/javacomp.c (default_target_version): Likewise.
18140 2018-09-26  Bruno Haible  <bruno@clisp.org>
18142         javacomp-script, javacomp: Add support for Java 11.
18143         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
18144         target-version 11.
18145         * lib/javaversion.h: Update comments.
18146         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
18147         source_version_index, get_goodcode_snippet, get_failcode_snippet,
18148         TARGET_VERSION_BOUND, target_version_index,
18149         corresponding_classfile_version): Accept source_version 11 and
18150         target_version 11.
18151         * lib/javacomp.h: Update comments accordingly.
18153 2018-09-23  Bruno Haible  <bruno@clisp.org>
18155         vasnprintf: Fix heap memory overrun bug.
18156         Reported by Ben Pfaff <blp@cs.stanford.edu> in
18157         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
18158         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
18159         memory.
18160         * tests/test-vasnprintf.c (test_function): Add another test.
18162 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
18164         maint: mktime.c now shared with glibc
18165         * config/srclist.txt: intprops.h, timegm.c and mktime.c
18166         are now the same in Gnulib and glibc.
18168         mktime: fix _LIBC typo
18169         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
18171 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18173         dfa: optimization for state merge
18174         * lib/dfa.c (merge2): New function.
18175         (merge_nfa_state): Use it.
18177 2018-09-18  Jim Meyering  <meyering@fb.com>
18179         dfa: trivial comment fix: s/is/if/
18180         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
18182 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18184         dfa: use more-informative function name
18185         * lib/dfa.c (maybe_disable_superset_dfa):
18186         Rename from dfautf8noss.  Use change.
18188         dfa: tweak allocation performance
18189         * lib/dfa.c (merge_nfa_state, dfaoptimize):
18190         Prefer ptrdiff_t for indexes some more.
18191         Use char for flags, as it’s wide enough.
18192         Allocate queue and flags together, with one malloc call.
18193         No need to use xnmalloc since the multiplication and
18194         addition cannot overflow (it’s already been checked by
18195         earlier allocation).  Prefer memset to open-coding.
18197         dfa: prune states as we go
18198         * lib/dfa.c (prune): Remove.
18199         dfa: reorder enum for efficiency
18200         (merge_nfa_state): Prune as we go instead of at the end.
18201         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
18203         * lib/dfa.c (END): Now -1 again.  Reorder other elements
18204         of the enumeration to make it easier for GCC to generate
18205         efficient code by using fewer comparisons to check for
18206         ranges of values.
18207         (atom): Take advantage of the reordering.
18209 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18211         dfa: optimize alternation in NFA
18212         Even when similar states exist in alternation, the DFA treats them
18213         as separate items, which may complicate the transition in NFA and
18214         cause slowdown.  This change assembles the states into one.  For
18215         example, ab|ac is changed into a(b|c).  This change speeds-up
18216         matching for many branched patterns.  For example, grep speeds up
18217         more than 30× in:
18219           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
18220           time -p env LC_ALL=C grep -vf in in
18222         * lib/dfa.c (prune): New function.
18223         (merge_nfa_state): New function.  It merges similar NFA states.
18224         (dfaoptimize): New function.  It seeks merged and removed nodes.
18225         (dfaanalyze): Call new function.
18226         (dfautf8noss): Change name from dfaoptimize because of addition of new
18227         function.
18228         (dfacomp): Update caller.
18230         dfa: simplify initial state
18231         Simplifying the initial state enables easier optimization of the NFA.
18232         * lib/dfa.c (enum token): Add new element BEG.
18233         (prtok): Adjust due to adding element BEG.
18234         (dfaparse): Put BEG at a head of tokens.
18235         (state_index): Adjust due to adding element BEG.
18236         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
18237         build initial state.
18238         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
18240 2018-09-18  Bruno Haible  <bruno@clisp.org>
18242         file-has-acl: Fix test failure on Cygwin 2.9.
18243         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
18244         * lib/acl-internal.h: Likewise.
18245         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
18246         * lib/acl-internal.c: Update comments regarding Cygwin.
18247         * lib/acl_entries.c: Likewise.
18248         * lib/file-has-acl.c: Likewise.
18249         (file_has_acl): For Cygwin, use a different way to determine whether
18250         the "default" ACL of a directory is nontrivial.
18251         * lib/get-permissions.c: Update comments regarding Cygwin.
18252         * lib/set-permissions.c: Likewise.
18254 2018-09-18  Bruno Haible  <bruno@clisp.org>
18256         stat-time tests: Fix test failure on Cygwin.
18257         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
18259 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18261         doc: OS X 10.11 lacked ns time functions
18262         According to <https://github.com/zeromq/libzmq/issues/2175>,
18263         nanosecond-resolution timestamp functions were introduced
18264         in macOS 10.12, so document the last version (OS X 10.11)
18265         where they were absent.
18267         gettime: nanotime never existed
18268         Problem reported by Bruno Haible in:
18269         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
18270         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
18271         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
18273 2018-09-18  Bruno Haible  <bruno@clisp.org>
18275         doc: Update statement about target platforms.
18276         Reported by Simon Sobisch.
18277         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
18278         restrictions on MSVC versions.
18280 2018-09-18  Bruno Haible  <bruno@clisp.org>
18282         posix_spawn tests: Fix link error on 64-bit Cygwin.
18283         * tests/test-posix_spawn1.c (environ): Remove declaration.
18284         * tests/test-posix_spawn2.c (environ): Likewise.
18285         * tests/test-posix_spawn3.c (environ): Likewise.
18286         * tests/test-posix_spawn4.c (environ): Likewise.
18287         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
18288         * modules/posix_spawnp-tests (Depends-on): Likewise.
18290 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18292         timespec: new function current_timespec
18293         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
18294         and don’t worry about it failing on a CLOCK_REALTIME arg.
18295         POSIX requires it to succeed and I don’t know of any
18296         counterexamples where the fallbacks would work.
18297         (current_timespec): New function, taken from Emacs.  It is more
18298         convenient than gettime, and can help register allocation.
18299         * lib/timespec.h: Include arg-nonnull.h.
18300         (current_timespec): New declaration.
18301         (gettime, settime): Declare args to be nonnull.
18302         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
18304 2018-09-16  Bruno Haible  <bruno@clisp.org>
18306         setlocale: Improve locale handling on macOS 10.12 or newer.
18307         * lib/setlocale.c: Include header files for CoreFoundation. Declare
18308         gl_locale_name_canonicalize.
18309         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
18310         and LC_MESSAGES.
18311         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
18313 2018-09-16  Bruno Haible  <bruno@clisp.org>
18315         Update list of locale names with scripts on macOS.
18316         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
18317         match Mac OS X 10.13 and recent glibc.
18319 2018-09-16  Bruno Haible  <bruno@clisp.org>
18321         gettext: Use newer macOS APIs when possible.
18322         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
18323         CFLocaleCopyPreferredLanguages.
18325 2018-09-16  Bruno Haible  <bruno@clisp.org>
18327         localename: Revisit macOS specific code.
18328         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
18329         Fix comments about Mac OS X versions.
18331 2018-09-15  Bruno Haible  <bruno@clisp.org>
18333         setlocale: Improve support for locales not supported by libc.
18334         Reported by Dapeng Gao <peter@dpgao.cc> at
18335         <https://savannah.gnu.org/bugs/?54479>.
18336         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
18337         (libintl_setlocale): Use a more error-tolerant strategy when the locale
18338         to be set is not supported by libc: Emit warnings instead of failing.
18340 2018-09-15  Bruno Haible  <bruno@clisp.org>
18342         strstr, strcasestr: Add workaround against glibc-2.28 bug.
18343         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
18344         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
18345         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
18346         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
18347         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
18348         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
18349         * doc/glibc-functions/strcasestr.texi: Likewise.
18351 2018-09-14  Bruno Haible  <bruno@clisp.org>
18353         doc: Fix bottom of top-level page.
18354         Reported by Akim Demaille <akim.demaille@gmail.com> in
18355         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
18356         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
18357         mode.
18358         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
18359         accordingly.
18361 2018-09-12  Bruno Haible  <bruno@clisp.org>
18363         Add test case from a recent glibc bug.
18364         * tests/test-strstr.c (main): Add test of long needle.
18365         * tests/test-strcasestr.c (main): Likewise.
18366         * tests/test-c-strstr.c (main): Likewise.
18367         * tests/test-c-strcasestr.c (main): Likewise.
18368         * tests/test-memmem.c (main): Likewise.
18370 2018-09-12  Bruno Haible  <bruno@clisp.org>
18372         Apply Eric Blake's improvements from 2011-02-25 to more tests.
18373         * tests/test-c-strstr.c (main): Add the same tests here as well.
18375 2018-09-12  Bruno Haible  <bruno@clisp.org>
18377         Apply Jim Meyering's fix from 2015-01-11 to more tests.
18378         * tests/test-memmem.c (main): Free haystack.
18379         * tests/test-strcasestr.c (main): Likewise.
18380         * tests/test-c-strcasestr.c (main): Likewise.
18382 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18384         xstrtol: fix missing-TYPE_SIGNED typo
18385         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
18387 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18389         timespec: fix resolution confusion
18390         In normal usage, clock resolution is given in seconds, but the
18391         code was mistakenly using inverse seconds and calling it
18392         “resolution”.  Fix this, partly by renaming two identifiers.
18393         The old names will be kept for a bit, to ease transition.
18394         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
18395         New constants, replacing TIMESPEC_RESOLUTION and
18396         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
18397         All uses changed.
18399 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18401         mktime: simplify in prep for glibc merge
18402         * lib/mktime.c, lib/timegm.c [_LIBC]:
18403         Include mktime-internal.h (a small file just for glibc)
18404         instead of using a typedef.
18406 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18408         intprops: minor clarification of code
18409         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
18410         Use _GL_INT_CONVERT rather than reinventing it.
18412 2018-09-07  Bruno Haible  <bruno@clisp.org>
18414         Fix a comment.
18415         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
18417 2018-09-07  Bruno Haible  <bruno@clisp.org>
18419         posix_spawn_file_actions_addchdir: Add tests.
18420         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
18421         * tests/test-posix_spawn4.c: New file.
18422         * modules/posix_spawn_file_actions_addchdir-tests: New file.
18424 2018-09-07  Bruno Haible  <bruno@clisp.org>
18426         posix_spawn_file_actions_addchdir: New module.
18427         Suggested by Eric Blake in
18428         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
18429         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
18430         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
18431         union member 'chdir_action'.
18432         * lib/spawn_faction_addchdir.c: New file.
18433         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
18434         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
18435         HAVE_WORKING_POSIX_SPAWN.
18436         * lib/spawn_faction_adddup2.c: Likewise.
18437         * lib/spawn_faction_addopen.c: Likewise.
18438         * m4/posix_spawn_faction_addchdir.m4: New file.
18439         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
18440         'posix_spawn_file_actions_addchdir' is present and whether
18441         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
18442         instead of HAVE_WORKING_POSIX_SPAWN.
18443         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
18444         posix_spawn_file_actions_addchdir is declared.
18445         (gl_SPAWN_H_DEFAULTS): Initialize
18446         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18447         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18448         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18449         * modules/spawn (Makefile.am): Substitute
18450         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18451         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18452         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18453         * modules/posix_spawn_file_actions_addchdir: New file.
18454         * modules/posix_spawn_file_actions_addclose (Depends-on,
18455         configure.ac): Test also REPLACE_POSIX_SPAWN.
18456         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
18457         configure.ac): Likewise.
18458         * modules/posix_spawn_file_actions_addopen (Depends-on,
18459         configure.ac): Likewise.
18460         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
18461         signature.
18462         * doc/posix-functions/posix_spawn.texi: Mention the new module.
18463         * doc/posix-functions/posix_spawnp.texi: Likewise.
18465 2018-09-06  Bruno Haible  <bruno@clisp.org>
18467         stddef: Override max_align_t on NetBSD 8.0/x86.
18468         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
18469         the value of __alignof__ (max_align_t).
18470         * doc/posix-headers/stddef.texi: Mention the issue.
18472 2018-09-06  Bruno Haible  <bruno@clisp.org>
18474         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
18475         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
18476         system fcntl.
18477         * doc/posix-functions/fcntl.texi: Document the issue.
18479 2018-09-06  Bruno Haible  <bruno@clisp.org>
18481         count-trailing-zeros tests: Rely on limits-h module.
18482         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
18483         definition.
18484         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
18486 2018-09-06  Bruno Haible  <bruno@clisp.org>
18488         count-leading-zeros tests: Rely on limits-h module.
18489         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
18490         definition.
18491         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
18493 2018-09-06  Bruno Haible  <bruno@clisp.org>
18495         count-one-bits tests: Rely on limits-h module.
18496         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
18497         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
18499 2018-09-06  Bruno Haible  <bruno@clisp.org>
18501         xstrtoll: Rely on limits-h module.
18502         * lib/xstrtol.c: Don't include intprops.h.
18503         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18504         * modules/xstrtol (Depends-on): Remove 'intprops'.
18505         * modules/xstrtoll (Depends-on): Add 'limits-h'.
18507 2018-09-06  Bruno Haible  <bruno@clisp.org>
18509         strtoll, strtoull: Rely on limits-h module.
18510         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
18511         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18512         * modules/strtoll (Depends-on): Add limits-h.
18513         * modules/strtoull (Depends-on): Likewise.
18515 2018-09-06  Bruno Haible  <bruno@clisp.org>
18517         intprops tests: Fix compilation error with pre-C99 compiler.
18518         * tests/test-intprops.c (verify_stmt): New macro.
18519         (VERIFY, main): Use it.
18521 2018-09-06  Bruno Haible  <bruno@clisp.org>
18523         limits-h: Provide numerical limits macros.
18524         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
18525         IRIX and for GCC.
18526         (WORD_BIT, LONG_BIT): Define.
18527         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
18528         <limits.h> does not define LLONG_MAX or WORD_BIT.
18529         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
18530         TYPE_MAXIMUM): New macros, from intprops.h.
18531         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
18532         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
18533         provides.
18535 2018-09-05  Bruno Haible  <bruno@clisp.org>
18537         fcntl: Don't access nonexistent optional argument.
18538         Reported by Frank Busse <f.busse@imperial.ac.uk> in
18539         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
18540         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
18541         don't consume an argument. For actions that take an 'int' argument,
18542         consume an 'int' argument.
18544 2018-09-05  Eric Blake  <eblake@redhat.com>
18546         doc: mention environ pitfall
18547         * doc/posix-functions/environ.texi (environ): Assigning NULL to
18548         environ is a glibc extension.
18550 2018-09-03  Bruno Haible  <bruno@clisp.org>
18552         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
18553         Reported by Antoine Luong <antoine.luong@c-s.fr> in
18554         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
18555         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
18556         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
18557         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
18559 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18561         mktime: fix unlikely race+overflow bug
18562         Problem reported by Alexandre Oliva in:
18563         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
18564         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
18565         to avoid an unlikely race if the compiler delays a load and
18566         if this cascades into a signed integer overflow.
18568 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18570         mktime, timegm: simplify glibc time64_t
18571         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
18572         Now long int, not time_t, since long int is the longstanding type
18573         for this in glibc and there is no need to change it even if time_t
18574         becomes 64 bits - even int would do, though this would be a change
18575         to the glibc generated code.  When this change is merged into
18576         glibc, it should simplify the time_t vs time64_t situation.
18578         mktime, timegm: simplify merge to glibc
18579         Move code around to make a merge to glibc easier to audit.
18580         This should not change behavior.
18581         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
18582         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
18583         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
18584         simplify later conditionals; default the others to zero.  In uses
18585         of these conditionals, explicitly spell out how _LIBC affects
18586         things, so it’s easier to review from a glibc viewpoint.
18587         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
18588         compartmentalize tzset issues.  Move system-dependent tzsettish
18589         code here from mktime.
18590         (mktime): Move tzsettish code to my_tzset, and move
18591         localtime_offset to within mktime so that it doesn’t
18592         need a separate ifdef.
18594 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18596         intprops: avoid evaluation of some expressions
18597         This makes EXPR_SIGNED (e) easier to use, as it no longer
18598         evaluates the expression E.  Formerly, E was required to be free
18599         of side effects.
18600         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
18601         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
18602         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
18604 2018-08-23  Bruno Haible  <bruno@clisp.org>
18606         getcwd: Add cross-compilation guesses.
18607         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
18608         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
18609         Based on a patch by Paul Eggert.
18610         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
18611         guesses for all GNU systems.
18613 2018-08-19  Bruno Haible  <bruno@clisp.org>
18615         glob-h: Formalize side effects from other modules.
18616         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
18617         * m4/glob.m4 (gl_GLOB): Invoke it.
18619         fnmatch-h: Formalize side effects from other modules.
18620         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
18621         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
18623         limits-h: Formalize side effects from other modules.
18624         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
18625         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
18627 2018-08-19  Bruno Haible  <bruno@clisp.org>
18629         getpass: Move declaration to <unistd.h>.
18630         * lib/unistd.in.h (getpass): New declaration.
18631         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
18632         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
18633         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
18634         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
18635         On glibc systems, don't set REPLACE_GETPASS to 1.
18636         * modules/getpass (Depends-on): Add 'unistd'.
18637         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
18638         (Include): Specify <unistd.h> instead of "getpass.h".
18639         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
18640         (configure.ac): Sync with the configure.ac section of modules/getpass.
18641         (Include): Specify <unistd.h> instead of "getpass.h".
18642         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
18643         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
18644         REPLACE_GETPASS.
18645         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
18646         REPLACE_GETPASS.
18647         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
18648         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
18649         and musl.
18650         * NEWS: Mention the change.
18652 2018-08-19  Bruno Haible  <bruno@clisp.org>
18654         glob: Fix over-optimization due to attribute __nonnull__.
18655         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
18657 2018-08-19  Bruno Haible  <bruno@clisp.org>
18659         glob: Fix another compilation error when glob.h is not replaced.
18660         Reported by Reuben Thomas <rrt@sc3d.org> in
18661         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
18662         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
18663         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
18665 2018-08-18  Bruno Haible  <bruno@clisp.org>
18667         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
18668         Reported by Reuben Thomas <rrt@sc3d.org> in
18669         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
18670         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
18671         in config.h.
18673 2018-08-18  Bruno Haible  <bruno@clisp.org>
18675         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
18676         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
18677         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
18678         Solution proposed by Eli Zaretskii.
18679         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
18680         * lib/gettimeofday.c (GetProcAddress): Likewise.
18681         * lib/link.c (GetProcAddress): Likewise.
18682         * lib/physmem.c (GetProcAddress): Likewise.
18683         * lib/poll.c (GetProcAddress): Likewise.
18684         * lib/select.c (GetProcAddress): Likewise.
18685         * lib/stat-w32.c (GetProcAddress): Likewise.
18687 2018-08-18  Bruno Haible  <bruno@clisp.org>
18689         glob: Fix another compilation error when glob.h is not replaced.
18690         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
18691         * lib/globfree.c: Include <libc-config.h>.
18693 2018-08-18  Bruno Haible  <bruno@clisp.org>
18695         glob: Fix compilation error when glob.h is not replaced.
18696         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
18697         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
18698         * lib/glob_pattern_p.c: Include <libc-config.h>.
18699         * modules/glob (Depends-on): Add libc-config.
18701 2018-08-18  Bruno Haible  <bruno@clisp.org>
18703         scratch_buffer: Add tests.
18704         * tests/test-scratch-buffer.c: New file.
18705         * modules/scratch_buffer-tests: New file.
18707 2018-08-18  Bruno Haible  <bruno@clisp.org>
18709         scratch_buffer: Fix include file.
18710         Reported by Reuben Thomas <rrt@sc3d.org> in
18711         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
18712         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
18713         double-inclusion guard.
18715 2018-08-18  Bruno Haible  <bruno@clisp.org>
18717         glob-h: Revert Paul Eggert's revert.
18718         * m4/glob_h.m4: Revert to previous state.
18719         * modules/glob-h: Likewise.
18721 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
18723         glob-h: always build glob.h
18724         This works around a problem reported by Reuben Thomas in:
18725         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
18726         This workaround always builds glob.h, even on platforms that
18727         do not need it; perhaps this could be improved someday.
18728         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
18729         is always created now.
18730         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
18732 2018-08-13  Bruno Haible  <bruno@clisp.org>
18734         monetary: Simplify m4 code.
18735         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
18736         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
18738 2018-08-13  Bruno Haible  <bruno@clisp.org>
18740         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
18741         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
18742         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
18743         and by Paul J. Lucas <paul@lucasmail.org> in
18744         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
18745         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
18747 2018-08-11  Bruno Haible  <bruno@clisp.org>
18749         setlocale: Trivial simplification.
18750         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
18752 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
18754         verify: port 'assume' to traditional tools
18755         * lib/verify.h (assume): Port better to Oracle Studio 12.6
18756         and other tools that use /*NOTREACHED*/ comments.
18758 2018-08-10  Bruno Haible  <bruno@clisp.org>
18760         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
18761         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
18762         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
18763         'fnmatch-gnu' is in use.
18765 2018-08-07  Bruno Haible  <bruno@clisp.org>
18767         glob-h: Add tests.
18768         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
18769         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
18770         tests/test-glob-h.c.
18771         * modules/glob-h-tests: New file.
18772         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
18773         conditions.
18774         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
18775         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
18777 2018-08-07  Bruno Haible  <bruno@clisp.org>
18779         glob-h: New module.
18780         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
18781         replacements.
18782         * lib/glob.c: Include <config.h>.
18783         * m4/glob_h.m4: New file.
18784         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
18785         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18786         REPLACE_GLOB_PATTERN_P as appropriate.
18787         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
18788         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
18789         * modules/glob-h: New file.
18790         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
18791         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
18792         lstat, sys_stat. Change conditions.
18793         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18794         REPLACE_GLOB_PATTERN_P. Set module indicator.
18795         (Makefile.am): Remove code that is moved to glob-h.
18796         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
18797         * modules/posixcheck (Depends-on): Add glob-h.
18799 2018-08-06  Bruno Haible  <bruno@clisp.org>
18801         Force generation of substitute .h file when C++ support is enabled.
18802         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
18803         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
18804         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
18805         FNMATCH_H to non-empty.
18806         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
18807         ICONV_H to non-empty.
18808         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
18809         MONETARY_H to non-empty.
18810         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
18811         non-empty.
18813 2018-08-06  Bruno Haible  <bruno@clisp.org>
18815         fnmatch-h: Fix test compilation error on mingw (regression from today).
18816         * lib/fnmatch.in.h: Fix conditions.
18818 2018-08-06  Bruno Haible  <bruno@clisp.org>
18820         sys_resource: Relicense under LGPLv2+.
18821         John Malmberg's approval is in
18822         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
18823         * modules/sys_resource (License): Change to LGPLv2+.
18825 2018-08-06  Bruno Haible  <bruno@clisp.org>
18827         fnmatch-h: Add tests.
18828         * tests/test-fnmatch-h.c: New file.
18829         * modules/fnmatch-h-tests: New file.
18830         * tests/test-fnmatch-h-c++.cc: New file.
18831         * modules/fnmatch-h-c++-tests: New file.
18833 2018-08-06  Bruno Haible  <bruno@clisp.org>
18835         fnmatch-h: New module.
18836         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
18837         replacements.
18838         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
18839         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
18840         'posixcheck' warning.
18841         * m4/fnmatch_h.m4: New file.
18842         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
18843         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
18844         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
18845         as appropriate.
18846         * modules/fnmatch-h: New file.
18847         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
18848         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
18849         conditions.
18850         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
18851         indicator.
18852         (Makefile.am): Remove code that is moved to fnmatch-h.
18853         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
18854         REPLACE_FNMATCH.
18855         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
18856         * modules/posixcheck (Depends-on): Add fnmatch-h.
18858 2018-08-06  Bruno Haible  <bruno@clisp.org>
18860         Enable more C++ tests.
18861         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
18862         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
18863         * modules/strings-tests (Depends-on): Add strings-c++-tests.
18864         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
18865         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
18867 2018-08-06  Bruno Haible  <bruno@clisp.org>
18869         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
18870         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
18871         getopt.h.
18872         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
18874 2018-08-05  Bruno Haible  <bruno@clisp.org>
18876         utime-h: Generate header file when module 'posixcheck' is in use.
18877         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
18878         UTIME_H to non-empty.
18880 2018-08-05  Bruno Haible  <bruno@clisp.org>
18882         monetary: Generate header file when module 'posixcheck' is in use.
18883         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
18884         use, set MONETARY_H to non-empty.
18886 2018-08-05  Bruno Haible  <bruno@clisp.org>
18888         iconv-h: Generate header file when module 'posixcheck' is in use.
18889         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
18890         set ICONV_H to non-empty.
18892 2018-08-05  Bruno Haible  <bruno@clisp.org>
18894         Optimize the "checking whether ... is declared without a macro" checks.
18895         Suggested by Paul Eggert in
18896         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
18897         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
18898         Gnulib module 'posixcheck' is not in use.
18900 2018-08-05  Bruno Haible  <bruno@clisp.org>
18902         iconv-h: Enable 'posixcheck' warnings.
18903         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
18904         iconv_open.
18905         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
18907 2018-08-05  Bruno Haible  <bruno@clisp.org>
18909         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
18910         * m4/extern-inline.m4: Add more comments.
18911         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
18912         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
18913         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
18915 2018-08-04  Bruno Haible  <bruno@clisp.org>
18917         New module 'posixcheck'.
18918         * modules/posixcheck: New file.
18919         * m4/posixcheck.m4: New file.
18920         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
18921         (Which modules?): Reference it.
18923 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
18925         dfa: fix memory leak
18926         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
18928 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
18930         ieee754-h: new module
18931         It looks like Emacs can use this for some NaN processing.
18932         Emacs uses it only on double NaNs so it should be safe.
18933         * MODULES.html.sh (func_all_modules): Add ieee754-h.
18934         * config/srclist.txt: Mention ieee754.h in a comment.
18935         * doc/glibc-headers/ieee754.texi (ieee754.h):
18936         Gnulib now has a substitute that should work
18937         except for long double and for non-IEEE platforms.
18938         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
18939         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
18941 2018-07-27  Bruno Haible  <bruno@clisp.org>
18943         iswcntrl: Mention minor problem on macOS.
18944         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
18946 2018-07-26  Colin Watson  <cjwatson@debian.org>
18948         bootstrap, gnulib-tool: fix translations rsync
18949         Previously, we created files such as $pobase/Makefile.in.in and then the
18950         subsequent rsync would immediately delete them.
18951         * build-aux/bootstrap (po_download_command_format): Avoid deleting
18952         non-.po files in target directory when rsyncing translations.
18953         * gnulib-tool (func_import): Likewise.
18954         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18956 2018-07-25  Jim Meyering  <meyering@fb.com>
18958         bootstrap: reinstate definition fo gnulib_mk.
18959         That variable is used at least by cppi.
18960         * build-aux/bootstrap (gnulib_mk): Restore definition.
18961         This reverts the deletion from v0.1-1844-gc66dba9ba.
18963 2018-07-23  Bruno Haible  <bruno@clisp.org>
18965         doc: For module names, use texinfo markup @code{} or @samp{}.
18966         * doc/alloca.texi: Mark gnulib module names with @code.
18967         * doc/alloca-opt.texi: Likewise.
18968         * doc/quote.texi: Likewise.
18969         * doc/posix-functions/freopen.texi: Likewise.
18970         * doc/posix-functions/open.texi: Likewise.
18971         * doc/posix-functions/readlink.texi: Likewise.
18972         * doc/posix-functions/readlinkat.texi: Likewise.
18973         * doc/posix-functions/stdout.texi: Likewise.
18974         * doc/posix-functions/stderr.texi: Likewise.
18975         * doc/posix-functions/unlink.texi: Likewise.
18976         * doc/posix-functions/unlinkat.texi: Likewise.
18977         * doc/posix-functions/utime.texi: Likewise.
18978         * doc/posix-functions/utimensat.texi: Likewise.
18979         * doc/posix-functions/utimes.texi: Likewise.
18980         * doc/posix-headers/stdint.texi: Likewise.
18981         * doc/glibc-functions/futimesat.texi: Likewise.
18982         * doc/glibc-functions/lutimes.texi: Likewise.
18983         * doc/glibc-functions/memmem.texi: Likewise.
18985 2018-07-23  Werner LEMBERG  <wl@gnu.org>
18987         doc: Avoid some overfull lines in the TeX output.
18988         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
18989         @example.
18990         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
18991         newline before the long URL.
18992         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
18993         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
18994         Add line breaks in code snippets.
18996 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18998         hard-locale: simplify by removing hard-locale.m4
18999         * m4/hard-locale.m4: Remove.
19000         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
19001         (configure.ac): Do not call gl_HARD_LOCALE.
19003         gnulib-tool: limit line length for git send-email
19004         * gnulib-tool (func_import): Break actioncmd log line
19005         into multiple lines.
19007 2018-07-16  Bruno Haible  <bruno@clisp.org>
19009         ffs: Ensure declaration on mingw.
19010         Reported by Daniel P. Berrangé <berrange@redhat.com>
19011         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
19012         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
19013         also declared.
19015 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
19017         regex-tests: add dependency
19018         * modules/regex-tests (Depends-on): Add gettext-h.
19019         This is needed given the recent changes to regex,
19020         which no longer depends on gettext-h.
19022 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19024         regex: now in sync with glibc
19025         * config/srclist.txt: Gnulib and glibc regex code
19026         are synchronized again.
19028 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19030         renameatu: rename from renameat2
19031         It's looking like Glibc will add a renameat2 function
19032         that is incompatible with Gnulib renameat2; see:
19033         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
19034         To help avoid future confusion, rename renameat2 to something else.
19035         Use the name 'renameatu', as the Gnulib function is close to the
19036         Glibc function.  Perhaps someday there will also be a renameat2
19037         Gnulib module, which mimicks the future glibc renameat2, but that
19038         can wait as nobody seems to need such a module now.
19039         * NEWS: Mention this.
19040         * lib/renameatu.c: Rename from lib/renameat2.c.
19041         * lib/renameatu.h: Rename from lib/renameat2.h.
19042         * modules/renameatu: Rename from modules/renameat2.
19043         * modules/renameatu-tests: Rename from modules/renameat2-tests.
19044         All uses of "renameat2" in identifiers or file name
19045         changed to "renameatu", except for two instances in
19046         lib/renameatu.c that deal with the Linux kernel's
19047         renameat2 syscall.
19049 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19051         gnulib-tool: minor tweaks for --gnu-make
19052         * gnulib-tool: Do not allow --gnu-make in test modes,
19053         since they all require automake.
19054         (func_emit_lib_Makefile_am): Don’t emit automake comment
19055         if --gnu-make.
19057         regex: work around conditional-dependencies glitch
19058         * modules/regex (Depends-on): Add langinfo.
19059         Without this change, I had problems building an experimental
19060         version of GNU Emacs.  The symptom of the bug was a message
19061         ‘./configure: line 12726: test: =: unary operator expected’.
19062         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
19063         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
19064         was unset.  Although gl_FUNC_NL_LANGINFO has
19065         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
19066         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
19067         --conditional-dependencies sometimes arranges for the
19068         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
19069         code.  Since the regex code includes <langinfo.h> it should be
19070         depending on the langinfo module anyway, and this happens to work
19071         around the bug, so install that as a workaround for now.  To
19072         reproduce the original problem, run the following shell script on
19073         the version of Gnulib just before this patch was installed.
19074                 rm -fr foo
19075                 mkdir foo
19076                 cat >foo/configure.ac <<'EOF'
19077                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
19078                 gl_EARLY
19079                 gl_INIT
19080                 AC_OUTPUT
19081                 EOF
19082                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
19083                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
19084                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
19085                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
19086                 cd foo
19087                 aclocal -I m4
19088                 autoconf
19089                 ./configure --with-included-regex
19091 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19093         wchar: fix bug when checking for ‘inline’
19094         I discovered this when looking into using the regex module
19095         with Emacs.
19096         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
19097         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
19098         conftest1.c and conftest2.c but these files were not created.
19099         As far as I can see, this check never worked and nobody reported
19100         it until now, which is a bit worrisome.
19102 2018-06-30  Jim Meyering  <meyering@fb.com>
19104         bootstrap: s/--option val/--option=val/
19105         * build-aux/bootstrap (gnulib_tool_options): Change the
19106         spelling of "--option val" pairs to "--option=val", for
19107         aesthetics, and also so that this file no longer triggers
19108         a common help2man syntax-check warning when copied into
19109         projects like grep, gzip, etc.
19111 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19113         manywarnings: omit -Wswitch-default
19114         This should make things more consistent, as we already ignore
19115         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
19116         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
19117         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
19118         Add -Wswitch-default.
19119         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
19120         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
19121         Remove -Wswitch-default.
19123         regex: revert most trimming
19124         Problems reported by Bruno Haible in:
19125         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
19126         * modules/regex (Depends-on): Add lock, memcmp, memmove,
19127         and wctype back in.  lock because regex users shouldn’t
19128         need to know that regex needs locking, and the rest because
19129         gnulib-tool should ordinarily ignore them anyway.
19131 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19133         regex: trim module dependencies
19134         * modules/regex (Depends-on): Remove gettext-h and lock,
19135         since the regex code should work OK without these modules,
19136         and Emacs uses it that way.  Also remove memcmp, memmove,
19137         and wctype, as these modules are obsolete and should not be
19138         needed any more.
19140 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
19142         regex: glibc does not use intprops.h
19143         Maybe we can talk glibc into using intprops.h someday, but
19144         now doesn’t seem to be a good time.
19145         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
19146         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
19147         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
19149 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
19151         regex: port to recently proposed glibc regex merge
19152         This patch is inspired by Adhemerval Zanella's recent proposal
19153         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
19154         to merge glibc and Gnulib regex.  It aims to simplify the merge on
19155         the glibc side, without keeping Gnulib portable.
19156         * lib/regex.h: Fix a problem with glibc installed-header checking,
19157         as follows:
19158         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
19159         (_Restrict_arr_): Prefer __restrict_arr if defined,
19160         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
19161         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
19162         (build_wcs_upper_buffer, build_upper_buffer)
19163         (re_string_translate_buffer, re_string_context_at):
19164         Move decls here from lib/regex_internal.h, for glibc internal tests.
19165         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
19166         glibc BZ #18496.
19167         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
19168         -Wunused-value.
19169         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
19170         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19171         (bitset_mask): Now static inline, and without any __attribute__
19172         ((unused)) decoration, for glibc internal tests.
19174 2018-06-25  Bruno Haible  <bruno@clisp.org>
19176         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
19177         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
19178         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
19179         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
19180         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
19181         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
19182         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
19183         / -lthread / -lpth does not get optimized away by a preceding
19184         --as-needed option.
19186 2018-06-25  Bruno Haible  <bruno@clisp.org>
19188         Continue to use spaces for indentation, not tabs.
19189         * MODULES.html.sh: Untabify.
19190         * doc/regex.texi: Likewise.
19191         * lib/acl-internal.c: Likewise.
19192         * lib/dfa.c: Likewise.
19193         * lib/exclude.c: Likewise.
19194         * lib/exclude.h: Likewise.
19195         * lib/get-permissions.c: Likewise.
19196         * lib/gettimeofday.c: Likewise.
19197         * lib/parse-datetime.y: Likewise.
19198         * lib/pselect.c: Likewise.
19199         * lib/set-permissions.c: Likewise.
19200         * lib/time.in.h: Likewise.
19201         * m4/canonicalize.m4: Likewise.
19202         * m4/gc.m4: Likewise.
19203         * m4/gnulib-common.m4: Likewise.
19204         * m4/pthread_sigmask.m4: Likewise.
19205         * m4/vararrays.m4: Likewise.
19206         * tests/test-digest.h: Likewise.
19207         * tests/test-fcntl-h.c: Likewise.
19208         * tests/test-timespec.c: Likewise.
19209         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
19211 2018-06-25  Bruno Haible  <bruno@clisp.org>
19213         manywarnings: Don't enable -Wjump-misses-init warnings by default.
19214         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
19215         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
19216         -Wjump-misses-init.
19218 2018-06-25  Jim Meyering  <meyering@fb.com>
19220         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
19221         * lib/acl-internal.h (free_permission_context): Remove that
19222         attribute directive.  Otherwise, it would provoke this from GCC 9:
19223         lib/acl-internal.h:300:3: error: 'const' attribute on function \
19224           returning 'void' [-Werror=attributes]
19226 2018-06-24  Jim Meyering  <meyering@fb.com>
19228         parse-datetime: accommodate gcc-4.8.5
19229         Bruno Haible reported the build failure in
19230         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
19231         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
19232         on declaration of new local.
19234 2018-06-24  Bruno Haible  <bruno@clisp.org>
19236         af_alg: Fail in continuable manner on Linux/powerpc64le.
19237         Reported by Assaf Gordon <assafgordon@gmail.com>
19238         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
19239         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
19240         byte send() as the first round.
19242 2018-06-24  Bruno Haible  <bruno@clisp.org>
19244         af_alg: Fix state of stream after sendfile() succeeds.
19245         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
19246         the stream is correctly positioned afterwards.
19247         * modules/crypto/af_alg (Depends-on): Add fflush.
19248         * tests/test-digest.h (test_digest_on_files): Verify that after the
19249         operation the stream is positioned at end of file.
19251 2018-06-24  Jim Meyering  <meyering@fb.com>
19253         canon-host: take GCC9's advice rather than ignoring warning
19254         Pádraig Brady suggested not to ignore this GCC9 advice.
19255         * lib/canon-host.c: Undo preceding change.
19256         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
19258         parse-datetime.y: avoid spurious GCC 9 warning
19259         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
19260         a function local prior to the first "goto fail".  The prior use would
19261         evoke this:
19262         parse-datetime.y: In function 'parse_datetime2':
19263         parse-datetime.y:1791:19: error: jump skips variable initialization \
19264           [-Werror=jump-misses-init]
19265         parse-datetime.y:2385:2: note: label 'fail' defined here
19266         parse-datetime.y:188:43: note: '({anonymous})' declared here
19267         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
19269         canon-host.c: avoid spurious GCC 9 warning
19270         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
19272         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
19273         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
19274         * m4/manywarnings.m4: Remove them.
19275         Otherwise, building coreutils, I would see this:
19276         cc1: error: deprecated command line option '-Wchkp' [-Werror]
19277         cc1: error: -Wabi won't warn about anything [-Werror=abi]
19278         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
19279           which is also used by default
19280         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
19282 2018-06-24  Bruno Haible  <bruno@clisp.org>
19284         af_alg tests: Add another test.
19285         * tests/test-digest.h (test_digest_on_files): Also check a large file
19286         with a skipped header.
19287         * tests/test-md5.c: Include macros.h.
19288         * tests/test-sha1.c: Likewise.
19289         * tests/test-sha256.c: Likewise.
19290         * tests/test-sha512.c: Likewise.
19291         * modules/crypto/md5-tests (Files): Add tests/macros.h.
19292         * modules/crypto/sha1-tests (Files): Likewise.
19293         * modules/crypto/sha256-tests (Files): Likewise.
19294         * modules/crypto/sha512-tests (Files): Likewise.
19296 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19298         maint: clarify comments about sticky EOF
19299         * lib/af_alg.c: Be more direct that we can't
19300         assume stickiness of EOF for portability reasons.
19301         * lib/md5.c: Clarify that this isn't just a glibc issue.
19302         * lib/sha1.c: Likewise.
19303         * lib/sha256.c: Likewise.
19304         * lib/sha512.c: Likewise.
19306 2018-06-24  Bruno Haible  <bruno@clisp.org>
19308         af_alg: Comment and style improvements.
19309         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
19310         (afalg_buffer, afalg_stream): Improve comments.
19312 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19314         af_alg: disable kernel hash functions by default
19315         All the kernel routines were seen to be significantly slower
19316         with these relatively recent components on an i3-2310M system:
19317           kernel-4.10.6-200.fc25.x86_64
19318           openssl-1.0.2m-1.fc25.x86_64
19319         sha1 was nearly twice as slow in the kernel for example.
19320         Further considerations why this should not be the default, at:
19321         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
19323         * m4/af_alg.m4: Require --with-linux-crypto to enable.
19324         * m4/gl-openssl.m4: Tweak accordingly.
19326 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19328         af_alg: avoid hangs when reading from streams
19329         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
19330         and thus avoid doing a fread() when feof() is set.
19331         * lib/md5.c: Ensure feof() is called before fread().
19332         * lib/sha1.c: Likewise.
19333         * lib/sha256.c: Likewise.
19334         * lib/sha512.c: Likewise.
19336 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19338         af_alg: fix error handling when hash not returned
19339         * lib/af_alg.c (afalg_stream): Handle the case where we've
19340         successfully written data to the kernel in the read/write loop,
19341         but the kernel doesn't respond with the hash.
19343 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19345         libc-config: merge from glibc
19346         * lib/cdefs.h (__inline, __restrict):
19347         Copy from current glibc.  This fixes glibc bug 17721,
19348         which Gnulib had already fixed in a different way.
19349         (__nonnull): Lessen the distance from glibc by using the
19350         glibc definition inside an ‘#ifndef __nonnull’.
19351         (__attribute_nonstring__): New macro, copied from
19352         current glibc.
19353         * lib/libc-config.h (__attribute_nonstring__): New undef.
19354         (__restrict): Remove; workaround no longer needed.
19355         Keep the __inline workaround, though, as it uses HAVE___INLINE to
19356         support more compilers than the glibc __inline can.
19358 2018-06-24  Bruno Haible  <bruno@clisp.org>
19360         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
19361         * lib/mbrtowc.c (enc_t): New enum type.
19362         (locale_enc, locale_enc_cached): New functions.
19363         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
19364         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
19365         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
19366         instead.
19367         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
19368         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
19369         * modules/wcwidth (configure.ac): Invoke it.
19371 2018-06-24  Bruno Haible  <bruno@clisp.org>
19373         wchar-single: Fix test failure in wcwidth tests.
19374         * tests/test-wcwidth.c (main): If the wchar-single module is present,
19375         skip the tests in the C locale.
19377 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19379         crypto: mention --without-linux-crypto in --with-openssl --help
19380         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
19381         routines take precedence in --with-openssl help output.
19383 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19385         wchar-single: a new module to enable optimizations in wchar replacements
19386         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
19387         GNULIB_WCHAR_SINGLE is enabled.
19388         * lib/wcwidth.c (wcwidth): Likewise.
19390 2018-06-23  Bruno Haible  <bruno@clisp.org>
19392         libc-config: Fix conflict with FreeBSD include files.
19393         * lib/cdefs.h (__nonnull): Remove definition.
19394         * lib/libc-config.h (__nonnull): Remove undefinition.
19396 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19398         random_r: do not crash if state is unaligned
19399         Problem reported by Bruce Korb in:
19400         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
19401         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
19402         with 'cc -O2 -xmemalign=8s'.
19403         * lib/random_r.c: Include string.h, for memcpy.
19404         (get_int32, set_int32): New functions.
19405         (__srandom_r, __initstate_r, __setstate_r, __random_r):
19406         Use them to avoid assumption that state pointer is aligned.
19407         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
19408         * tests/test-random_r.c (test_failed): New function.
19409         (main): Use it, to test for alignment bugs.
19411         random_r: omit unnecessary include
19412         * lib/random_r.c: Do not include limits.h.
19414         random, random_r: merge from glibc
19415         * lib/random.c, lib/random_r.c:
19416         Include libc-config.h if !_LIBC, not config.h unilaterally.
19417         * lib/random.c:
19418         Do not include stdint.h or time.h; not needed.
19419         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
19420         (unsafe_state): Rename from generator.  All uses changed.
19421         Use C99-style initializers.
19422         (__random, __srandom, __initstate, __setstate): Rename from
19423         non-underscored version, but define it to non-underscored version
19424         on Gnulib.  Add a lock.
19425         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
19426         Likewise.
19427         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
19428         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
19429         (__srandom_r): Use int32_t instead of long int where int32_t will do.
19430         (__random_r): Use uint32 to fix glibc bug 17343.
19431         * modules/random, modules/random_r (Depends-on): Add libc-config.
19432         Depend on stdint only if $HAVE_RANDOM = 0.
19434 2018-06-19  Jim Meyering  <meyering@fb.com>
19436         README-release: also run any check-very-expensive tests
19437         * top/README-release: Adjust instructions so they run the
19438         check-very-expensive tests when there is such a target.
19440 2018-06-18  Bruno Haible  <bruno@clisp.org>
19442         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
19443         * m4/pthread_rwlock_rdlock.m4: Add comment.
19444         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
19445         are reader-preferring in glibc.
19446         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
19447         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
19449 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
19451         crypto: use byteswap
19452         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
19453         * lib/sm3.c: Include <byteswap.h>.
19454         (SWAP): Use its macros rather than reinventing the wheel.
19455         * modules/crypto/md4, modules/crypto/md5-buffer:
19456         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
19457         * modules/crypto/sha512-buffer, modules/crypto/sm3:
19458         (Depends-on): Add byteswap.
19460 2018-06-17  Pádraig Brady  <P@draigBrady.com>
19462         gendocs.sh: fix support for legacy --texi2html
19463         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
19464         to the default makeinfo invocation.
19465         Reported by Bruce Korb
19467 2018-06-17  Bruno Haible  <bruno@clisp.org>
19469         gettext po infrastructure: Update from current gettext git.
19470         Reported by Akim Demaille <akim@lrde.epita.fr>.
19471         * build-aux/po/Makefile.in.in: Update from current gettext git.
19472         * build-aux/po/remove-potcdate.sin: Likewise.
19473         * config/srclist.txt: Temporarily disable sync for these files.
19475 2018-06-17  Bruno Haible  <bruno@clisp.org>
19477         getloadavg: Return 0 on Windows without Cygwin.
19478         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
19480 2018-06-17  Paul Smith  <psmith@gnu.org>
19482         getloadavg: Allow building on Windows without Cygwin
19483         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
19484         * m4/getloadavg.m4: Check for unistd.h.
19486 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19488         Port crypto/af_alg to GCC 4.8.4
19489         Problem reported by Peter Simons in:
19490         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
19491         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
19493 2018-05-27  Colin Watson  <cjwatson@debian.org>
19495         bootstrap: document source fetching in --help
19496         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
19498 2018-04-09  Colin Watson  <cjwatson@debian.org>
19500         bootstrap: allow non-submodule control of gnulib
19501         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
19502         bootstrap.conf when fetching gnulib using "git clone" or via
19503         GNULIB_SRCDIR.
19505 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19507         crypto: omit stream ops Emacs doesn’t need
19508         * lib/md5.c (md5_stream):
19509         * lib/sha1.c (sha1_stream):
19510         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
19511         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19512         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
19513         defined.  Emacs needs this, as it does not use the stream
19514         operations and doesn’t need all the af_alg stuff we’ve recently
19515         added.  Perhaps a similar change is needed to the other crypto
19516         modules, but this patch changes only those needed for Emacs.
19517         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
19518         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
19519         New modules, used by Emacs.
19520         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19521         * modules/crypto/sha512: Rewrite to depend on the new modules.
19523 2018-05-20  Pádraig Brady  <P@draigBrady.com>
19525         fts: avoid a memory leak edge case
19526         * lib/fts.c (fts_open): Set an appropriate fts_level
19527         so that an immediate fts_close() will free the allocation.
19528         * tests/test-fts.c (fts_dealloc): Add a test case which
19529         will trigger under valgrind or address sanitizer.
19530         Fixes https://bugs.gnu.org/31439
19532 2018-05-20  Bruno Haible  <bruno@clisp.org>
19534         wcwidth tests: Fix link error.
19535         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
19536         $(LIBUNISTRING).
19538 2018-05-20  Bruno Haible  <bruno@clisp.org>
19540         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
19541         * modules/regex (Files): Add m4/glibc21.m4.
19543 2018-05-20  Bruno Haible  <bruno@clisp.org>
19545         localcharset: Optimize.
19546         * lib/localcharset.c (alias_table): Comment out no-op mappings for
19547         platforms where these don't matter. This reduces the table size,
19548         which in turn reduces the lookup time.
19550 2018-05-19  Bruno Haible  <bruno@clisp.org>
19552         localcharset: Map the locale encodings found in newer OSes.
19553         * lib/localcharset.c (alias_table): Add mapping for locale encodings
19554         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
19555         IRIX 6.5, Minix 3.3.
19556         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
19558 2018-05-19  Bruno Haible  <bruno@clisp.org>
19560         localcharset: Move mapping tables into the code. Use a binary search.
19561         * lib/localcharset.h: Document the GNU canonical names for character
19562         encodings here.
19563         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
19564         relocatable.h, configmake.h.
19565         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
19566         macros.
19567         (charset_aliases): Remove variable.
19568         (get_charset_aliases): Remove function.
19569         (struct table_entry): New type.
19570         (alias_table, locale_table): New constants.
19571         (locale_charset): Use the alias_table or locale_table to get the
19572         canonicalized encoding name.
19573         * lib/config.charset: Remove file.
19574         * lib/ref-add.sin: Remove file.
19575         * lib/ref-del.sin: Remove file.
19576         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
19577         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
19578         * modules/localcharset (Notice): Remove.
19579         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
19580         glibc21.m4.
19581         (Depends-on): Remove configmake.
19582         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
19583         (Makefile.am): Simplify.
19584         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
19586 2018-05-19  Bruno Haible  <bruno@clisp.org>
19588         localcharset: Add a manual test.
19589         * tests/test-localcharset.c: New file.
19590         * modules/localcharset-tests: New file.
19592 2018-05-19  Bruno Haible  <bruno@clisp.org>
19594         localcharset: Remove support for obsolete platforms.
19595         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
19596         Mac OS X 10.2. Comment out dubious entry for Solaris.
19598 2018-05-19  Jim Meyering  <meyering@fb.com>
19600         gnupload: adjust comment
19601         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
19602         more likely we'll remove the just-added code in a year or two.
19604 2018-05-19  Bruno Haible  <bruno@clisp.org>
19606         gnupload: Fix "gpg-agent is not available in this session" error.
19607         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
19609 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19611         crypto/af_alg: fix --help
19612         * m4/af_alg.m4: Avoid spurious newline in --help output.
19614 2018-05-13  Bruno Haible  <bruno@clisp.org>
19616         nl_langinfo: Fix compilation error on Android.
19617         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
19618         INT_CURR_SYMBOL, etc. only if these items are defined.
19620 2018-05-13  Bruno Haible  <bruno@clisp.org>
19622         truncate: Fix compilation error on Android.
19623         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
19624         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
19625         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
19626         HAVE_TRUNCATE.
19627         * modules/truncate: Likewise.
19628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
19629         not HAVE_TRUNCATE.
19630         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
19631         HAVE_TRUNCATE.
19632         * doc/posix-functions/truncate.texi: Mention the issue.
19634 2018-05-13  Bruno Haible  <bruno@clisp.org>
19636         pthread: Fix compilation error on Android.
19637         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
19638         recursive inclusion of this file.
19640 2018-05-13  Bruno Haible  <bruno@clisp.org>
19642         posix_spawn: Fix compilation error on Android.
19643         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
19644         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
19645         (posix_spawn_file_actions_t): Consider also the case
19646         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
19648 2018-05-13  Bruno Haible  <bruno@clisp.org>
19650         tsearch: Move from K&R C to ANSI C.
19651         * lib/tsearch.c (tfind): Convert definition to ANSI C.
19653 2018-05-13  Bruno Haible  <bruno@clisp.org>
19655         tsearch: Fix compilation error on Android.
19656         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
19657         is 0.
19658         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
19659         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
19660         GNULIB_defined_tsearch is true.
19661         (twalk): Define only if GNULIB_defined_twalk is true.
19662         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
19663         is 0.
19664         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
19665         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
19666         * modules/search (Makefile.am): Substitute HAVE_TWALK.
19668 2018-05-13  Bruno Haible  <bruno@clisp.org>
19670         imaxdiv: Fix compilation error on Android.
19671         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
19672         is not defined.
19673         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
19674         HAVE_DECL_IMAXDIV, is 0.
19675         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
19676         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
19678 2018-05-13  Bruno Haible  <bruno@clisp.org>
19680         Support selective inclusion mechanism of recent mingw.org header files.
19681         Reported by Eli Zaretskii <eliz@gnu.org>.
19682         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
19683         __need_ssize_t, or __need_time_t is defined, just include the system's
19684         <sys/types.h>.
19685         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
19686         include the system's <locale.h>.
19688 2018-05-13  Bruno Haible  <bruno@clisp.org>
19690         Avoid compilation error due to 'mmap' on Android.
19691         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
19692         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
19693         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
19694         Undefine on Android.
19696 2018-05-13  Bruno Haible  <bruno@clisp.org>
19698         Add cross-compilation guesses for Linux systems without glibc.
19699         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
19700         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
19701         * m4/link.m4 (gl_FUNC_LINK): Likewise.
19702         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
19703         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
19704         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
19705         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
19706         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
19707         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
19708         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
19709         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
19710         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19711         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
19712         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19713         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
19714         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
19715         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19716         * m4/utimens.m4 (gl_UTIMENS): Likewise.
19718 2018-05-13  Bruno Haible  <bruno@clisp.org>
19720         getpagesize: Fix compilation error on Android.
19721         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
19722         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
19723         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
19724         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
19725         HAVE_GETPAGESIZE accordingly.
19726         * modules/getcwd (Files): Add m4/getpagesize.m4.
19728 2018-05-13  Bruno Haible  <bruno@clisp.org>
19730         tcgetsid: Fix compilation error on Android.
19731         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
19732         AC_CHECK_FUNC.
19734 2018-05-13  Bruno Haible  <bruno@clisp.org>
19736         getpass: Fix configure test for Android.
19737         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
19738         AC_CHECK_FUNC.
19740 2018-05-13  Bruno Haible  <bruno@clisp.org>
19742         ffs: Fix compilation error on Android.
19743         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
19745 2018-05-13  Bruno Haible  <bruno@clisp.org>
19747         mkfifo: Fix compilation error on Android.
19748         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
19749         AC_CHECK_FUNC.
19751 2018-05-13  Bruno Haible  <bruno@clisp.org>
19753         c-strtod: Fix configure test for Android.
19754         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
19755         AC_CHECK_FUNC.
19757 2018-05-13  Bruno Haible  <bruno@clisp.org>
19759         random: Fix compilation error on Android.
19760         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
19761         AC_CHECK_FUNC.
19763 2018-05-13  Bruno Haible  <bruno@clisp.org>
19765         grantpt: Fix compilation error on Android.
19766         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
19767         AC_CHECK_FUNC.
19769 2018-05-13  Bruno Haible  <bruno@clisp.org>
19771         stdioext: Fix compilation errors with newer Android headers.
19772         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
19773         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
19774         fallbacks for Android.
19775         * lib/fpending.c: Update comments.
19776         * lib/fpurge.c: Likewise.
19777         * lib/freadable.h: Likewise.
19778         * lib/freadable.c: Likewise.
19779         * lib/freadahead.c: Likewise.
19780         * lib/freading.h: Likewise.
19781         * lib/freadptr.c: Likewise.
19782         * lib/fseterr.c: Likewise.
19783         * lib/fwritable.h: Likewise.
19784         * lib/fwritable.c: Likewise.
19785         * lib/fwriting.h: Likewise.
19786         * lib/fwriting.c: Likewise.
19788 2018-05-13  Bruno Haible  <bruno@clisp.org>
19790         doc: Add info about Android versions 2.0 to 8.1.
19791         * doc/**/*.texi: Add info about functions in all released versions of
19792         Bionic.
19794 2018-05-12  Bruno Haible  <bruno@clisp.org>
19796         fseeko: On mingw, don't use the hidden function _fseeki64.
19797         Reported by Eli Zaretskii <eliz@gnu.org>.
19798         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
19799         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
19801 2018-05-12  Bruno Haible  <bruno@clisp.org>
19803         glob: Choose 'dirent_type' in a way that works better on mingw.
19804         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
19805         * lib/glob.c (dirent_type): Define as uint_fast32_t.
19807 2018-05-12  Bruno Haible  <bruno@clisp.org>
19809         execute, spawn-pipe: Avoid warning about redefining 'close'.
19810         Reported by Eli Zaretskii <eliz@gnu.org>.
19811         * lib/execute.c: Undefine 'close' before redefining it.
19812         * lib/spawn-pipe.c: Likewise.
19814 2018-05-12  Bruno Haible  <bruno@clisp.org>
19816         nanosleep: Avoid test failure on mingw when it has nanosleep.
19817         Reported by Eli Zaretskii <eliz@gnu.org>.
19818         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
19819         If it does not exist, use a simpler test program that does not call
19820         alarm().
19822 2018-05-10  Bruno Haible  <bruno@clisp.org>
19824         lock, cond, thread, tls: Use a different symbol as libpthread witness.
19825         Reported by Devin Hussey <husseydevin@gmail.com>.
19826         Based on a patch by Paul Eggert.
19827         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
19828         as witness of libpthread.
19829         * lib/glthread/cond.h (pthread_in_use): Likewise.
19830         * lib/glthread/thread.h (pthread_in_use): Likewise.
19831         * lib/glthread/tls.h (pthread_in_use): Likewise.
19833 2018-05-10  Bruno Haible  <bruno@clisp.org>
19835         cond tests: Fix compilation error on Solaris.
19836         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
19837         macro.
19839 2018-05-10  Bruno Haible  <bruno@clisp.org>
19841         doc: Add partial info about Android 4.3.
19842         * doc/*-functions/*.texi: Add info about functions that were added
19843         to Bionic between Android 4.3 and Android 9.0.
19845 2018-05-10  Bruno Haible  <bruno@clisp.org>
19847         doc: Add info about Android 9.0.
19848         * doc/**/*.texi: Add info about functions and headers in Bionic from
19849         Android 9.0.
19851 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
19853         af_alg: fix my typo in afalg_buffer
19854         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
19855         (afalg_stream): Simplify and avoid the need for a runtime test
19856         at the end.
19858         af_alg: recover better from crypto failures
19859         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
19860         input stream is seekable, by repositioning the stream back to
19861         where it was, possibly by just calling sendfile with an offset
19862         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
19863         cases, which lets our callers try again with user-mode code.
19864         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
19865         instead of on fflush and lseek.
19867         af_alg: distiguish I/O errors better
19868         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
19869         not -EIO, if it’s OK for the caller to try again with user-mode code.
19870         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
19871         some other error number) if fflush fails, as the caller should not
19872         try again that case.
19874         af_alg: avoid gotos
19875         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
19876         gotos, as they were a source of unreliability and made the code a
19877         bit harder to follow.
19879         af_alg: don’t leak file descriptors into children
19880         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
19881         This code should be compiled only on recent GNU/Linux platforms
19882         so we shouldn’t have to also depend on the accept4 module.
19884         af_alg: coalesce socket creation
19885         * lib/af_alg.c (alg_socket): New function.
19886         (afalg_buffer, afalg_stream): Use it.  This avoids some
19887         code duplication and gotos.
19889         af_alg: fix file descriptor leak
19890         * lib/af_alg.c (afalg_stream): Close leak.
19892         af_alg: Pacify --enable-gcc-warnings on GCC 8
19893         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
19894         and checking to pacify gcc -Wjump-misses-init on GCC 8.
19896 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19898         af_alg: Pacify --enable-gcc-warnings
19899         Problem reported by Assaf Gordon in:
19900         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
19901         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
19902         gcc -Wjump-misses-init.
19903         * lib/sha512.c (shaxxx_stream): Now static.
19905 2018-05-06  Bruno Haible  <bruno@clisp.org>
19907         af_alg: Add ability to use Linux kernel crypto API on data in memory.
19908         * lib/af_alg.h (afalg_buffer): New declaration.
19909         * lib/af_alg.c (afalg_buffer): New function.
19911 2018-05-06  Bruno Haible  <bruno@clisp.org>
19913         af_alg: Avoid warnings.
19914         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
19915         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
19917 2018-05-06  Bruno Haible  <bruno@clisp.org>
19919         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
19920         * tests/bench-digest.h: New file.
19921         * tests/bench-md5.c: New file.
19922         * tests/bench-sha1.c: New file.
19923         * tests/bench-sha224.c: New file.
19924         * tests/bench-sha256.c: New file.
19925         * tests/bench-sha384.c: New file.
19926         * tests/bench-sha512.c: New file.
19927         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
19928         tests/bench-digest.h.
19929         (Depends-on): Add getrusage, gettimeofday.
19930         (Makefile.am): Add variables to build bench-md5.
19931         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
19932         tests/bench-digest.h.
19933         (Depends-on): Add getrusage, gettimeofday.
19934         (Makefile.am): Add variables to build bench-sha1.
19935         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
19936         tests/bench-sha256.c, tests/bench-digest.h.
19937         (Depends-on): Add getrusage, gettimeofday.
19938         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
19939         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
19940         tests/bench-sha512.c, tests/bench-digest.h.
19941         (Depends-on): Add getrusage, gettimeofday.
19942         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
19944 2018-05-06  Bruno Haible  <bruno@clisp.org>
19946         af_alg: Fix a resource leak.
19947         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
19948         New local variable 'result'.
19950 2018-05-06  Bruno Haible  <bruno@clisp.org>
19952         af_alg: Fix bug with streams that are not at position 0.
19953         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
19954         assume that the stream is positioned at position 0.
19955         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
19956         of the stream.
19957         * lib/md5.h (md5_stream): Likewise.
19958         * lib/sha1.h (sha1_stream): Likewise.
19959         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
19960         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
19961         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
19963         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
19964         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
19965         stream that is not positioned at the beginning.
19967 2018-05-06  Bruno Haible  <bruno@clisp.org>
19969         af_alg: Add configure option to enable/disable use of Linux crypto API.
19970         Suggested by Assaf Gordon <assafgordon@gmail.com>.
19971         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
19972         USE_LINUX_CRYPTO_API.
19973         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
19974         * lib/af_alg.c: Likewise.
19976 2018-05-06  Bruno Haible  <bruno@clisp.org>
19978         Followup to 'af_alg: New module.'.
19979         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
19980         * modules/crypto/sha1 (Depends-on): Likewise.
19981         * modules/crypto/sha256 (Depends-on): Likewise.
19982         * modules/crypto/sha512 (Depends-on): Likewise.
19984 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19986         crypto/{md5,sha1,sha256,sha512}: simplify
19987         * lib/md5.c (md5_stream):
19988         * lib/sha1.c (sha1_stream):
19989         * lib/sha256.c (shaxxx_stream):
19990         Simplify, partly by assuming C99.
19991         * lib/sha256.c (shaxxx_stream):
19992         New function, which implements both sha256 and sha224.
19993         Simplify, partly by assuming C99.
19994         (sha256_stream, sha224_stream):
19995         Use it to avoid code duplication, removing a FIXME.
19996         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19997         Likewise.
19999         af_alg: Improve comments.
20000         * lib/af_alg.h: Use imperatives and tighten up wording.
20002 2018-05-05  Bruno Haible  <bruno@clisp.org>
20004         af_alg: Improve comments.
20005         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
20007 2018-05-05  Bruno Haible  <bruno@clisp.org>
20009         af_alg: New module.
20010         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
20011         * lib/af_alg.c: Include "af_alg.h" before the other header files.
20012         * lib/md5.c: Include "af_alg.h" unconditionally.
20013         (md5_stream): Invoke afalg_stream unconditionally.
20014         * lib/sha1.c: Include "af_alg.h" unconditionally.
20015         (sha1_stream): Invoke afalg_stream unconditionally.
20016         * lib/sha256.c: Include "af_alg.h" unconditionally.
20017         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
20018         * lib/sha512.c: Include "af_alg.h" unconditionally.
20019         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
20020         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
20021         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
20022         * modules/crypto/af_alg: New file.
20023         * modules/crypto/md5 (Files): Remove files that are now in the
20024         'crypto/af_alg' module.
20025         (Depends-on): Add crypto/af_alg.
20026         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20027         (Makefile.am): Don't mention af_alg.c here.
20028         * modules/crypto/sha1 (Files): Remove files that are now in the
20029         'crypto/af_alg' module.
20030         (Depends-on): Add crypto/af_alg.
20031         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20032         (Makefile.am): Don't mention af_alg.c here.
20033         * modules/crypto/sha256 (Files): Remove files that are now in the
20034         'crypto/af_alg' module.
20035         (Depends-on): Add crypto/af_alg.
20036         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20037         (Makefile.am): Don't mention af_alg.c here.
20038         * modules/crypto/sha512 (Files): Remove files that are now in the
20039         'crypto/af_alg' module.
20040         (Depends-on): Add crypto/af_alg.
20041         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
20042         (Makefile.am): Don't mention af_alg.c here.
20044 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20046         crypto tests: pacify GCC
20047         * tests/test-digest.h (test_digest_on_files):
20048         Don’t assume digest size fits in int (!).
20050         af_alg: minor style improvements
20051         * lib/af_alg.c (afalg_stream): Prefer C99 style
20052         decl-after-statement, since we’re already assuming C99.  Clarify
20053         by strengthening the bind test and omit unnecessary assignment.
20055 2018-05-05  Bruno Haible  <bruno@clisp.org>
20057         af_alg: Fix bug on empty files.
20058         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
20059         stream is empty.
20061 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20063         sys-limits.h: new file for crypto and safe I/O
20064         * lib/af_alg.c: Include sys-limits.h.
20065         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
20066         (afalg_stream): Also reject negative sizes for sendfile; they
20067         should not happen and the code is a bit cleaner and faster this way.
20068         * lib/safe-read.c: Include sys-limits.h.
20069         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
20070         * lib/sys-limits.h: New file, with values and commentary derived
20071         from the old safe-read.c and from GNU Emacs sysdep.c.
20072         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
20073         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
20074         Add lib/sys-limits.h to Files section.
20076 2018-05-05  Bruno Haible  <bruno@clisp.org>
20078         af_alg: Improve function signature.
20079         * lib/af_alg.h (afalg_stream): Swap second and third argument.
20080         * lib/af_alg.c (afalg_stream): Likewise.
20081         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
20083 2018-05-05  Bruno Haible  <bruno@clisp.org>
20085         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
20086         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
20087         * modules/crypto/sha1 (Depends-on): Likewise.
20088         * modules/crypto/sha256 (Depends-on): Likewise.
20089         * modules/crypto/sha512 (Depends-on): Likewise.
20091 2018-05-05  Bruno Haible  <bruno@clisp.org>
20093         crypto/{md5,sha1,sha256,sha512}: Fix module description.
20094         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
20095         * modules/crypto/sha1 (Depends-on): Likewise.
20096         * modules/crypto/sha256 (Depends-on): Likewise.
20097         * modules/crypto/sha512 (Depends-on): Likewise.
20099 2018-05-05  Bruno Haible  <bruno@clisp.org>
20101         af_alg: Add documentation.
20102         * lib/af_alg.h: Add comments.
20104 2018-05-05  Bruno Haible  <bruno@clisp.org>
20106         sha512: Add tests.
20107         * tests/test-sha512.c: New file.
20108         * modules/crypto/sha512-tests: New file.
20110 2018-05-05  Bruno Haible  <bruno@clisp.org>
20112         sha256: Add tests.
20113         * tests/test-sha256.c: New file.
20114         * modules/crypto/sha256-tests: New file.
20116 2018-05-05  Bruno Haible  <bruno@clisp.org>
20118         sha1 tests: Add test for sha1_stream.
20119         * tests/test-sha1.c: Include test-digest.h.
20120         (main): Invoke test_digest_on_files on 'sha1_stream'.
20121         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
20123 2018-05-05  Bruno Haible  <bruno@clisp.org>
20125         md5 tests: Add test for md5_stream.
20126         * tests/test-digest.h: New file.
20127         * tests/test-md5.c: Include test-digest.h.
20128         (main): Invoke test_digest_on_files on 'md5_stream'.
20129         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
20131 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20133         md5sum: Use AF_ALG when available.
20134         * lib/md5.c: Include af_alg.h.
20135         (md5_stream): Use afalg_stream when available.
20136         * modules/crypto/md5 (Files): Add the af_alg files.
20137         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20138         (Makefile.am): Add af_alg.c.
20140 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20142         sha512sum: Use AF_ALG when available.
20143         * lib/sha512.c: Include af_alg.h.
20144         (sha512_stream, sha384_stream): Use afalg_stream when available.
20145         * modules/crypto/sha512 (Files): Add the af_alg files.
20146         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20147         (Makefile.am): Add af_alg.c.
20149 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20151         sha256sum: Use AF_ALG when available.
20152         * lib/sha256.c: Include af_alg.h.
20153         (sha256_stream, sha224_stream): Use afalg_stream when available.
20154         * modules/crypto/sha256 (Files): Add the af_alg files.
20155         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20156         (Makefile.am): Add af_alg.c.
20158 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20160         sha1sum: Use AF_ALG when available.
20161         * lib/af_alg.h: New file.
20162         * lib/af_alg.c: New file.
20163         * lib/sha1.c: Include af_alg.h.
20164         (sha1_stream): Use afalg_stream when available.
20165         * m4/linux-if-alg.m4: New file.
20166         * modules/crypto/sha1 (Files): Add the new files.
20167         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20168         (Makefile.am): Add af_alg.c.
20170 2018-05-05  Bruno Haible  <bruno@clisp.org>
20172         all: Replace more http URLs by https URLs.
20173         * lib/localename.c: Use https: URL.
20174         * lib/timespec.h: Likewise.
20176 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20178         maint: port more modules to GCC 8
20179         * lib/dirname.h (base_name):
20180         * lib/exclude.h (new_exclude):
20181         * lib/xstrndup.h (xstrndup):
20182         Add malloc attribute.
20183         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
20184         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
20185         This pacifies GCC 8.
20186         * m4/gnulib-common.m4 (gl_COMMON_BODY):
20187         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
20189 2018-05-03  Bruno Haible  <bruno@clisp.org>
20191         Simplify code. Drop support for Borland C++ on Windows.
20192         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
20193         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
20194         'defined _WIN32'.
20195         * lib/canonicalize-lgpl.c: Likewise.
20196         * lib/classpath.c: Likewise.
20197         * lib/clean-temp.c: Likewise.
20198         * lib/csharpexec.c: Likewise.
20199         * lib/ctime.c: Likewise.
20200         * lib/dosname.h: Likewise.
20201         * lib/dup2.c: Likewise.
20202         * lib/errno.in.h: Likewise.
20203         * lib/error.c: Likewise.
20204         * lib/euidaccess.c: Likewise.
20205         * lib/execute.c: Likewise.
20206         * lib/fcntl.in.h: Likewise.
20207         * lib/fcntl.c: Likewise.
20208         * lib/filename.h: Likewise.
20209         * lib/findprog.c: Likewise.
20210         * lib/flock.c: Likewise.
20211         * lib/fopen.c: Likewise.
20212         * lib/freopen.c: Likewise.
20213         * lib/fstat.c: Likewise.
20214         * lib/fsync.c: Likewise.
20215         * lib/gc-gnulib.c: Likewise.
20216         * lib/get-rusage-data.c: Likewise.
20217         * lib/getaddrinfo.c: Likewise.
20218         * lib/getdelim.c: Likewise.
20219         * lib/getdtablesize.c: Likewise.
20220         * lib/gethostname.c: Likewise.
20221         * lib/getlogin.c: Likewise.
20222         * lib/getlogin_r.c: Likewise.
20223         * lib/getopt.c: Likewise.
20224         * lib/getpagesize.c: Likewise.
20225         * lib/getpass.c: Likewise.
20226         * lib/getrusage.c: Likewise.
20227         * lib/gettimeofday.c: Likewise.
20228         * lib/glob.c: Likewise.
20229         * lib/inttypes.in.h: Likewise.
20230         * lib/isapipe.c: Likewise.
20231         * lib/javaexec.c: Likewise.
20232         * lib/link.c: Likewise.
20233         * lib/localcharset.c: Likewise.
20234         * lib/localename.h: Likewise.
20235         * lib/localename.c: Likewise.
20236         * lib/localtime.c: Likewise.
20237         * lib/lseek.c: Likewise.
20238         * lib/mbsinit.c: Likewise.
20239         * lib/mkdir.c: Likewise.
20240         * lib/msvc-nothrow.h: Likewise.
20241         * lib/nanosleep.c: Likewise.
20242         * lib/nl_langinfo.c: Likewise.
20243         * lib/nonblocking.c: Likewise.
20244         * lib/nproc.c: Likewise.
20245         * lib/open.c: Likewise.
20246         * lib/openpty.c: Likewise.
20247         * lib/pathmax.h: Likewise.
20248         * lib/pipe-filter-aux.c: Likewise.
20249         * lib/pipe-filter-gi.c: Likewise.
20250         * lib/pipe-filter-ii.c: Likewise.
20251         * lib/pipe.c: Likewise.
20252         * lib/pipe2.c: Likewise.
20253         * lib/poll.c: Likewise.
20254         * lib/popen.c: Likewise.
20255         * lib/posix_openpt.c: Likewise.
20256         * lib/printf-parse.c: Likewise.
20257         * lib/progreloc.c: Likewise.
20258         * lib/putenv.c: Likewise.
20259         * lib/read.c: Likewise.
20260         * lib/relocatable.c: Likewise.
20261         * lib/rename.c: Likewise.
20262         * lib/same-inode.h: Likewise.
20263         * lib/secure_getenv.c: Likewise.
20264         * lib/select.c: Likewise.
20265         * lib/sethostname.c: Likewise.
20266         * lib/setlocale.c: Likewise.
20267         * lib/sigaction.c: Likewise.
20268         * lib/sigprocmask.c: Likewise.
20269         * lib/sleep.c: Likewise.
20270         * lib/spawn-pipe.h: Likewise.
20271         * lib/spawn-pipe.c: Likewise.
20272         * lib/spawni.c: Likewise.
20273         * lib/stat-time.h: Likewise.
20274         * lib/stat-w32.c: Likewise.
20275         * lib/stat.c: Likewise.
20276         * lib/stdio.in.h: Likewise.
20277         * lib/stdio-impl.h: Likewise.
20278         * lib/stdio-read.c: Likewise.
20279         * lib/stdio-write.c: Likewise.
20280         * lib/stdlib.in.h: Likewise.
20281         * lib/strerror_r.c: Likewise.
20282         * lib/strftime-fixes.c: Likewise.
20283         * lib/sys_stat.in.h: Likewise.
20284         * lib/sys_types.in.h: Likewise.
20285         * lib/sys_wait.in.h : Likewise.
20286         * lib/system-quote.h: Likewise.
20287         * lib/system-quote.c: Likewise.
20288         * lib/tmpdir.c: Likewise.
20289         * lib/tzset.c: Likewise.
20290         * lib/uname.c: Likewise.
20291         * lib/unistd.in.h: Likewise.
20292         * lib/utime.in.h: Likewise.
20293         * lib/utime.c: Likewise.
20294         * lib/utimecmp.c: Likewise.
20295         * lib/utimens.c: Likewise.
20296         * lib/vasnprintf.c: Likewise.
20297         * lib/vma-iter.h: Likewise.
20298         * lib/vma-iter.c: Likewise.
20299         * lib/wait-process.c: Likewise.
20300         * lib/wcsftime.c: Likewise.
20301         * lib/wctype.in.h: Likewise.
20302         * lib/write.c: Likewise.
20303         * tests/nap.h: Likewise.
20304         * tests/test-cloexec.c: Likewise.
20305         * tests/test-dup-safer.c: Likewise.
20306         * tests/test-dup2.c: Likewise.
20307         * tests/test-dup3.c: Likewise.
20308         * tests/test-fcntl.c: Likewise.
20309         * tests/test-get-rusage-data.c: Likewise.
20310         * tests/test-getaddrinfo.c: Likewise.
20311         * tests/test-getlogin.h: Likewise.
20312         * tests/test-isatty.c: Likewise.
20313         * tests/test-localename.c: Likewise.
20314         * tests/test-mbrtowc-w32.c: Likewise.
20315         * tests/test-nonblocking.c: Likewise.
20316         * tests/test-nonblocking-pipe-main.c: Likewise.
20317         * tests/test-nonblocking-socket-main.c: Likewise.
20318         * tests/test-nonblocking-socket.h: Likewise.
20319         * tests/test-pipe.c: Likewise.
20320         * tests/test-pipe2.c: Likewise.
20321         * tests/test-poll.c: Likewise.
20322         * tests/test-pthread_sigmask1.c: Likewise.
20323         * tests/test-select.h: Likewise.
20324         * tests/test-sethostname2.c: Likewise.
20325         * tests/test-sigprocmask.c: Likewise.
20326         * tests/test-spawn-pipe-child.c: Likewise.
20327         * tests/test-stat-time.c: Likewise.
20328         * tests/test-system-quote-main.c: Likewise.
20329         * tests/test-utimens-common.h: Likewise.
20330         * tests/test-wcrtomb-w32.c: Likewise.
20331         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
20332         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20333         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
20334         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
20335         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
20336         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20337         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20338         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20339         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20340         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20341         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
20342         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
20343         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
20344         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20345         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
20346         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20348 2018-05-02  Bruno Haible  <bruno@clisp.org>
20350         localename: Fix test failures on mingw.
20351         * lib/localename.c (gl_locale_name_thread): Remove code specific to
20352         native Windows.
20353         (gl_locale_name_posix): Move code specific to native Windows here.
20354         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
20355         Accept result without charset suffix, as it appears on mingw.
20357 2018-04-28  Paul Smith  <psmith@gnu.org>
20359         bootstrap: Avoid gnulib operations if not needed
20360         * build-aux/bootstrap: Remove unused variable gnulib_mk.
20361         Set $gnulib_extra_files early so it can be overridden in .conf.
20362         Remove redundant --import flag from $gnulib_tool_options.
20363         Set $use_gnulib to false if no gnulib modules or files are needed.
20364         If $use_gnulib is false, don't do anything related to gnulib.
20365         A lot of this is just whitespace (indentation) changes.
20367 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
20369         manywarnings: port to GCC 8.0
20370         * build-aux/gcc-warning.spec: Add -Wcatch-value,
20371         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
20372         fact that the GCC help message now mentions operands for
20373         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
20374         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
20375         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
20376         and -Wunused-const-variable.
20377         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
20378         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
20379         -Wmissing-attributes, -Wmultistatement-macros,
20380         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
20381         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
20383 2018-04-24  Bruno Haible  <bruno@clisp.org>
20385         sys_socket: Make SO_REUSEPORT available across platforms.
20386         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20387         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
20388         * doc/posix-headers/sys_socket.texi: Mention the issue.
20389         * tests/test-poll.c (SO_REUSEPORT): Remove.
20390         * tests/test-select.h: Include <sys/socket.h>.
20391         (SO_REUSEPORT): Remove.
20392         * modules/select-tests (Depends-on): Add 'sys_socket'.
20394 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
20396         localcharset: short-circuit the search for an alias on a Mac
20397         * lib/localcharset.c (get_charset_aliases): Add a tautological
20398         UTF-8 entry to speed up the search for this case.
20399         Most machines default to a UTF-8 locale nowadays, so begin the
20400         list of aliases with a dummy UTF-8 entry so it will be found
20401         immediately and a time-consuming search through the rest of
20402         the list is avoided.
20404 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20406         fts: add comment
20407         * lib/fts.c (fts_build): Explain why ==, not >.
20408         See remark by Bernhard Voelker in:
20409         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
20411         fts: fix bug in find across filesystems
20412         This fixes a bug I introduced last summer.
20413         Problem reported by Kamil Dudka in:
20414         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
20415         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
20416         (leaf_optimization):
20417         New arg for file descriptor.  All callers changed.
20418         (fts_build): Check for whether inodes should be sorted
20419         before closing the directory.
20421 2018-04-07  Bruno Haible  <bruno@clisp.org>
20423         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
20424         Reported by Genki Sky <sky@genki.is>.
20425         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
20426         version 0.9.10 or newer.
20427         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
20428         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
20429         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
20430         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
20431         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
20433 2018-04-07  Bruno Haible  <bruno@clisp.org>
20435         execute: Update comment.
20436         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
20438 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20440         fts: treat CIFS like NFS
20441         Problem reported by Kamil Dudka in:
20442         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
20443         * lib/fts.c (S_MAGIC_CIFS): New macro.
20444         (dirent_inode_sort_may_be_useful, leaf_optimization):
20445         Treat CIFS like NFS.
20447 2018-03-28  Bruno Haible  <bruno@clisp.org>
20449         c-stack: Fix possible build failure on some platforms.
20450         * lib/c-stack.c (die): Define whenever this function is referenced.
20452 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
20454         time_rz: fix workaround for Mac OS X 10.6 infloop
20455         Problems reported by Charles A. Roelli (Bug#27736#117).
20456         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
20457         Also, discard output, which clutters the 'configure' log.
20459 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
20461         havelib: port to Solaris 10 /bin/sh
20462         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
20463         instead of '! test EXPR'.
20465 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20467         time_rz: work around Mac OS X 10.6 infloop
20468         * doc/posix-functions/localtime.texi:
20469         * doc/posix-functions/localtime_r.texi: Mention the bug.
20470         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
20471         better to fix localtime and localtime_r instead, but that would be
20472         more work and is not needed to fix the Emacs problem.
20473         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
20475 2018-03-24  Jim Meyering  <meyering@fb.com>
20477         test-version-etc.sh: don't use diff directly: use init.sh's compare
20478         We'd rather not sacrifice readable "diff -u" output even for
20479         "diff -c" output (not supported by busybox) or for even less
20480         readable ed-style "diff" output.  So use init.sh's compare function
20481         * tests/test-version-etc.sh: Source init.sh and add "." to path.
20482         Remove "./" from invocation of test-version-etc, so we use path.
20483         And s/diff/compare/.
20484         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
20485         to get init.sh.
20486         Prompted by Eric Blake's comments in
20487         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
20489 2018-03-24  Bruno Haible  <bruno@clisp.org>
20491         javacomp-script, javacomp: Add support for Java 10.
20492         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
20493         target-version 10.
20494         * lib/javaversion.h: Update comments.
20495         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20496         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20497         TARGET_VERSION_BOUND, target_version_index,
20498         corresponding_classfile_version): Accept source_version 10 and
20499         target_version 10.
20500         * lib/javacomp.h: Update comments accordingly.
20502 2018-03-24  Bruno Haible  <bruno@clisp.org>
20504         javacomp-script, javacomp: Update comments.
20505         * m4/javacomp.m4: Update comments regarding gcj.
20506         * lib/javacomp.h: Likewise.
20508 2018-03-24  Bruno Haible  <bruno@clisp.org>
20510         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
20511         * lib/javaversion.h: Update comments.
20512         * lib/javacomp.h: Likewise.
20513         * lib/javacomp.c (default_target_version, source_version_index,
20514         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
20515         "1.9".
20516         (TARGET_VERSION_BOUND): Bump to 9.
20517         (target_version_index, corresponding_classfile_version): Recognize "9"
20518         instead of "1.9".
20519         (get_source_version_for_javac): New function.
20520         (is_envjavac_nongcj_usable, is_javac_usable): Add
20521         source_version_for_javac argument.
20522         (compile_java_class): Determine and pass source_version_for_javac.
20523         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
20524         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
20525         appropriate.
20527 2018-03-23  Jim Meyering  <meyering@fb.com>
20529         test-version-etc.sh: port to diff without -c
20530         * tests/test-version-etc.sh: Don't use diff's -c option.
20531         This caused spurious test failure on Alpine Linux, which
20532         uses busybox's diff. Reported by Assaf Gordon in
20533         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
20535 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
20537         c-stack: port to recent GCC build
20538         Problem reported by The Fireplace (Bug#30913).
20539         * lib/c-stack.c (die): Define only if used.
20541 2018-03-20  Bruno Haible  <bruno@clisp.org>
20543         euidaccess: Port to native Windows.
20544         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
20545         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
20547 2018-03-19  Bruno Haible  <bruno@clisp.org>
20549         javacomp: Add support for Java 7, 8, 9.
20550         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20551         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20552         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
20553         and target_version 1,7, 1.8, 1.9.
20554         * lib/javacomp.h: Update comments accordingly.
20556 2018-03-19  Bruno Haible  <bruno@clisp.org>
20558         javacomp-script: Add support for Java 9.
20559         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
20560         target-version 1.9.
20562 2018-03-16  Bruno Haible  <bruno@clisp.org>
20564         glob: Don't compile replacements on recent glibc systems.
20565         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
20566         REPLACE_GLOB is 0, include the system's <glob.h> and use
20567         _GL_CXXALIAS_SYS.
20568         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
20569         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
20570         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
20571         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
20572         Remove snippet/warn-on-use.
20573         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
20574         (Makefile.am): Create glob.h always. Update list of substitutions in
20575         glob.h. Don't depend on $(WARN_ON_USE_H).
20577 2018-03-16  Bruno Haible  <bruno@clisp.org>
20579         glob: Fix link error on native Windows.
20580         * modules/glob (Depends-on): Add 'lstat'.
20582 2018-03-15  Bruno Haible  <bruno@clisp.org>
20584         glob: Fix compilation error in C++ mode.
20585         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
20587 2018-03-15  Bruno Haible  <bruno@clisp.org>
20589         host-cpu-c-abi: Support for RISC-V CPU.
20590         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
20591         riscv32 and riscv64 ABIs.
20592         References:
20593         https://github.com/riscv/riscv-toolchain-conventions
20594         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
20595         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
20597 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20599         fflush: be more paranoid about libio.h change
20600         Suggested by Eli Zaretskii in:
20601         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
20602         * lib/fbufmode.c (fbufmode):
20603         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20604         (disable_seek_optimization, rpl_fflush):
20605         * lib/fpending.c (__fpending):
20606         * lib/fpurge.c (fpurge):
20607         * lib/freadable.c (freadable):
20608         * lib/freadahead.c (freadahead):
20609         * lib/freading.c (freading):
20610         * lib/freadptr.c (freadptr):
20611         * lib/freadseek.c (freadptrinc):
20612         * lib/fseeko.c (fseeko):
20613         * lib/fseterr.c (fseterr):
20614         * lib/fwritable.c (fwritable):
20615         * lib/fwriting.c (fwriting):
20616         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
20618 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20620         maint: write-file-hooks -> before-save-hook
20621         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
20622         it's time to use the recommended replacement.
20623         Problem reported by Glenn Morris in:
20624         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
20625         * build-aux/announce-gen, build-aux/bootstrap:
20626         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
20627         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
20628         * build-aux/gnu-web-doc-update, build-aux/gnupload:
20629         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
20630         * build-aux/update-copyright, build-aux/useless-if-before-free:
20631         * build-aux/vc-list-files:
20632         Update hook usage for files where Gnulib is the canonical source.
20634 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20636         binary-io: pacify gcc -Wunused-parameter
20637         Problem reported by Reuben Thomas in:
20638         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
20639         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
20640         Use _GL_UNUSED where appropriate.
20642         fflush: adjust to glibc 2.28 libio.h removal
20643         Problem reported by Daniel P. Berrangé in:
20644         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
20645         * lib/fbufmode.c (fbufmode):
20646         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20647         (disable_seek_optimization, rpl_fflush):
20648         * lib/fpending.c (__fpending):
20649         * lib/fpurge.c (fpurge):
20650         * lib/freadable.c (freadable):
20651         * lib/freadahead.c (freadahead):
20652         * lib/freading.c (freading):
20653         * lib/freadptr.c (freadptr):
20654         * lib/freadseek.c (freadptrinc):
20655         * lib/fseeko.c (fseeko):
20656         * lib/fseterr.c (fseterr):
20657         * lib/fwritable.c (fwritable):
20658         * lib/fwriting.c (fwriting):
20659         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
20660         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
20661         Define if not already defined.
20663 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
20665         environ: fix link error on 32-bit Cygwin
20666         Problem reported for GNU Emacs by Ken Brown in:
20667         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
20668         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
20670 2018-02-24  Bruno Haible  <bruno@clisp.org>
20672         mbrtowc tests: Fix regression on glibc.
20673         Reported by Bernhard Voelker.
20674         * tests/test-mbrtowc.c (main): Fix expected value of wc.
20676 2018-02-24  Bruno Haible  <bruno@clisp.org>
20678         striconveha, uniconv/*: Avoid test failures on musl libc.
20679         * tests/iconvsupport.c: New file.
20680         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
20681         does not support the ISO-2022-JP-2 encoding.
20682         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
20683         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
20684         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
20685         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
20686         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
20687         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
20688         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
20689         (Makefile.am): Link test-striconveha with iconvsupport.o.
20690         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
20691         tests/iconvsupport.c.
20692         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
20693         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
20694         tests/iconvsupport.c.
20695         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
20696         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
20697         tests/iconvsupport.c.
20698         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
20699         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
20700         tests/iconvsupport.c.
20701         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
20702         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
20703         tests/iconvsupport.c.
20704         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
20705         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
20706         tests/iconvsupport.c.
20707         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
20709 2018-02-24  Bruno Haible  <bruno@clisp.org>
20711         localename: Add support for musl libc.
20712         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
20713         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
20714         on Linux platforms which define NL_LOCALE_NAME.
20716 2018-02-24  Bruno Haible  <bruno@clisp.org>
20718         mbrtowc tests: Don't make assumptions about the charset the C locale.
20719         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
20720         particular mapping in the C locale.
20722 2018-02-24  Bruno Haible  <bruno@clisp.org>
20724         ptsname_r: Don't expect that this function sets errno.
20725         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
20726         from ptsname_r().
20727         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
20729 2018-02-23  Bruno Haible  <bruno@clisp.org>
20731         xmalloca: pacify gcc -Wbad-function-cast
20732         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
20734 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
20736         nl_langinfo: pacify gcc -Wunused-function
20737         * lib/nl_langinfo.c (ctype_codeset): Do not define if
20738         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
20739         this case.  Without this change, I got a diagnostic when building
20740         coreutils on Fedora 27 with gcc 7.3.1 20180130.
20742         same: pacify gcc -Wunused-variable
20743         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
20744         Omit unused variable.
20746         malloca: pacify gcc -Wbad-function-cast
20747         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
20748         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
20749         To pacify GCC, I had to cast alloca’s result to some type other
20750         than void * before casting that to uintptr_t.
20752 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
20754         utimecmp: new function utimecmpat
20755         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
20756         Do not include utimens.h.
20757         (utimecmpat): New function, generalizing utimecmp.
20758         (utimecmp): Now a thin layer around utimecmpat.
20759         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
20760         utimensat instead of on lstat and utimens.
20762         same: new function same_nameat
20763         * lib/same.c: Include fcntl.h.
20764         * lib/same.c (same_nameat): New function, generalizing same_name.
20765         (same_name): Now a thin layer around same_nameat.
20766         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
20767         * modules/same (Depends-on): Depend on fstatat, openat.
20769 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
20771         warnings: Add support for Objective C.
20772         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
20773         macro.
20775 2018-02-17  Bruno Haible  <bruno@clisp.org>
20777         lock: Fix test-once1 crash on FreeBSD11.
20778         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
20779         'pthread_create', not 'pthread_cancel'.
20781 2018-02-17  Bruno Haible  <bruno@clisp.org>
20783         lock: Add test of gl_once.
20784         * tests/test-once.c: New file.
20785         * modules/lock-tests (Files): Add it.
20786         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
20788 2018-02-17  Bruno Haible  <bruno@clisp.org>
20790         thread: Fix compilation error on IRIX.
20791         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
20792         needed; include it outside the C++ extern "C" {} block.
20793         * doc/posix-headers/pthread.texi: Mention the problem with
20794         pthread_atfork on IRIX.
20796 2018-02-04  Bruno Haible  <bruno@clisp.org>
20798         nl_langinfo: Override the system's nl_langinfo() when needed.
20799         Reported by Jim Meyering.
20800         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
20801         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
20803 2018-02-04  Bruno Haible  <bruno@clisp.org>
20805         signal-h, monetary, strings: Fix build failure in some cases.
20806         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20807         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
20808         as delimiter in sed command, not '|'.
20809         * modules/monetary (Makefile.am): Likewise.
20810         * modules/strings (Makefile.am): Likewise.
20812 2018-02-03  Jim Meyering  <meyering@fb.com>
20814         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
20815         * top/maint.mk (sc_file_system): Don't complain about
20816         "/proc/filesystems".
20818 2018-02-03  Bruno Haible  <bruno@clisp.org>
20820         stdlib: Fix compilation error on OpenIndiana.
20821         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
20822         <sys/time.h>.
20823         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20824         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
20826 2018-02-03  Bruno Haible  <bruno@clisp.org>
20828         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
20829         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
20830         and use $EGREP instead of 'grep -E'.
20831         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
20832         'grep -E'.
20834 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
20836         malloca: Add a compile-time verification.
20837         * lib/malloca.c (small_t): Verify that it is wide enough.
20838         * modules/malloca (Depends-on): Add verify.
20840 2018-02-02  Bruno Haible  <bruno@clisp.org>
20842         malloca: Add an argument check.
20843         Suggested by Paul Eggert.
20844         * lib/malloca.c (freea): Check against an invalid argument.
20846 2018-02-02  Bruno Haible  <bruno@clisp.org>
20848         localename: Add support for OpenIndiana.
20849         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
20850         Solaris 11 variants with uselocale() but without getlocalename_l().
20852 2018-02-02  Bruno Haible  <bruno@clisp.org>
20854         malloca, xmalloca: Make multithread-safe.
20855         Reported by Florian Weimer <fweimer@redhat.com>.
20856         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
20857         * lib/malloca.h (malloca): In the stack allocation case, return a
20858         pointer that is a multiple of 2 * sa_alignment_max.
20859         (sa_increment): Remove enum item.
20860         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
20861         a pointer that is a multiple of 2 * sa_alignment_max.
20862         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
20863         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
20864         HASH_TABLE_SIZE, mmalloca_results): Remove.
20865         (small_t): New type.
20866         (mmalloca, free): Rewritten.
20867         * lib/malloca.valgrind: Remove file.
20868         * modules/malloca (Files): Remove it.
20869         (Depends-on): Remove verify.
20871 2018-01-31  Bruno Haible  <bruno@clisp.org>
20873         environ: Fix link error on 64-bit Cygwin.
20874         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
20875         __declspec(dllimport) attribute.
20876         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
20878 2018-01-30  Bruno Haible  <bruno@clisp.org>
20880         get-rusage-data: Add support for Minix 3.
20881         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
20883 2018-01-30  Bruno Haible  <bruno@clisp.org>
20885         vma-iter: Add support for Minix 3.
20886         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
20887         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
20889 2018-01-27  Bruno Haible  <bruno@clisp.org>
20891         Fix malfunction of socket functions on HP-UX in 64-bit mode.
20892         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
20893         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
20894         _HPUX_ALT_XOPEN_SOCKET_API.
20895         * modules/accept (Depends-on): Add 'extensions'.
20896         * modules/getpeername (Depends-on): Likewise.
20897         * modules/getsockname (Depends-on): Likewise.
20898         * modules/getsockopt (Depends-on): Likewise.
20899         * modules/recvfrom (Depends-on): Likewise.
20900         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
20901         * doc/posix-functions/getpeername.texi: Likewise.
20902         * doc/posix-functions/getsockname.texi: Likewise.
20903         * doc/posix-functions/getsockopt.texi: Likewise.
20904         * doc/posix-functions/recvfrom.texi: Likewise.
20906 2018-01-27  Bruno Haible  <bruno@clisp.org>
20908         getsockname tests: More tests.
20909         * tests/test-getsockname.c (open_server_socket): New function, mostly
20910         copied from test-poll.c.
20911         (main): Check that getsockname fills in addr.
20912         * modules/getsockname-tests (Depends-on): Add the necessary
20913         dependencies.
20914         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
20916 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
20918         manywarnings: fix maintainer comment
20919         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
20920         it does not mistakenly think that ‘-1)’ is an option.
20922 2018-01-26  Bruno Haible  <bruno@clisp.org>
20924         langinfo: Fix last commit.
20925         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20926         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
20928 2018-01-24  Bruno Haible  <bruno@clisp.org>
20930         langinfo, nl_langinfo: Add support for alternative month names.
20931         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
20932         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
20933         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
20934         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
20935         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
20936         * doc/posix-functions/nl_langinfo.texi: Likewise.
20938 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20940         Merge strftime.c changes from glibc
20941         This incorporates:
20942         2017-11-14 [BZ #10871] Implement alternative month names
20943         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
20944         2017-06-20 Use locale_t, not __locale_t, throughout glibc
20945         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
20946         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
20947         Use locale_t, not __locale_t.
20948         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
20949         (__strftime_internal): Add support for alternate months.
20951 2018-01-23  Bruno Haible  <bruno@clisp.org>
20953         doc: Mention another prerequisite for using Gnulib.
20954         Reported at <https://stackoverflow.com/questions/48378214/>.
20955         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
20956         AC_CONFIG_HEADERS.
20958 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
20960         build: GuixSD doesn't have /bin/bash
20961         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
20963 2018-01-21  Bruno Haible  <bruno@clisp.org>
20965         Avoid test failures on Microsoft Windows Subsystem for Linux.
20966         * tests/test-fcntl.c (main): Allow a different errno.
20967         * tests/test-rename.h (test_rename): Likewise.
20968         * tests/test-renameat.c (main): Likewise.
20969         * tests/test-renameat2.c (main): Likewise.
20971 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
20973         filenamecat: make base a suffix of result
20974         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
20975         (mfile_name_concat): Always make BASE a suffix of the result, as
20976         cp expects this.  To implement this, separate with '.' instead of
20977         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
20978         * tests/test-filenamecat.c (main): Adjust tests to match
20979         current behavior.  Check that BASE_IN_RESULT points to
20980         a copy of BASE and is a suffix of the resultk, and that DIR
20981         is a prefix of the result that is no longer than the prefix
20982         indicated by BASE_IN_RESULT.
20984 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
20986         update-copyright: Handle use of ©
20987         * build-aux/update-copyright ($circle_c_re): Update regex to
20988         handle use of © in headers.
20990 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
20992         Fix -Wundef warning in user-included header lib/cdefs.h.
20993         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
20995 2018-01-04  Bruno Haible  <bruno@clisp.org>
20997         pthread_sigmask: Avoid compilation error on mingw.
20998         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20999         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
21000         macro.
21002 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
21004         test-framework-sh: ‘ps -ef’, not ‘ps ef’
21005         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
21006         Suggested by Bob Proulx (Bug#29968).
21007         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
21009 2018-01-02  Eric Blake  <eblake@redhat.com>
21011         stat-time: silence -Wunused-parameter regression
21012         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
21013         Prefer attribute over cast-to-void.
21014         (stat_time_normalize): Mark st as potentially unused.
21016 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
21018         test-framework-sh: avoid netstat
21019         Problem reported by Kristýna Streitová (Bug#29947).
21020         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
21021         deprecated on SuSE and it's not that important anyway.
21023 2018-01-01  Jim Meyering  <meyering@fb.com>
21025         update-copyright: add code to handle more special cases
21026         After running "make update-copyright" this year, five files
21027         required additional manual changes.  Automate those adjustments
21028         for next year.
21029         * Makefile (_year_and_prev): Define.
21030         (update-copyright): Add perl commands to induce this year's post-
21031         update-copyright adjustments.
21033 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
21035         version-etc: new year
21036         * build-aux/gendocs.sh (version):
21037         * doc/gendocs_template:
21038         * doc/gendocs_template_min:
21039         * doc/gnulib.texi:
21040         * lib/version-etc.c (COPYRIGHT_YEAR):
21041         Update copyright dates by hand in templates and the like.
21043         maint: fix 'make update-copyright'
21044         * Makefile (update-copyright): Adjust to 2016-11-23 change
21045         to config/srclist-update, which changed the format of srclist.txt.
21047 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
21049         chdir-safer: remove this module
21050         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
21051         * NEWS: Document removal.
21052         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
21053         * modules/chdir-safer: Remove these files.
21055 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
21057         Add cross-compilation results for GNU/Hurd.
21058         * m4/calloc.m4: Add GNU/Hurd guess.
21059         * m4/cbrtl.m4: Likewise.
21060         * m4/ceil.m4: Likewise.
21061         * m4/ceilf.m4: Likewise.
21062         * m4/ceill.m4: Likewise.
21063         * m4/chown.m4: Likewise.
21064         * m4/duplocale.m4: Likewise.
21065         * m4/exp2l.m4: Likewise.
21066         * m4/expm1.m4: Likewise.
21067         * m4/fchdir.m4: Likewise.
21068         * m4/floor.m4: Likewise.
21069         * m4/floorf.m4: Likewise.
21070         * m4/fmod.m4: Likewise.
21071         * m4/fmodf.m4: Likewise.
21072         * m4/fmodl.m4: Likewise.
21073         * m4/getcwd.m4: Likewise.
21074         * m4/getgroups.m4: Likewise.
21075         * m4/gettimeofday.m4: Likewise.
21076         * m4/hypot.m4: Likewise.
21077         * m4/hypotf.m4: Likewise.
21078         * m4/hypotl.m4: Likewise.
21079         * m4/link-follow.m4: Likewise.
21080         * m4/link.m4: Likewise.
21081         * m4/linkat.m4: Likewise.
21082         * m4/log.m4: Likewise.
21083         * m4/log10.m4: Likewise.
21084         * m4/log10f.m4: Likewise.
21085         * m4/log1p.m4: Likewise.
21086         * m4/log1pf.m4: Likewise.
21087         * m4/log1pl.m4: Likewise.
21088         * m4/log2.m4: Likewise.
21089         * m4/log2f.m4: Likewise.
21090         * m4/logf.m4: Likewise.
21091         * m4/lstat.m4: Likewise.
21092         * m4/malloc.m4: Likewise.
21093         * m4/mbrlen.m4: Likewise.
21094         * m4/mbrtowc.m4: Likewise.
21095         * m4/mkdir.m4: Likewise.
21096         * m4/mkfifo.m4: Likewise.
21097         * m4/mknod.m4: Likewise.
21098         * m4/mkstemp.m4: Likewise.
21099         * m4/modf.m4: Likewise.
21100         * m4/modff.m4: Likewise.
21101         * m4/modfl.m4: Likewise.
21102         * m4/printf.m4: Likewise.
21103         * m4/pselect.m4: Likewise.
21104         * m4/ptsname.m4: Likewise.
21105         * m4/putenv.m4: Likewise.
21106         * m4/readlink.m4: Likewise.
21107         * m4/realloc.m4: Likewise.
21108         * m4/remainder.m4: Likewise.
21109         * m4/remainderf.m4: Likewise.
21110         * m4/remainderl.m4: Likewise.
21111         * m4/rmdir.m4: Likewise.
21112         * m4/round.m4: Likewise.
21113         * m4/roundf.m4: Likewise.
21114         * m4/roundl.m4: Likewise.
21115         * m4/select.m4: Likewise.
21116         * m4/setenv.m4: Likewise.
21117         * m4/signbit.m4: Likewise.
21118         * m4/sleep.m4: Likewise.
21119         * m4/stat.m4: Likewise.
21120         * m4/strerror.m4: Likewise.
21121         * m4/strtok_r.m4: Likewise.
21122         * m4/symlink.m4: Likewise.
21123         * m4/symlinkat.m4: Likewise.
21124         * m4/trunc.m4: Likewise.
21125         * m4/truncf.m4: Likewise.
21126         * m4/truncl.m4: Likewise.
21127         * m4/tzset.m4: Likewise.
21128         * m4/ungetc.m4: Likewise.
21129         * m4/usleep.m4: Likewise.
21130         * m4/wcwidth.m4: Likewise.
21132 2017-12-28  Bruno Haible  <bruno@clisp.org>
21134         gnulib-tool: Make --conditional-dependencies work better.
21135         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
21136         * gnulib-tool (Options): Don't reject the combination of
21137         --conditional-dependencies with --with-tests.
21138         (func_emit_autoconf_snippets): Add argument referenceable_modules.
21139         Don't reference $modules.
21140         (func_import, func_create_testdir): Pass it.
21142 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21144         regex: use re_malloc etc. consistently
21145         Problem and original patch reported by Arnold Robbins in:
21146         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
21147         * lib/regcomp.c (re_comp):
21148         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
21149         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
21151 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
21152             Paul Eggert  <eggert@cs.ucla.edu>
21154         glob: Silence warning about void pointer arithmetic.
21155         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
21156         arithmetic.
21158 2017-12-15  Bruno Haible  <bruno@clisp.org>
21160         spawn-pipe: Silence a clang warning.
21161         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21162         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
21163         in this file.
21165 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21167         explicit_bzero: port to macOS + Clang 9.0.0
21168         Problem reported by Marcus Johnson (Bug#29658).
21169         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
21170         Don’t use asm.
21172 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21174         doc: Improve explanation of supporting relocatable libraries.
21175         * doc/relocatable-maint.texi (Supporting Relocation): Explain
21176         properly how to build the relocatable module for
21177         libraries. (Method and example code from Bruno Haible.)
21179 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21181         doc: Use better texinfo tags in a few cases.
21182         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
21183         instead of @samp in a few places.
21185 2017-12-11  Bruno Haible  <bruno@clisp.org>
21187         unistr/base: Update comment.
21188         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
21190 2017-12-10  Pádraig Brady  <P@draigBrady.com>
21192         test-faccessat.c: unlink temp file to avoid subsequent test failure
21193         * tests/test-faccessat.c: Remove the file to avoid failure
21194         to open the file on subsequent runs due to being created
21195         with no permissions.
21197 2017-12-10  Bruno Haible  <bruno@clisp.org>
21199         doc: New sect. "Modifying the build rules of a Gnulib import directory".
21200         * doc/gnulib-tool.texi (Modified build rules): New node.
21202 2017-12-10  Bruno Haible  <bruno@clisp.org>
21204         doc: Tweak wording.
21205         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
21206         "binaries".
21208 2017-12-05  Sam Steingold  <sds@gnu.org>
21209             Bruno Haible  <bruno@clisp.org>
21211         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
21212         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
21213         AC_EGREP_CPP pattern.
21215 2017-12-03  Bruno Haible  <bruno@clisp.org>
21217         all: Replace more http URLs by https URLs.
21218         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
21219         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
21220         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
21221         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
21223 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
21225         Port better to CentOS 5
21226         Problems reported by Tom G. Christensen in:
21227         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
21228         * doc/glibc-functions/strverscmp.texi (strverscmp):
21229         Document strverscmp bug with glibc 2.9 and earlier.
21230         * doc/posix-functions/tzset.texi (tzset):
21231         Document that TZ with angle brackets is POSIX-2001 and later.
21232         * tests/test-nstrftime.c: Include unistd.h.
21233         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
21234         (TZ): Use it to skip tests with angle brackets in TZ,
21235         for older systems.
21237         stat: add missing module dependencies
21238         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
21239         Add stat-time.
21241 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
21243         stat: fix compilation failure on macOS Sierra
21244         Reported by Marius Schamschula <mschamschula@gmail.com> in:
21245         https://savannah.gnu.org/bugs/?52546
21246         * lib/stat.c: Add missing include of stat-time.h.
21248 2017-11-28  Jim Meyering  <meyering@fb.com>
21250         test-faccessat.c: correct BASE definition to avoid parallel test failure
21251         * tests/test-faccessat.c (BASE): Define using this file's name, not
21252         that of test-lstat.c.  Using the latter caused this test to fail
21253         sometimes when run concurrently with test-lstat.
21255 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21257         unicase: fix VPATH build
21258         * modules/unicase/special-casing (Makefile.am): Ensure that the
21259         base directory is created when generating
21260         unicase/special-casing.h.
21262 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21264         libunistring: update to Unicode 9.0.0
21265         * lib/gen-uni-tables.c (fill_properties): Recognize
21266         Sentence_Terminal and Prepended_Concatenation_Mark.
21267         (is_property_default_ignorable_code_point): Exclude U+08E2.
21268         (fill_arabicshaping): Allow missing whitespace when parsing;
21269         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
21270         (output_blocks): Increase the element size of the level1 table to
21271         accommodate more blocks.
21272         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
21273         Update each class according to the standard.
21274         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
21275         E_Base_GAZ characters.
21276         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
21277         Glue_After_Zwj, and E_Base_GAZ characters.
21278         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
21279         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
21280         enum value.
21281         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
21282         value.
21283         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
21284         LBP_ZWJ, LBP_EB, and LBP_EM.
21285         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
21286         enum value.
21287         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
21288         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
21289         declaration.
21290         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
21291         (uniwbrk_table): Implement WB14.
21292         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
21293         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
21294         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
21295         uc-is-grapheme-break.
21296         * modules/unigbrk/uc-grapheme-breaks: New module.
21297         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
21298         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
21299         enum value.
21300         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
21301         * lib/unigbrk/u-grapheme-breaks.h: New file.
21302         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
21303         u-grapheme-breaks.h instead of uc_is_grapheme_break.
21304         * lib/unigbrk/uc-grapheme-breaks.c: New file.
21305         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
21306         29.
21307         * tests/unigbrk/test-uc-gbrk-prop.c
21308         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21309         GBP_GAZ, and GBP_EBG.
21310         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
21311         * tests/unigbrk/test-uc-is-grapheme-break.c
21312         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21313         GBP_GAZ, and GBP_EBG.
21314         (main): Skip unsupported rules involving 3 or more characters,
21315         namely GB10, GB12, and GB13.
21316         * lib/uniwidth/width.c (nonspacing_table_data): Update.
21317         * all generated files under lib/uni* and tests/uni*: Regenerate.
21318         * all the affected modules: Bump version.
21320 2017-11-26  Bruno Haible  <bruno@clisp.org>
21322         strfmon_l: Fix compilation error with glibc 2.5.
21323         Reported by Tom G. Christensen <tgc@jupiterrise.com>
21324         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
21325         * lib/monetary.in.h: Include also <locale.h>.
21327 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21329         posixtm: remove PDS_LEADING_YEAR
21330         This changes the API slightly, in a hopefully-innocuous way.
21331         Without this change the code had undefined behavior when a
21332         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
21333         Problem reported by Pádraig Brady in:
21334         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
21335         * NEWS: Mention this.
21336         * lib/posixtm.c (posix_time_parse): Treat the absence of
21337         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
21338         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
21339         present, but define it as zero, for compatibility with existing
21340         source code).  All other PDS_* values moved up.
21341         * tests/test-posixtm.c (LY): New macro.
21342         (T): Use it.  Do not expect a particular numeric encoding
21343         for PDS_CENTURY etc.
21345 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21347         stat: work around Solaris bug with tv_nsec < 0
21348         * doc/posix-functions/fstat.texi (fstat):
21349         * doc/posix-functions/fstatat.texi (fstatat):
21350         * doc/posix-functions/lstat.texi (lstat):
21351         * doc/posix-functions/stat.texi (stat):
21352         Mention Solaris 11 bug.
21353         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
21354         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
21355         * lib/lstat.c (rpl_lstat):
21356         * lib/stat.c (rpl_stat):
21357         Normalize resulting timestamps.
21358         * lib/fstatat.c (normal_fstatat): New function.
21359         (rpl_fstatat): Use it.
21360         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
21361         (stat_time_normalize): New function.
21362         * m4/fstat.m4 (gl_FUNC_FSTAT):
21363         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
21364         * m4/lstat.m4 (gl_FUNC_LSTAT):
21365         * m4/stat.m4 (gl_FUNC_STAT):
21366         Replace on Solaris.
21367         * modules/fstat (Depends-on):
21368         * modules/fstatat (Depends-on):
21369         Add stat-time.
21370         * modules/stat-time (Depends-on): Add errno, intprops.
21372 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21374         regex: merge from glibc
21375         * lib/regcomp.c (init_word_char): Add comments.
21377 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21379         regex: merge from glibc
21380         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
21381         * lib/regex_internal.h (internal_function): Remove.
21382         All uses removed.
21384 2017-11-20  Bruno Haible  <bruno@clisp.org>
21386         crypto/gc-sm3: Fix buffer overrun.
21387         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
21388         Reported by Coverity.
21390 2017-11-12  Jim Meyering  <meyering@fb.com>
21392         maint: shorten https://lists.gnu.org/archive/html/... links
21393         Each /archive/html/ part can be replace with /r/.
21394         Run this to induce the change:
21395         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
21396         * ChangeLog: Perform that substitution.
21397         * Makefile: Likewise.
21398         * STATUS-libposix: Likewise.
21399         * build-aux/bootstrap: Likewise.
21400         * doc/maintain.texi: Likewise.
21401         * gnulib-tool: Likewise.
21402         * lib/allocator.h: Likewise.
21403         * lib/argp-ba.c: Likewise.
21404         * lib/argp-pv.c: Likewise.
21405         * lib/canon-host.c: Likewise.
21406         * lib/canonicalize-lgpl.c: Likewise.
21407         * lib/float.in.h: Likewise.
21408         * lib/fstat.c: Likewise.
21409         * lib/getdelim.c: Likewise.
21410         * lib/getprogname.c: Likewise.
21411         * lib/glthread/thread.h: Likewise.
21412         * lib/intprops.h: Likewise.
21413         * lib/mbsrtowcs-state.c: Likewise.
21414         * lib/safe-read.c: Likewise.
21415         * lib/signal.in.h: Likewise.
21416         * lib/stat.c: Likewise.
21417         * lib/stdbool.in.h: Likewise.
21418         * lib/stdio-impl.h: Likewise.
21419         * lib/stdio.in.h: Likewise.
21420         * lib/sysexits.in.h: Likewise.
21421         * lib/timespec.h: Likewise.
21422         * lib/wcsrtombs-state.c: Likewise.
21423         * m4/alloca.m4: Likewise.
21424         * m4/extern-inline.m4: Likewise.
21425         * m4/fstatat.m4: Likewise.
21426         * m4/gnulib-common.m4: Likewise.
21427         * m4/lib-ignore.m4: Likewise.
21428         * m4/printf.m4: Likewise.
21429         * m4/regex.m4: Likewise.
21430         * m4/stat-size.m4: Likewise.
21431         * m4/std-gnu11.m4: Likewise.
21432         * m4/stdbool.m4: Likewise.
21433         * m4/sys_types_h.m4: Likewise.
21434         * m4/threadlib.m4: Likewise.
21435         * m4/vararrays.m4: Likewise.
21436         * pygnulib/GLImport.py: Likewise.
21437         * tests/test-exp.h: Likewise.
21438         * tests/test-exp2.h: Likewise.
21439         * tests/test-expm1.h: Likewise.
21440         * tests/test-fflush2.c: Likewise.
21441         * tests/test-getopt_long.h: Likewise.
21442         * tests/test-intprops.c: Likewise.
21443         * tests/test-log.h: Likewise.
21444         * tests/test-log10.h: Likewise.
21445         * tests/test-log1p.h: Likewise.
21446         * tests/test-log2.h: Likewise.
21447         * tests/test-printf-posix.h: Likewise.
21448         * tests/test-regex.c: Likewise.
21449         * tests/test-snprintf-posix.h: Likewise.
21450         * tests/test-sprintf-posix.h: Likewise.
21451         * tests/test-stdalign.c: Likewise.
21452         * tests/test-stdbool.c: Likewise.
21453         * tests/test-vasnprintf-posix.c: Likewise.
21454         * tests/test-vasprintf-posix.c: Likewise.
21455         * top/maint.mk: Likewise.
21457 2017-11-12  Bruno Haible  <bruno@clisp.org>
21459         faccessat: Make the last change more robust.
21460         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
21461         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
21463 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21465         faccessat: port to macOS (Bug#29231)
21466         macOS faccessat has the same bug that lstat does: if the file
21467         name ends in '/' it ignores the trailing slash.
21468         Problem reported for Emacs by Vincent Zhang.
21469         * doc/posix-functions/faccessat.texi (faccessat): Document this.
21470         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
21471         around the initial includes.  Include errno.h, string.h, sys/stat.h.
21472         (orig_faccessat) [HAVE_FACCESSAT]: New function.
21473         Include "unistd.h" after defining it.
21474         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
21475         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
21476         Handle in the usual way.
21477         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
21478         lstat dereferences symlinks, since faccessat is likely to
21479         have the same problem.
21480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
21481         * modules/faccessat (Depends-on): Add fstatat.
21482         Depend if REPLACE_FACCESSAT is 1, too.
21483         (configure.ac): Link if REPLACE_FACCESSAT is 1.
21484         * modules/faccessat-tests (Depends-on): Add symlink.
21485         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
21486         * tests/test-faccessat.c (main): Test for the bug.
21488 2017-11-11  Bruno Haible  <bruno@clisp.org>
21490         getprogname: Fix compilation error on IRIX.
21491         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
21492         'namesize'.
21494 2017-11-11  Bruno Haible  <bruno@clisp.org>
21496         year2038: Tweak last patch.
21497         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
21499 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
21501         year2038: be more insistent about 64-bit time_t
21502         Applications requiring access to arbitrary files should not be
21503         built with 32-bit time_t on hosts that have 64-bit timestamps,
21504         as this can lead to real trouble at runtime.
21505         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
21506         Check on all systems, not just MinGW.  Use a heuristic involving
21507         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
21508         output a failure or just a warning, to make it more likely that
21509         builders will select 64-bit time_t.
21511 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21513         havelib: fix typo in previous change
21514         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
21516         Don’t use AC_EGREP_CPP if affected by CFLAGS
21517         * m4/float_h.m4 (gl_FLOAT_H):
21518         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
21519         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
21520         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
21521         * m4/year2038.m4 (gl_YEAR2038):
21522         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
21523         likely to be affected by the choice of CFLAGS, since CFLAGS are
21524         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
21525         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
21527         fstatat: pacify GCC on unusual platform
21528         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
21529         Omit, as it’s unused in this case.
21531 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21533         timespec: prefer ‘assume’ to ‘assure’
21534         This avoids some runtime tests.  The rest of the module makes
21535         similar assumptions and there is little point to testing here.
21536         * lib/timespec.h: Include verify.h instead of assure.h.
21537         (timespec_cmp): Use ‘assume’, not ‘assure’.
21538         Also, remove an unnecessary cast to ‘int’, as lots of other
21539         code in this module now causes -Wconversion to complain, and
21540         this is a problem with -Wconversion not with the code.
21542         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
21544         Port recent gnulib-tool change to Dash
21545         * gnulib-tool (func_create_testdir): Don't assume that the shell
21546         retokenizes after expanding "$@" inside the call to
21547         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
21549 2017-10-27  Jim Meyering  <meyering@fb.com>
21551         timespec.h: use "assure" to avoid a spurious warning
21552         * lib/timespec.h: Include "assure.h" and use it to help
21553         gcc7's -Wstrict-overflow avoid a false positive warning
21554         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
21555         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
21556         * modules/timespec (Depends-on): Add assure.
21558 2017-10-29  Bruno Haible  <bruno@clisp.org>
21560         Avoid several test failures with traditional locales on Haiku.
21561         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
21562         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
21563         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
21564         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
21565         LOCALE_ZH_CN=none.
21567 2017-10-29  Bruno Haible  <bruno@clisp.org>
21569         strerror_r-posix: Fix behaviour and test failure on Haiku.
21570         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
21571         are positive. Work around return value 0 instead of ERANGE on Haiku.
21572         For unknown error numbers, use a format string consistent with perror().
21573         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
21574         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
21575         are positive.
21577 2017-10-29  Bruno Haible  <bruno@clisp.org>
21579         get-rusage-data: Avoid crash on Haiku.
21580         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
21582 2017-10-29  Bruno Haible  <bruno@clisp.org>
21584         get-rusage-as: Avoid crash on Haiku.
21585         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
21587 2017-10-29  Bruno Haible  <bruno@clisp.org>
21589         ilogbl: Ensure replacement on Haiku.
21590         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
21591         REPLACE_ILOGBL if ilogbl does not work.
21592         (gl_FUNC_ILOGBL_WORKS): New macro.
21593         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
21594         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
21595         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
21596         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
21597         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
21599 2017-10-29  Bruno Haible  <bruno@clisp.org>
21601         expl: Ensure replacement on Haiku.
21602         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
21603         zero.
21604         * doc/posix-functions/expl.texi: Mention the Haiku problem.
21606 2017-10-29  Bruno Haible  <bruno@clisp.org>
21608         math: Fix test failure on Haiku.
21609         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
21610         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
21611         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
21612         * doc/posix-headers/math.texi: Mention the Haiku problem.
21614 2017-10-29  Bruno Haible  <bruno@clisp.org>
21616         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
21617         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
21618         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
21620 2017-10-29  Bruno Haible  <bruno@clisp.org>
21622         crypto/*: Verify that the header file is self-contained.
21623         * tests/test-gc-*.c: Include the module's header file immediately after
21624         <config.h>.
21625         * tests/test-hmac-*.c: Likewise.
21626         * tests/test-arcfour.c: Likewise.
21627         * tests/test-arctwo.c: Likewise.
21628         * tests/test-des.c: Likewise.
21629         * tests/test-md2.c: Likewise.
21630         * tests/test-md4.c: Likewise.
21631         * tests/test-md5.c: Likewise.
21632         * tests/test-rijndael.c: Likewise.
21633         * tests/test-sha1.c: Likewise.
21634         * tests/test-sm3.c: Likewise.
21636 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21637             Bruno Haible  <bruno@clisp.org>
21639         crypto/gc: fix build failure with -Werror=suggest-attribute=const
21640         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
21642 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21644         New module: crypto/gc-sm3
21645         * lib/gc.h: Declare SM3-related stuffs.
21646         * lib/gc-gnulib.c: Support sm3 in internal functions.
21647         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
21648         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
21649         * modules/crypto/gc-sm3: Define gc-sm3 module.
21650         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
21651         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
21652         * MODULES.html.sh: List gc-sm3 module.
21654 2017-10-29  Bruno Haible  <bruno@clisp.org>
21656         random, random_r: Mention different prototypes on Haiku.
21657         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
21658         * doc/glibc-functions/random_r.texi: Likewise.
21659         * doc/glibc-functions/initstate_r.texi: Likewise.
21660         * doc/glibc-functions/setstate_r.texi: Likewise.
21662 2017-10-28  Bruno Haible  <bruno@clisp.org>
21664         posix_spawn: Avoid spurious message in configure output.
21665         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
21666         'cmp' command.
21668 2017-10-28  Bruno Haible  <bruno@clisp.org>
21670         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
21671         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
21672         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
21674 2017-10-28  Bruno Haible  <bruno@clisp.org>
21676         ioctl: Override non-POSIX declaration on Haiku.
21677         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
21678         * lib/sys_ioctl.in.h: Add comment about Haiku.
21679         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
21680         * doc/glibc-headers/sys_ioctl.texi: Likewise.
21682 2017-10-28  Bruno Haible  <bruno@clisp.org>
21684         crypto/sm3: Add overview documentation to the .h file.
21685         * lib/sm3.h: Add comments.
21687 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21689         New module: crypto/sm3
21690         This new module can be used to compute SM3 message digest of files or
21691         memory blocks according to the specification GM/T 004-2012
21692         Cryptographic Hash Algorithm SM3, published by State Cryptography
21693         Administration, China.
21694         The official SM3 cryptographic hash algorithm specification is
21695         available at
21696         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
21697         * lib/sm3.h: Declare the APIs of sm3 module.
21698         * lib/sm3.c: Implement SM3 hash algorithm.
21699         * m4/sm3.m4: m4 file for sm3 module.
21700         * modules/crypto/sm3: Define sm3 module.
21701         * tests/test-sm3.c: Implement SM3 test case.
21702         * modules/crypto/sm3-tests: Define sm3 test module.
21703         * MODULES.html.sh: List sm3 module.
21705 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21707         gc-libgcrypt: fix undefined enum type in switch statement
21708         Resolve the following build failure:
21709         lib/gc-libgcrypt.c: In function 'gc_hash_open':
21710         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
21711         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
21712              case 0:
21713              ^~~~
21714         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
21715         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
21717 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21719         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
21720         Resolve the following build failure:
21721         lib/gc-libgcrypt.c: In function 'gc_hash_read':
21722         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
21723         in signedness [-Werror=pointer-sign]
21724             digest = gcry_md_read (ctx->gch, 0);
21725                    ^
21726         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
21728 2017-10-26  Bruno Haible  <bruno@clisp.org>
21730         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
21731         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
21732         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
21734 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
21736         glob: fix another heap buffer overflow
21737         Problem reported by Tim Rühsen in:
21738         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
21739         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
21741 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
21743         quotearg: pacify compiler re unsigned
21744         * lib/quotearg.c (quotearg_n_options):
21745         Rewrite to avoid diagnostic from overly-picky compiler.
21746         Problem reported by Sami Kerola in:
21747         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
21749         glob: fix heap buffer overflow
21750         * lib/glob.c (glob): Fix off-by-one error introduced into
21751         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
21752         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
21753         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
21754         Fix suggested by Bruno Haible.
21756 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
21758         glob: pacify fuzzer for mempcpy
21759         Problem reported by Tim Rühsen in:
21760         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
21761         * lib/glob.c (glob): Do not pass NULL to mempcpy.
21763 2017-10-12  Bruno Haible  <bruno@clisp.org>
21765         doc: Fix syntax error (regression from 2017-10-03).
21766         * doc/posix-functions/strncpy.texi: Fix syntax error.
21768 2017-10-12  Bruno Haible  <bruno@clisp.org>
21770         doc: Update for Solaris 11.3.
21771         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
21772         mention Solaris 11.3.
21773         * m4/log2.m4: Fix comments.
21774         * m4/log2f.m4: Likewise.
21775         * m4/printf.m4: Update comments.
21776         * m4/rename.m4: Likewise.
21777         * m4/strncat.m4: Likewise.
21779         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
21781 2017-10-10  Bruno Haible  <bruno@clisp.org>
21783         doc: Improve doc about ioctl.
21784         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
21785         prototype.
21787 2017-10-09  Bruno Haible  <bruno@clisp.org>
21789         wcwidth: Don't use obsolete syntax of 'test'.
21790         Reported by Eric Blake.
21791         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
21792         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
21794 2017-10-09  Bruno Haible  <bruno@clisp.org>
21796         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
21797         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
21798         and Daniel P. Berrange <berrange@redhat.com>.
21799         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
21800         on glibc systems. The getopt-pfx-core.h file declares exactly what
21801         unistd.h needs, nothing more.
21803 2017-10-08  Bruno Haible  <bruno@clisp.org>
21805         vma-iter: Improve support for FreeBSD.
21806         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
21807         vma_iterate.
21808         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
21810 2017-10-08  Bruno Haible  <bruno@clisp.org>
21812         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
21813         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
21815 2017-10-07  KO Myung-Hun  <komh@chollian.net>
21817         test-framework-sh: Fix 'invalid path dir' error.
21818         On OS/2, a path separator is ';' not ':'. And ':' is used as a
21819         separator between a drive letter and directory parts.
21820         As a result, an absolute path such as x:/path/to/dir on OS/2 is
21821         treated as an invalid path dir.
21822         * tests/init.sh (PATH_SEPARATOR): Set at startup.
21823         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
21824         instead of hard coded ':'.
21826 2017-10-07  Bruno Haible  <bruno@clisp.org>
21828         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
21829         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
21830         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
21831         (rof_open): On Linux, do multiple read() calls and make sure
21832         MIN_LEFTOVER bytes are left when read() returns.
21834 2017-10-07  Bruno Haible  <bruno@clisp.org>
21836         vma-iter: Improve support for GNU/Hurd.
21837         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
21838         API, not the /proc file system.
21840 2017-10-07  Bruno Haible  <bruno@clisp.org>
21842         test-framework-sh: Don't require bash on Windows and OS/2.
21843         Reported by KO Myung-Hun.
21844         * tests/test-init.sh: Use 'shopt' only when running in bash.
21846 2017-10-06  KO Myung-Hun  <komh@chollian.net>
21848         wcwidth: check a macro version of wcwidth () as well
21849         * lib/wchar.in.h: Revert commit from 2016-01-14.
21850         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
21852 2017-10-06  Bruno Haible  <bruno@clisp.org>
21854         getopt-posix: Clarify copyright header.
21855         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
21856         * lib/getopt-pfx-core.h: Likewise.
21857         * lib/getopt-pfx-ext.h: Likewise.
21858         * lib/getopt-cdefs.in.h: Likewise.
21860 2017-10-03  Bruno Haible  <bruno@clisp.org>
21862         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
21863         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
21864         gl_HOST_CPU_C_ABI.
21866 2017-10-03  Bruno Haible  <bruno@clisp.org>
21868         doc: warn about misuse of strncpy and wcsncpy.
21869         * doc/posix-functions/strcpy.texi: Describe requirements on prior
21870         memory allocation.
21871         * doc/posix-functions/wcscpy.texi: Likewise.
21872         * doc/posix-functions/strncpy.texi: Describe what this function is not
21873         useful for.
21874         * doc/posix-functions/wcsncpy.texi: Likewise.
21876 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21878         fsuage: fix typo in previous change
21879         * lib/fsusage.c: Remove stray include of full-read.h.
21880         Problem reported by Sam Steingold for macOS (Bug#28669).
21882 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
21884         fsusage: remove SVR2 support
21885         SVR2 was obsolete by 1986 and is no longer supported by anybody,
21886         and its code was getting in the way of use of this module by
21887         Emacs, which has its own ‘read’ function anyway.
21888         * lib/fsusage.c: Do not include sys/filsys.h.
21889         (get_fs_usage): Remove SVR2-specific code.
21890         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
21891         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
21892         * modules/fsusage (Depends-on): Do not depend on full-read.
21894         Simplify autoupdate of licenses
21895         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
21896         place.
21898 2017-10-01  Bruno Haible  <bruno@clisp.org>
21900         vma-iter: Add support for GNU/Hurd.
21901         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
21902         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21904 2017-09-30  Bruno Haible  <bruno@clisp.org>
21906         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
21907         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
21908         fail when module 'largefile' is in use.
21909         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
21910         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
21911         Don't test HAVE_SYS_PROCFS_H.
21913 2017-09-30  Bruno Haible  <bruno@clisp.org>
21915         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
21916         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
21917         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
21918         * modules/havelib (Depends-on): Add host-cpu-c-abi.
21920 2017-09-30  Bruno Haible  <bruno@clisp.org>
21922         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
21923         * lib/uniname/uniname.c (unicode_name_character): Add braces around
21924         scope of local variables.
21926 2017-09-28  Bruno Haible  <bruno@clisp.org>
21928         string: code style
21929         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
21930         substitutable variables.
21931         * modules/string (Makefile.am): Likewise.
21933 2017-09-26  Bruno Haible  <bruno@clisp.org>
21935         uniname/uniname-tests: Tighten code.
21936         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
21937         local variables into one.
21939 2017-09-26  Bruno Haible  <bruno@clisp.org>
21941         vma-iter: Improvements for Linux and BSD platforms.
21942         - Add support for DragonFly BSD.
21943         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
21944         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
21945         Read the entire file into memory in a single system call.
21946         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
21947         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
21949 2017-09-26  Bruno Haible  <bruno@clisp.org>
21951         vma-iter: Provide the protection flags on FreeBSD.
21952         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
21953         skip three fields between the addresses and the protection flags.
21955 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21957         glob: remove bogus extern decl
21958         * lib/glob.c (__glob_pattern_type): Remove now-spurious
21959         extern declaration.  Problem reported by Adhemerval Zanella in:
21960         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
21962 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
21964         uniname/uniname-tests: integer overflow fix
21965         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
21966         Check for integer overflow.
21968         duplocale-tests: fix unlikely crash
21969         * tests/test-duplocale.c (get_locale_dependent_values):
21970         Don’t crash with absurdly long month names.
21972         maint: fix overflow checking in nap.h
21973         * modules/chown-tests:
21974         * modules/fchownat-tests, modules/fdutimensat-tests:
21975         * modules/futimens-tests, modules/lchown-tests:
21976         * modules/stat-time-tests, modules/utime-tests:
21977         * modules/utimens-tests, modules/utimensat-tests:
21978         Depend on intprops.
21979         * tests/nap.h: Include intprops.h.
21980         (diff_timespec): Handle overflow properly.
21982         sys_types: update URL
21983         * m4/sys_types_h.m4: Use https: URL.
21985         parse-datetime: fix dependency
21986         * modules/parse-datetime (Depends-on): Depend
21987         on nstrftime, not strftime.
21989         parse-datetime, posixtm: avoid uninit access
21990         * lib/parse-datetime.y (parse_datetime2):
21991         * lib/posixtm.c (posixtime):
21992         Do not access uninitialized storage, even though the resulting
21993         value is never used.
21995 2017-09-25  Bruno Haible  <bruno@clisp.org>
21997         vma-iter: Improvements for BSD platforms.
21998         - Add support for GNU/kFreeBSD.
21999         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
22000         - Speed up on OpenBSD.
22001         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
22002         (vma_iterate_bsd): New function.
22003         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
22004         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
22005         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
22006         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
22008 2017-09-23  Bruno Haible  <bruno@clisp.org>
22010         strfmon_l: New module.
22011         * modules/strfmon_l: New file.
22012         * lib/strfmon_l.c: New file.
22013         * m4/strfmon_l.m4: New file.
22014         * doc/posix-functions/strfmon_l.texi: Mention the new module.
22015         * modules/strfmon_l-tests: New file.
22016         * tests/test-strfmon_l.c: New file.
22018         monetary: New module.
22019         * modules/monetary: New file.
22020         * lib/monetary.in.h: New file.
22021         * m4/monetary_h.m4: New file.
22022         * doc/posix-headers/monetary.texi: Mention the new module.
22023         * modules/monetary-tests: New file.
22024         * tests/test-monetary.c: New file.
22025         * modules/monetary-c++-tests: New file.
22026         * tests/test-monetary-c++.cc: New file.
22027         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
22029 2017-09-23  Bruno Haible  <bruno@clisp.org>
22031         duplocale tests: Fix test crash on Linux/x86.
22032         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
22033         locale from the current thread before freeing it.
22035 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
22037         mktime: port to OpenVMS
22038         Problem reported by John E. Malmberg in:
22039         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
22040         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
22042 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22044         manywarnings: port to GCC on 64-bit MS-Windows
22045         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
22046         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
22047         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
22049 2017-09-13  Bruno Haible  <bruno@clisp.org>
22051         all: Replace many more http URLs by https URLs. Update stale URLs.
22052         * users.txt: Remove mention of 'newts'.
22053         * lib/localename.c: Update comment about LANG_SOTHO.
22055 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22057         all: Replace many http URLs by https URLs.
22059 2017-09-12  Bruno Haible  <bruno@clisp.org>
22061         doc: Prefer https URLs where possible.
22062         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
22063         * doc/ld-output-def.texi: Remove unavailable URL.
22065 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22067         maintainer-makefile: FTP -> HTTPS
22068         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
22069         of FTP, which is planned to be decommissioned on 2017-11-01.
22071 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
22073         libc-config: Fix __GNUC_PREREQ macro.
22074         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
22075         __GNUC_MINOR.
22077 2017-09-09  Bruno Haible  <bruno@clisp.org>
22079         gnulib-tool: Simplify commit from 2015-08-20.
22080         * gnulib-tool (func_add_or_update): Remove local variable
22081         is_binary_file.
22083 2017-09-08  Bruno Haible  <bruno@clisp.org>
22085         stddef: Avoid conflict with system-defined max_align_t.
22086         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
22087         Reported by Werner Lemberg <wl@gnu.org> in
22088         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
22089         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
22090         (max_align_t): Define as a macro.
22091         (GNULIB_defined_max_align_t): New macro. Guards against multiple
22092         definitions of rpl_max_align_t in different copies of gnulib-generated
22093         <stddef.h>.
22095 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22097         libc-config: port to MSVC
22098         Problems reported by Gisle Vanem in:
22099         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
22100         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
22101         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
22102         * m4/__inline.m4: New file.
22103         * modules/libc-config (Files): Add it.
22104         (Depends-on): Use it.
22106         glob: Use enum for __glob_pattern_type result
22107         From a patch proposed by Adhemerval Zanella in:
22108         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
22109         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
22110         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
22111         * lib/glob_internal.h (__glob_pattern_type):
22112         * lib/glob.c (glob):
22113         * lib/glob_pattern_p.c (__glob_pattern_p):
22114         Use them.
22116         glob: fix for use in glibc
22117         Problem reported by Adhemerval Zanella in:
22118         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
22119         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
22120         Do not redefine if _LIBC.
22122 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22124         glob: fix bugs with long login names
22125         Problem reported by Adhemerval Zanella in:
22126         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
22127         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
22128         (glob): Use the same scratch buffer for both getlogin_r and
22129         getpwnam_r.  Don’t require preallocation of the login name.  This
22130         simplifies storage allocation, and corrects the handling of
22131         long login names.
22133 2017-09-02  Bruno Haible  <bruno@clisp.org>
22135         dirent: Update doc.
22136         * doc/posix-headers/dirent.texi: More concrete list of platforms.
22138 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22140         glob: fix getpwnam_r errno typo
22141         * lib/glob.c (glob): Fix longstanding misuse of errno after
22142         getpwnam_r, which returns an error number rather than setting
22143         errno.
22145         glob: fix typo in recent change
22146         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
22147         Fix recently-introduced typo.
22149 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22151         glob: don't save and restore errno unnecessarily
22152         * lib/glob.c (glob): Don't save and restore errno
22153         merely because we have getpwnam_r.
22155         glob: don't assume getpwnam_r
22156         * lib/glob.c (glob): Port recent patches to platforms
22157         lacking getpwnam_r.
22159         scratch_buffer: don’t use private glibc API
22160         Suggested by Florian Weimer in:
22161         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
22162         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
22163         * lib/scratch_buffer_grow.c: Rename to
22164         lib/malloc/scratch_buffer_grow.c.
22165         * lib/scratch_buffer_grow_preserve.c: Rename to
22166         lib/malloc/scratch_buffer_grow_preserve.c.
22167         * lib/scratch_buffer_set_array_size.c: Rename to
22168         lib/malloc/scratch_buffer_set_array_size.c.
22169         * lib/scratch_buffer.h: New file.
22170         * modules/scratch_buffer (Files, Makefile.am):
22171         Adjust to source-file renaming.
22173 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22175         glob: use scratch_buffer instead of extend_alloca
22176         Much of the lib/glob.c part of this patch comes from a glibc patch
22177         proposed by Adhemerval Zanella in:
22178         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
22179         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
22180         included via glob.h, does this for us now.
22181         (__set_errno): Remove, as libc-config does this for us now.
22182         Include <scratch_buffer.h>.
22183         (GETPW_R_SIZE_MAX): Remove.
22184         (glob): Use struct scratch_buffer instead of extend_alloca.
22185         * lib/glob.in.h: Include libc-config.h rather than
22186         including <sys/cdefs.h> conditionally.
22187         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
22188         (__glibc_unlikely, __restrict, weak_alias):
22189         Remove, as libc-config does this for us now.
22190         * m4/glob.m4 (gl_PREREQ_GLOB):
22191         Remove sys/cdefs.h tests; no longer needed.
22192         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
22193         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
22195         scratch_buffer: new module
22196         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
22197         * lib/scratch_buffer_grow_preserve.c:
22198         * lib/scratch_buffer_set_array_size.c:
22199         New files, copied from glibc with very minor changes that can be
22200         copied back.
22201         * modules/scratch_buffer: New file.
22203         libc-config: new module
22204         * MODULES.html.sh: Add libc-config.
22205         * lib/cdefs.h: New file, copied from the GNU C Library with very
22206         minor changes that can be copied back.
22207         * lib/libc-config.h, modules/libc-config: New files.
22209 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22211         glob: match dangling symlinks
22212         This fixes a bug I inadvertently introduced to Gnulib when I
22213         merged glibc glob back into gnulib on 2007-10-16.  This fix is
22214         inspired by a patch proposed for glibc by Adhemerval Zanella in:
22215         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
22216         * doc/posix-functions/glob.texi: Update list of affected platforms.
22217         * lib/glob.c (__lstat64): New macro.
22218         (is_dir): New function.
22219         (glob, glob_in_dir): Match symlinks even if they are dangling.
22220         (link_stat, link_exists_p): Remove.  All uses removed.
22221         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
22222         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
22223         * modules/glob-tests (Depends-on): Add symlink.
22224         * tests/test-glob.c: Include errno.h, unistd.h.
22225         (BASE): New macro.
22226         (main): Test dangling symlinks, if symlinks are supported.
22228         glob, backupfile: inode 0 is a valid inode number
22229         * doc/posix-functions/readdir.texi (readdir):
22230         * doc/posix-headers/dirent.texi (dirent.h):
22231         Document more readdir portability issues.
22232         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
22233         (numbered_backup): Don’t treat inode 0 any differently from
22234         other inode values.
22235         * lib/glob.c (struct readdir_result): Remove skip_entry member.
22236         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
22237         All uses removed.
22238         * modules/glob (Depends-on): Remove d-ino.
22240         glob: simplify symlink detection
22241         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
22242         uint8_t, as C99 does not require uint8_t.
22243         (struct readdir_result): Use it.  Do not define skip_entry unless
22244         it is needed; this saves a byte on platforms lacking d_ino.
22245         (readdir_result_type, readdir_result_skip_entry):
22246         New functions, replacing ...
22247         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
22248         ... these functions, which were removed.  This makes the callers
22249         easier to read.  All callers changed.
22250         (D_INO_TO_RESULT): Now empty if there is no d_ino.
22252 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22254         fts-tests: tag as a longrunning-test so not included by default
22255         * modules/fts-tests: This test takes about 20s on current systems,
22256         and uses about 285M of space on ext4.
22258 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22260         renameat2: fix compilation on alpine linux
22261         * m4/renameat.m4: Check for <linux/fs.h> presence.
22262         * lib/renameat2.h: Only include <linux/fs.h> if present.
22263         Reported by Assaf Gordon on Alpine Linux.
22265 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22267         glob: try to port recent changes to MS-Windows
22268         Problem reported by Bruno Haible in:
22269         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
22270         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
22271         * lib/glob.in.h (__glob_pattern_p): ... to here.
22273 2017-08-24  Eric Blake  <eblake@redhat.com>
22275         warnings: fix compilation with old autoconf
22276         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
22277         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
22278         AC_DEFUN.
22279         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
22280         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
22282 2017-08-24  Bruno Haible  <bruno@clisp.org>
22284         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
22285         * modules/glob (Depends-on): Add c99.
22287 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22289         glob: fix typo that broke platforms lacking d_ino
22290         This typo also hurt performance on GNU/Linux and similar hosts.
22291         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
22292         in previous change.
22294 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22296         glob: merge from glibc with Zanella glob changes
22297         Merge glob from glibc, with changes for glob proposed
22298         by Adhemerval Zanella in the thread starting here:
22299         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
22300         plus some fixes for this merge.
22301         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
22302         New files, ported from glibc.
22303         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
22304         with __restrict.
22305         (__size_t): Remove.  All uses replaced by size_t.
22306         (size_t): Define by defining __need_size_t and including <stddef.h>.
22307         This should work even in non-glibc platforms, where any name
22308         pollution is OK.
22309         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
22310         (struct stat64): Don’t worry about __GLOB_GNULIB.
22311         (glob, globfree, glob_pattern_p): Remove macros for
22312         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
22313         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
22314         but set errno.
22315         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
22316         removed since the glibc behavior works on null pointers.
22317         Do not include stdio.h; old SunOS is irrelevant now.
22318         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
22319         Include glob_internal.h.
22320         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
22321         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
22322         worked only coincidentally.
22323         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
22324         Remove macros; now done in glob.in.h.
22325         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
22326         (glob): Properly initialize glob structure with
22327         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
22328         Remove old code using SHELL since Bash no longer
22329         uses this.
22330         (glob, prefix_array): Separate MS code better.
22331         (glob, glob_in_dir): Use C99 decls before statements when glibc
22332         does.
22333         (glob_in_dir): Remove old Amiga and VMS code.
22334         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
22335         separate files.
22336         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
22337         (__glibc_unlikely):
22338         Move here from glob.c.
22339         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
22340         (weak_alias): New macro.
22341         (__size_t): Remove.  All uses replaced by size_t.
22342         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
22343         * modules/glob (Files): Add +lib/glob_internal.h,
22344         lib/glob_pattern_p.c, lib/globfree.c.
22345         (Depends-on): Remove snippet/arg-nonnull.
22347 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
22349         glob: port to clang's Undefined Sanitizer
22350         Problem reported by Tim Rühsen in:
22351         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
22352         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
22353         (glob_in_dir): Do not rely on undefined behavior in accessing
22354         struct members beyond their bounds.  Use a flexible array member
22355         instead.
22357 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
22359         vc-list-files: port to Solaris 10
22360         * build-aux/vc-list-files: Don't assume test -e works.
22362 2017-08-21  Karl Berry  <karl@freefriends.org>
22364         * doc/posix-functions/srandom.texi (srandom): typo }.
22366 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
22368         git-version-gen: port to Solaris 10
22369         Problem reported by Dagobert Michelsen in:
22370         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
22371         * build-aux/git-version-gen (v_from_git):
22372         Use expr instead of shell substitution.
22374 2017-08-19  Bruno Haible  <bruno@clisp.org>
22376         host-cpu-c-abi: Improve detection of MIPS ABI.
22377         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
22378         _MIPS_SIM.
22380 2017-08-17  Bruno Haible  <bruno@clisp.org>
22382         hypot tests: Fix test failure on FreeBSD 11.0/x86.
22383         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
22385 2017-08-17  Bruno Haible  <bruno@clisp.org>
22387         float: Fix LDBL_MIN value on FreeBSD/x86.
22388         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
22390 2017-08-17  Bruno Haible  <bruno@clisp.org>
22392         random: Fix test compilation failure on Cygwin 1.5.25.
22393         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
22394         HAVE_DECL_SETSTATE.
22395         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
22396         declared.
22397         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
22398         HAVE_DECL_SETSTATE.
22399         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
22400         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
22401         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
22402         * doc/posix-functions/random.texi: Likewise.
22403         * doc/posix-functions/setstate.texi: Likewise.
22404         * doc/posix-functions/srandom.texi: Likewise.
22406 2017-08-16  Bruno Haible  <bruno@clisp.org>
22408         stdnoreturn: Fix test compilation failure on Cygwin.
22409         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
22410         <stdnoreturn.h> replacement.
22411         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
22412         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
22414 2017-08-16  Bruno Haible  <bruno@clisp.org>
22416         thread: Fix conflict with pthread_sigmask module.
22417         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
22418         it's defined as a macro.
22419         * modules/thread (Depends-on): Add pthread_sigmask.
22421 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
22423         rename: port better to NetBSD
22424         * doc/posix-functions/rename.texi (rename): NetBSD 7
22425         does not have the link-count bug.
22426         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
22427         broken merely because rename ("a", "b") removes "a" when the two
22428         names are hard links to the same file.
22430 2017-08-16  Bruno Haible  <bruno@clisp.org>
22432         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
22433         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
22434         the target file names with '$(srcdir)/'.
22435         * modules/unicase/locale-language (Makefile.am): Likewise.
22436         * modules/unicase/special-casing (Makefile.am): Likewise.
22437         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
22438         * modules/unictype/category-byname (Makefile.am): Likewise.
22439         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
22440         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
22441         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
22442         * modules/unictype/property-byname (Makefile.am): Likewise.
22443         * modules/unictype/scripts (Makefile.am): Likewise.
22444         * modules/uninorm/composition (Makefile.am): Likewise.
22446 2017-08-16  Bruno Haible  <bruno@clisp.org>
22448         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
22449         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
22450         value for OpenBSD.
22452 2017-08-16  Bruno Haible  <bruno@clisp.org>
22454         rename, renameat: Update doc regarding NetBSD.
22455         * doc/posix-functions/rename.texi: Clarify that when using
22456         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
22457         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
22458         version.
22460 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
22462         renameat2: port better to macOS
22463         * lib/renameat2.c (renameat2): Use renameatx_np if available.
22465         futimens: don’t assume struct timespec layout
22466         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
22467         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
22468         * tests/test-fdutimensat.c (main):
22469         * tests/test-futimens.h (test_futimens):
22470         * tests/test-lutimens.h (test_lutimens):
22471         * tests/test-utimens.h (test_utimens):
22472         * tests/test-utimensat.c (main):
22473         Don’t assume that struct timespec is a two-member structure in
22474         tv_sec, tv_nsec order.  Although this is true on all platforms we
22475         know about, POSIX does not guarantee it.
22477         rename: document+test NetBSD rename
22478         Test failure reported by Bruno Haible in:
22479         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
22480         This is an area where NetBSD is better-behaved than POSIX,
22481         so allow the NetBSD behavior in tests.
22482         * doc/posix-functions/rename.texi:
22483         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
22484         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
22486 2017-08-15  Bruno Haible  <bruno@clisp.org>
22488         renameat: Ensure declaration in <stdio.h> on NetBSD.
22489         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
22490         * doc/posix-functions/renameat.texi: Mention this problem.
22492 2017-08-15  Bruno Haible  <bruno@clisp.org>
22494         duplocale: Work around NetBSD 7.0 bug.
22495         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
22496         * lib/duplocale.c: Add comment about NetBSD problem.
22497         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
22499 2017-08-15  Bruno Haible  <bruno@clisp.org>
22501         duplocale tests: Verify use with *_l functions.
22502         * modules/duplocale-tests (configure.ac): Test for uselocale and
22503         some *_l functions.
22504         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
22505         from main.
22506         (get_locale_dependent_values_from, test_with_locale_parameter): New
22507         functions.
22508         (main): Test both test_with_uselocale and test_with_locale_parameter.
22510 2017-08-15  Bruno Haible  <bruno@clisp.org>
22512         extensions: Enable NetBSD specific extensions.
22513         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
22515 2017-08-14  Bruno Haible  <bruno@clisp.org>
22517         open, openat: Update doc about O_CLOEXEC.
22518         * doc/posix-functions/open.texi: More concrete list of platforms.
22519         * doc/posix-functions/openat.texi: Likewise.
22521 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
22523         open: support O_CLOEXEC
22524         * NEWS, doc/posix-functions/open.texi:
22525         * doc/posix-functions/openat.texi: Document this.
22526         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
22527         (GNULIB_defined_O_CLOEXEC): New symbol.
22528         * lib/open.c: Include cloexec.h.
22529         (open): Support O_CLOEXEC.
22530         * lib/openat.c: Include cloexec.h.
22531         (rpl_openat): Support O_CLOEXEC.
22532         * lib/popen-safer.c: Do not include cloexec.h.
22533         (open_noinherit): Remove.
22534         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
22535         * lib/save-cwd.c: Do not include cloexec.h.
22536         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
22537         * m4/open-cloexec.m4: New file.
22538         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
22539         Replace 'open' if O_CLOEXEC is not present.
22540         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
22541         Replace 'openat' if O_CLOEXEC is not present.
22542         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
22543         * modules/open (Files): Add m4/open-cloexec.m4.
22544         (Depends-on): Depend on cloexec if replacing 'open'.
22545         * modules/openat (Files): Add m4/open-cloexec.m4.
22546         (Depends-on): Depend on cloexec if replacing openat.
22547         * modules/popen-safer (Depends-on): Remove cloexec.
22548         * modules/save-cwd (Depends-on): Remove cloexec, and add
22549         fd-safer-flag and 'open'.
22551 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
22553         reallocarray: minor fixes
22554         * doc/glibc-functions/reallocarray.texi: Update version numbers.
22555         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
22556         * modules/reallocarray (License): Change from GPL to LGPL.
22557         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
22558         Indent properly and don't use tabs.
22560 2017-08-13  Darshit Shah  <darnir@gnu.org>
22562         reallocarray: New module
22563         reallocarray is a new function in glibc 2.26 to safely allocate an array
22564         of memory locations with integer overflow protection.
22565         * MODULES.html.sh: Add reallocarray.
22566         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
22567         * lib/reallocarray.c: New file to implement module reallocarray.
22568         * lib/stdlib.in.h: Add function declarations for reallocarray.
22569         * m4/reallocarray.m4: New file.
22570         * m4/stdlib_h.m4: Declare reallocarray.
22571         * modules/reallocarray: New file.
22572         * modules/reallocarray-test: New file.
22573         * modules/stdlib: Coerce stdlib.h to export reallocarray.
22574         * tests/test-reallocarray.c: New test.
22576 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22578         dirent-safer: fix cloexec race
22579         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
22580         (opendir_safer): Use F_DUPFD_CLOEXEC.
22581         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
22582         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
22583         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
22584         instead of dup_safer.
22586         fts: fix cloexec races
22587         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
22588         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
22589         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
22590         (fd_ring_check): Set cloexec flag on new file descriptors.
22591         (fts_build, fd_ring_check): While we’re at it, make sure the
22592         resulting file descriptor is not 0, 1, or 2, since that is easy.
22594 2017-08-11  Bruno Haible  <bruno@clisp.org>
22596         fts tests: Fix link error.
22597         Reported by Tom G. Christensen in
22598         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
22599         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
22601 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22603         fts: port recent changes to CentOS 6
22604         Problem reported by Tom G. Christensen in:
22605         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
22606         * lib/fts.c (fsword): New type.
22607         (struct dev_type, filesystem_type): Use it.
22608         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
22609         Also, check for f_type only if fstatfs and sys/vfs.h work.
22611 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22613         tempname: do not depend on secure_getenv
22614         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
22615         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
22616         * modules/tempname (Depends-on): Remove secure_getenv.
22618 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
22620         extensions: add _OPENBSD_SOURCE
22621         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
22623 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
22624             Bruno Haible  <bruno@clisp.org>
22626         manywarnings: Add support for C++.
22627         * build-aux/g++-warning.spec: New file.
22628         * m4/manywarnings-c++.m4: New file.
22629         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
22630         redirects to manywarnings-c++.m4.
22631         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
22633 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22635         git-version-gen: another fix for tags with "-"
22636         * build-aux/git-version-gen: Improve fix for tags containing "-".
22637         Suggested by Markus Armbruster in:
22638         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
22640 2017-08-06  Bruno Haible  <bruno@clisp.org>
22642         warnings, manywarnings: Add support for multiple languages, not just C.
22643         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
22644         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
22645         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
22646         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
22647         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
22648         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
22649         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
22650         of the current language. If C++ is the current language, modify
22651         WARN_CXXFLAGS instead of WARN_CFLAGS.
22652         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
22653         gl_MANYWARN_ALL_GCC.
22654         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
22656 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
22658         git-version-gen: Fix for tags containing '-'
22660         Really old versions of git-describe (before v1.5.0, Feb 2007)
22661         don't have the number of commits in their long format output,
22662         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
22663         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
22664         recognizes both patterns, and normalizes the old format to the new one.
22666         Unfortunately, this normalization code gets confused when the tag
22667         contains '-'.  Reproducer:
22669             $ git-tag -m test v0.2-rc1
22670             $ build-aux/git-version-gen .tarball-version; echo
22671             build-aux/git-version-gen: WARNING: git rev-list failed
22672             UNKNOWN
22674         We take exact tag "v0.2-rc1" for the old format, extract the presumed
22675         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
22676         commits since tha tag.  Fails, because tag "v0.2" does not exist.
22678         * git-version-gen: We could perhaps drop support for versions from
22679         more than a decade ago.  But tightening the pattern match is easy
22680         enough, so do that.  Still breaks when you use version tags ending in
22681         something matching -g????, but you arguably get what you deserve then.
22683 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22685         valgrind-tests: use ls, and cache
22686         * m4/valgrind-tests.m4: Test ls, not bash.
22687         Problem reported by Reuben Thomas.
22688         Also, cache the result so that it can be overridden.
22690 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22692         manywarnings: port to 64-bit GCC builds of Emacs
22693         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
22694         object size rather than hardwiring 2147483647.  This is needed to
22695         build GNU Emacs, which has one conditional (and used
22696         only-in-theory) call to malloc with a literal greater than
22697         2147483647.
22699 2017-08-04  Bruno Haible  <bruno@clisp.org>
22701         Relax the license of some modules with no runtime code.
22702         * modules/std-gnu11 (License): Set to 'unlimited'.
22703         * modules/c99 (License): Likewise.
22704         Reported by Reuben Thomas <rrt@sc3d.org>.
22705         * modules/d-ino (License): Set to 'LGPL'.
22706         * modules/host-os (License): Likewise.
22707         * modules/longlong (License): Likewise.
22709 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22711         renameat2: port to RHEL 7 + NFS
22712         * lib/renameat2.c (renameat2) [SYS_renameat2]:
22713         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
22714         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
22716 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
22718         renameat2: port to non-renameat platforms
22719         Problem reported for MSVC-2015 by Gisle Vanem in:
22720         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
22721         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
22722         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
22724 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
22726         manywarnings: port to 32-bit GCC bug
22727         Problem reported by Pino Toscano in:
22728         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
22729         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
22730         not 2**63 - 1, to work around the following GCC bug:
22731         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
22733 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
22735         backupfile: new function to validate backup suffix
22736         * lib/backupfile.c (set_simple_backup_suffix): New function.
22737         (backupfile_internal): Use it.
22739         canonicalize: fix EOVERFLOW commentary
22740         Problem reported by Bruno Haible in:
22741         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
22742         * lib/canonicalize.c (canonicalize_filename_mode):
22743         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
22745         Don't interpret EOVERFLOW to mean nonexistence
22746         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
22747         may be EOVERFLOW; this is likely more useful than reporting the
22748         stat errno.
22749         * lib/glob.c (link_stat): Rename from link_exists2_p and
22750         return -1/0 instead of 0/1.  Caller changed.
22751         * lib/glob.c (link_exists_p):
22752         * lib/renameat2.c (rename_noreplace, renameat2):
22753         * lib/tempname.c (try_nocreate):
22754         If errno == EOVERFLOW then the directory entry exists, so do not
22755         act as if it does not exist.
22757         backup-rename: new module
22758         It is like backupfile, except it avoids some race conditions,
22759         and it does not output to stderr or exit.
22760         * MODULES.html.sh: Add backup-rename.
22761         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
22762         * modules/backup-rename: New files.
22763         * lib/backupfile.c: Turn this into an internals file, which
22764         contains code common to backupfile and backup_rename.  Include
22765         backupfile-internal.h instead of backupfile.h.  Do not include
22766         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
22767         renameat2.h and fcntl.h.
22768         (BACKUP_NOMEM): New constant.
22769         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
22770         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
22771         (backupfile_internal): Rename from find_backup_file_name.
22772         Support new arg RENAME.
22773         (backup_args, backup_types, get_version, xget_version):
22774         Move to lib/backup-find.c.
22775         * lib/backupfile.h (backup_file_rename): New decl.
22776         * modules/backupfile (Files): Add lib/backup-internal.h,
22777         lib/backup-find.c.
22778         (Depends-on): Add dirfd, fcntl, renameat2.
22779         (lib_SOURCES): Add backup-find.c.
22781         renameat2: port better to older Solaris
22782         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
22783         Add goto to use a label, to silence picky compilers.
22785         fts-tests: port to gcc -Wwrite-strings
22786         * tests/test-fts.c (base, base_d): New static vars.
22787         (argv, remove_tree, main): Use them.
22789 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22791         relocatable-lib{,-lgpl}: improve documentation
22792         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
22793         Various other updates.
22795 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
22796             Bruno Haible  <bruno@clisp.org>
22798         relocatable-lib{,-lgpl}: add Valgrind suppressions
22799         * lib/relocatable.valgrind: New file.
22800         * modules/relocatable-lib (Files): Add relocatable.valgrind.
22801         * modules/relocatable-lib-lgpl: Likewise.
22803 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22805         relocatable: Make the license on the sources the GPL.
22806         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
22807         LGPL, which was a special case so that the relocatable source files
22808         could be used without gnulib-tool, to GPL. They can still be used under
22809         the LGPL, using the --lgpl option to gnulib-tool.
22811 2017-07-30  Bruno Haible  <bruno@clisp.org>
22813         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
22814         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
22815         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
22816         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
22817         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
22819 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
22821         faccessat: document AT_SYMLINK_NOFOLLOW issue
22822         * doc/posix-functions/faccessat.texi: Modernize platform list.
22823         Document AT_SYMLINK_NOFOLLOW limitation.
22825         renameat2: port to Solaris 10
22826         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
22827         with AT_SYMLINK_NOFOLLOW (which is not portable).
22828         (renameat): Undef before using, to avoid endless recursion when
22829         the replacement renameat calls renameat2 which calls the
22830         replacement renameat.
22831         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
22832         * modules/renameat2 (Depends-on): Remove faccessat.
22833         * modules/renameat-tests (test_renameat_LDADD):
22834         * modules/renameat2-tests (test_renameat2_LDADD):
22835         Remove $(LIB_EACCESS).
22837         renameat2: new module
22838         Although the Linux syscall renameat2 is not in glibc (yet?), it is
22839         useful to have access to its RENAME_NOREPLACE flag.
22840         * MODULES.html.sh (func_all_modules): Add renameat2.
22841         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
22842         * modules/renameat2-tests, tests/test-renameat2.c: New files.
22843         * lib/renameat.c (renameat): Move most of the implementation
22844         to renameat2, and just call renameat2.
22845         * modules/renameat (Files): Remove lib/at-func2.c.
22846         (Depends-on): Depend only on renameat2.
22847         (Include): Remove <fcntl.h>.
22848         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
22849         since renameat (via renameat2) might use faccessat.
22851 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
22853         vc-list-files: Adjust the script to support git worktrees
22854         * build-aux/vc-list-files: Require existence, not directory.
22856 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22858         doc: bring MODULES.html.sh up to date
22859         Somehow a few months ago we stopped updating MODULES.html.sh.
22860         I don’t recall explicitly deciding this, so I updated it now.
22861         Alternatively I suppose we could remove it.
22862         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
22863         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
22864         truncate, utime, utime-h, windows-stat-inodes,
22865         windows-stat-override, windows-stat-timespec, year2038.  Sort.
22867 2017-07-26  Jim Meyering  <meyering@fb.com>
22869         fprintftime: fix build-break caused by recent renaming
22870         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
22871         "strftime.c".
22872         * modules/fprintftime: Depend directly on nstrftime.
22874 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22876         regex: work with GCC7's -Werror=implicit-fallthrough=
22877         * lib/regex_internal.h (FALLTHROUGH): New macro.
22878         * lib/regcomp.c (peek_token_bracket, parse_expression):
22879         * lib/regexec.c (check_node_accept): Use it.
22881 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
22883         fts: simplify fts_build
22884         * lib/fts.c (fts_build): Simplify, and be lazier about
22885         calling leaf_optimization.
22887         fts: three levels of leaf optimization
22888         * lib/fts.c (enum leaf_optimization): New type with three values.
22889         (S_MAGIC_AFS): New macro.  Sort them.
22890         (leaf_optimization): Rename from leaf_optimization_applies, and
22891         return enum leaf_optimization instead of bool.  All uses changed.
22892         Add cases for unknown type and for AFS.
22893         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
22895         fts: cache dirent_inode_sort_may_be_useful too
22896         * lib/fts.c (struct dev_type): New struct.
22897         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
22898         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
22899         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
22900         Now takes FTSENT const *, not int.  All uses changed.  Use
22901         filesystem_type to cache.
22902         (link_count_optimize_ok): Remove.  Caller changed to use
22903         leaf_optimization_applies, which now uses shared cache.
22905         fts: introduce MIN_DIR_NLINK
22906         * lib/fts.c (MIN_DIR_NLINK): New constant.
22907         Use it instead of 2, whenever we are talking about link counts.
22909         fts: nlink_t signedness fixups
22910         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
22911         so that root need not be a special case later.
22912         (fts_read): Remove now-redundant test for fts_level.
22913         Do not assume that nlink_t is signed.
22914         (fts_build): Remove useless decrement of nlinks.
22915         (fts_stat): Avoid unlikely signed integer overflow later, if
22916         nlink_t is signed.
22918         fts-tests: new module
22919         * modules/fts-tests, tests/test-fts.c: New files.
22921 2017-07-23  Bruno Haible  <bruno@clisp.org>
22923         Rename module 'strftime' to 'nstrftime'.
22924         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
22925         * lib/nstrftime.c: Renamed from lib/strftime.c.
22926         * modules/nstrftime: Renamed from modules/strftime.
22927         (Files, Makefile.am): Update.
22928         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
22929         Fix comment.
22930         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
22931         (Files, Makefile.am): Update.
22932         * modules/strftime: New file, an obsolete indirection.
22933         * doc/posix-functions/strftime.texi: Update reference.
22934         * config/srclist.txt: Update info.
22935         * NEWS: Mention the change.
22937 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
22939         malloca: Silence a warning from clang's memory sanitizer.
22940         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
22941         (freea): Use it.
22943 2017-07-18  Bruno Haible  <bruno@clisp.org>
22945         host-cpu-c-abi: Fix detection of MIPS ABI.
22946         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
22947         ABI, not the CPU instruction set.
22949 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
22951         explicit_bzero: new module
22952         The explicit_bzero function has been added to glibc.
22953         This module is intended to supports its use in GNU programs.
22954         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
22955         * m4/explicit_bzero.m4, modules/explicit_bzero:
22956         New files.
22957         * doc/gnulib.texi (Glibc string.h): Link to new doc.
22958         * lib/string.in.h (explicit_bzero): Declare.
22959         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
22960         * modules/string (string.h): Substitute its vars.
22962 2017-07-16  Bruno Haible  <bruno@clisp.org>
22964         threadlib: Support static linking.
22965         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
22966         set gl_cv_have_weak to 'no'.
22968 2017-07-16  Bruno Haible  <bruno@clisp.org>
22970         unicase/locale-language: Fix link dependencies.
22971         * modules/unicase/locale-language (Link): New section.
22972         * modules/unicase/locale-language-tests (Makefile.am): Link
22973         test-locale-language program with $(LIBTHREAD).
22975 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22977         sys_socket: Add support for OpenVMS.
22978         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
22979         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
22981 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22983         sys_resource: Add support for OpenVMS.
22984         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
22985         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
22987 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22988             Bruno Haible  <bruno@clisp.org>
22990         math: Add support for OpenVMS.
22991         * lib/math.in.h [__VMS]: Include <fp.h>.
22992         * doc/posix-headers/math.texi: Mention OpenVMS issues.
22994 2017-07-15  Bruno Haible  <bruno@clisp.org>
22996         getdtablesize: Add minimal support for OpenVMS.
22997         Reported by John E. Malmberg <wb8tyw@qsl.net>.
22998         * modules/getdtablesize (Description): Fix.
22999         * lib/getdtablesize.c: Fix comment.
23000         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
23001         getdtablesize() function, even though the test fails.
23002         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
23003         limitation on OpenVMS.
23005 2017-07-13  Bruno Haible  <bruno@clisp.org>
23007         Revisit cross-compilation guesses.
23008         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
23010 2017-07-13  Bruno Haible  <bruno@clisp.org>
23012         Improve cross-compilation guesses for native Windows.
23013         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
23014         Windows.
23015         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
23016         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
23017         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23018         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
23019         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
23020         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
23021         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
23022         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23023         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23024         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23025         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23026         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
23027         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
23028         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
23029         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
23030         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23031         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
23032         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
23033         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23034         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
23035         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
23036         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23037         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
23038         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
23039         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
23040         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
23041         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
23042         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23043         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23044         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
23045         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23046         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
23047         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
23048         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
23049         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
23050         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
23051         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
23052         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23053         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
23054         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23055         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23056         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23057         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
23058         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
23059         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
23060         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
23061         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
23062         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
23063         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
23064         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
23065         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
23066         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
23067         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
23068         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
23069         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
23070         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
23071         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
23072         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23073         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
23074         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
23075         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23076         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
23077         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
23078         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
23079         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23080         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23081         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
23082         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23083         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
23084         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
23085         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
23086         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
23087         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23088         * m4/regex.m4 (gl_REGEX): Likewise.
23089         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
23090         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
23091         gl_FUNC_REMAINDERF_WORKS): Likewise.
23092         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
23093         gl_FUNC_REMAINDERL_WORKS): Likewise.
23094         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23095         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23096         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23097         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23098         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23099         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
23100         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23101         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23102         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
23103         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23104         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
23105         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
23106         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23107         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23108         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
23109         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23110         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23111         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23112         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23113         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23114         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23115         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23116         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23117         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23118         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23119         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23120         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23121         Likewise.
23122         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23123         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
23124         Windows. Enable also on Autoconf 2.70.
23125         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23126         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23127         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23128         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
23129         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23130         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
23131         for native Windows.
23132         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23133         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
23135 2017-07-13  Bruno Haible  <bruno@clisp.org>
23137         Improve cross-compilation guesses for native Windows.
23138         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
23139         Windows.
23140         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
23141         memchr.m4.
23142         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23144 2017-07-13  Bruno Haible  <bruno@clisp.org>
23146         Improve cross-compilation guesses for native Windows.
23147         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
23148         native Windows.
23149         (gl_FUNC_FFLUSH): Update accordingly.
23150         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
23151         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23153 2017-07-11  Bruno Haible  <bruno@clisp.org>
23155         More systematic m4 quoting and indentation.
23156         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
23157         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23158         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
23159         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23160         * m4/host-os.m4 (gl_HOST_OS): Likewise.
23161         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
23162         gl_WINSIZE_IN_PTEM): Likewise.
23163         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
23164         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23165         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23166         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
23167         Correct indentation.
23168         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
23169         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23170         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
23171         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23172         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23173         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23175 2017-07-10  Bruno Haible  <bruno@clisp.org>
23177         round, roundf: Avoid compiler warning in configure test.
23178         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
23179         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23181 2017-07-10  Bruno Haible  <bruno@clisp.org>
23183         getlogin tests: Avoid #ifdefs when sharing code between modules.
23184         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
23185         * modules/getlogin-tests (Files): Likewise. Remove
23186         tests/test-getlogin_r.c.
23187         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
23188         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
23189         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
23190         getlogin().
23192 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
23194         getlogin: don’t assume one name per uid
23195         Problem reported by Wolfgang F. Muthmann (Bug#27640).
23196         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
23197         (ttyname): Remove test.
23198         * modules/getlogin_r-tests (ttyname): Remove test.
23199         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
23200         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
23201         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
23202         getlogin rather than getlogin_r.  This avoids code duplication.
23203         (main): Use isatty and fstat rather than ttyname and stat.
23204         Use getpwnam instead of getpwuid, to be portable to test platforms
23205         that have multiple login names for the same uid.
23207 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
23208             Bruno Haible  <bruno@clisp.org>
23210         glob: Fix more memory leaks.
23211         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
23212         returning.
23213         Reported by Tim Rühsen.
23215 2017-07-10  Bruno Haible  <bruno@clisp.org>
23217         Make sure $host and $host_os are defined when used.
23218         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
23219         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
23220         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
23221         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23222         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23223         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23224         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23225         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
23226         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23227         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23228         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
23229         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
23230         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23231         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
23232         m4_ifdef block.
23234 2017-07-09  Bruno Haible  <bruno@clisp.org>
23236         *printf: Fix cross-compilation guess for Solaris.
23237         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
23238         2010-12-21.
23240 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23241             Bruno Haible  <bruno@clisp.org>
23243         vasnprintf: port to macOS 10.13
23244         Problem reported by comex in:
23245         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
23246         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
23248 2017-07-06  Bruno Haible  <bruno@clisp.org>
23250         imaxdiv tests: Fix logic.
23251         * tests/test-imaxdiv.c (main): Use == instead of =.
23252         Reported by Coverity.
23254 2017-07-06  Bruno Haible  <bruno@clisp.org>
23256         uninorm/filter: Fix use-after-free bug.
23257         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
23258         sortbuf == filter->sortbuf invariant.
23259         Reported by Coverity.
23261 2017-07-06  Bruno Haible  <bruno@clisp.org>
23263         glob: Fix more memory leaks.
23264         * lib/glob.c (glob): Free dirname before returning.
23265         Reported by Coverity and Tim Rühsen.
23267 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23269         parse-datetime: fix uninit var bug
23270         Reported by Bruno Haible in:
23271         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
23272         * lib/parse-datetime.y (parse_datetime2): Do not use
23273         uninitialized.
23275 2017-07-05  Bruno Haible  <bruno@clisp.org>
23277         doc: Update for MSVC 14.
23278         * doc/posix-headers/*.texi: Add info about MSVC 14.
23279         * doc/posix-functions/*.texi: Likewise.
23280         * doc/pastposix-functions/*.texi: Likewise.
23281         * doc/glibc-headers/*.texi: Likewise.
23282         * doc/glibc-functions/*.texi: Likewise.
23284 2017-07-05  Bruno Haible  <bruno@clisp.org>
23286         sched: Fix build failure on native Windows (regression from 2017-06-19).
23287         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
23289 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
23291         stdioext: Port to OpenVMS.
23292         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
23293         * lib/fpending.c (fpending): Remove non-working VMS specific code.
23294         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
23295         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
23296         * lib/fpurge.c (fpurge): Likewise.
23297         * lib/freadable.c (freadable): Likewise.
23298         * lib/freadahead.c (freadahead): Likewise.
23299         * lib/freading.c (freading): Likewise.
23300         * lib/freadptr.c (freadptr): Likewise.
23301         * lib/freadseek.c (freadseek): Likewise.
23302         * lib/fseeko.c (fseeko): Likewise.
23303         * lib/fseterr.c (fseterr): Likewise.
23304         * lib/fwritable.c (fwriteable): Likewise.
23305         * lib/fwriting.c (fwriting): Likewise.
23307 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
23309         glob: Declare variables at the very start of their scope.
23310         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
23311         its separate scope, so the functions will compile on Haiku.
23313 2017-07-01  Bruno Haible  <bruno@clisp.org>
23315         logbl: Work around a glibc bug on PowerPC64LE.
23316         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
23317         numbers.
23318         * doc/posix-functions/logbl.texi: Update.
23320 2017-06-29  Bruno Haible  <bruno@clisp.org>
23322         stat, fstat: Compile stat-w32.c only on platforms that need it.
23323         Suggested by Paul Eggert.
23324         * modules/stat (configure.ac): Request stat-w32.o only on native
23325         Windows.
23326         * modules/fstat (configure.ac): Likewise.
23328 2017-06-25  Bruno Haible  <bruno@clisp.org>
23330         stat: Improve last change.
23331         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
23333 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23335         stat: port to xlc 12.01
23336         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
23337         12.01 complains "Compilation unit is empty."
23339 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23341         xalloc-oversized: port to icc
23342         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
23343         __builtin_mul_overflow if ICC is defined, as this results in
23344         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
23345         20170213.
23347 2017-06-19  Bruno Haible  <bruno@clisp.org>
23349         classpath: Avoid including config.h twice, as it produces warnings.
23350         Reported by John E. Malmberg <wb8tyw@gmail.com>.
23351         * lib/classpath.h: Conditionalize the include of config.h.
23353 2017-06-19  Bruno Haible  <bruno@clisp.org>
23354             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
23356         sched: Fix compilation failure on OpenVMS.
23357         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
23358         test whether <pthread.h> exists and defines struct sched_param.
23359         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
23361 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
23363         diffseq: port to GCC 7 with --enable-gcc-warnings
23364         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
23365         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
23366         not complain about big_snake being defined but not used.
23368 2017-06-15  Bruno Haible  <bruno@clisp.org>
23370         gettext-h: Update theoretical condition for use of variable size arrays.
23371         Reported by Paul Eggert.
23372         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
23373         to include the theoretical condition for availability of variable size
23374         arrays, if we could trust the value of __STDC_VERSION__.
23376 2017-06-12  Bruno Haible  <bruno@clisp.org>
23378         Relicense some modules under LGPLv2+.
23379         Daiki Ueno's approval is in
23380         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
23381         * modules/uniwidth/base (License): Change to LGPLv2+.
23382         * modules/uniwidth/width (License): Likewise.
23384 2017-06-11  Bruno Haible  <bruno@clisp.org>
23386         localename: Fix test failure on DragonFly BSD.
23387         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
23388         like FreeBSD.
23390 2017-06-11  Bruno Haible  <bruno@clisp.org>
23392         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
23393         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
23394         * lib/float.in.h: Likewise.
23395         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
23397 2017-06-11  Bruno Haible  <bruno@clisp.org>
23399         gnulib-tool: Clean up after autotools.
23400         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
23401         useless directory left over by the Autotools.
23403 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23405         getopt-posix: port to glibc 2.25.90
23406         Problem reported by Daniel P. Berrange in:
23407         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
23408         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
23409         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
23410         #undef if __GETOPT_PREFIX is defined.
23412 2017-06-11  Bruno Haible  <bruno@clisp.org>
23414         strtod-obsolete: Fix license.
23415         * modules/strtod-obsolete (License): Change to LGPL.
23417 2017-06-10  Jim Meyering  <meyering@fb.com>
23419         maint: update to work with GCC7's -Werror=implicit-fallthrough=
23420         * lib/savewd.c (FALLTHROUGH): Define.
23421         (savewd_save, savewd_restore): Use this, rather than a comment,
23422         whenever one switch case falls through into the next.
23424 2017-06-08  Bruno Haible  <bruno@clisp.org>
23426         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
23427         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
23428         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
23429         case.
23431 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
23433         doc: remove robots, add prereqs
23434         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
23435         builds.  Simon's robot site does not seem to be up, so remove
23436         mentions of it for now.
23438 2017-06-08  Bruno Haible  <bruno@clisp.org>
23440         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
23441         * gnulib-tool (func_symlink_target): New function, extracted from
23442         func_symlink.
23443         (func_symlink, func_symlink_if_changed): Use it.
23445 2017-06-08  Bruno Haible  <bruno@clisp.org>
23447         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
23448         * gnulib-tool (func_ln_s): Determine cp_src correctly.
23450 2017-06-07  Bruno Haible  <bruno@clisp.org>
23452         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
23453         Reported by John E. Malmberg <wb8tyw@gmail.com> in
23454         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
23455         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
23456         override, pass 2 arguments to getcwd, not 3.
23458 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
23460         same-inode: port better to VMS 8.2 and later
23461         Problem reported by John E. Malmberg in:
23462         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
23463         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
23464         Use the usual POSIX definition.
23465         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
23467 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23469         error: fix POSIX violation for va_end
23470         Problem reported by Bruno Haible in:
23471         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
23472         * lib/error.c (error_tail): Do not call va_end here.
23473         (error, error_at_line): Call it here instead.
23475 2017-05-28  Bruno Haible  <bruno@clisp.org>
23477         c-strtod: Make it usable in C++ mode.
23478         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
23480 2017-05-25  Jim Meyering  <meyering@fb.com>
23482         quotearg: fix compilation failure due to FALLTHROUGH misuse
23483         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
23484         macro back to /* fall through */ comment.  The macro can apply only
23485         to a following case statement.  Reported by Assaf Gordon.
23487 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23489         intprops: port to recent icc
23490         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
23491         but does not support __builtin_add_overflow etc.
23492         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
23493         Define to 0.
23495 2017-05-23  Karl Berry  <karl@freefriends.org>
23497         * config/srclist.txt (iconv.m4): sync broken, comment out
23498         until (hopefully) the next gettext release.
23500 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
23502         Remove repeated words in comments.
23504 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
23506         fallthrough: reinstate a FALLTHROUGH instance in quotearg
23507         quotearg.c: Reinstate this instance which is significant
23508         when the if branch is not taken.
23510 2017-05-21  Bruno Haible  <bruno@clisp.org>
23512         gnulib-tool: Add options to create hard links.
23513         * gnulib-tool (func_usage): Document options --hardlink,
23514         --local-hardlink, --more-hardlinks.
23515         (func_symlink): Renamed from func_ln.
23516         (func_symlink_if_changed): Renamed from func_ln_if_changed.
23517         (func_hardlink): New function.
23518         (copymode, lcopymode): New variables.
23519         (symbolic, lsymbolic): Remove variables.
23520         (Options): Implement options --hardlink, --local-hardlink,
23521         --more-hardlinks.
23522         (func_should_link): Renamed from func_should_symlink. Set copyaction.
23523         (func_add_file, func_update_file): Update invocation of
23524         func_should_link. Invoke func_hardlink when appropriate.
23525         (func_import): Update comments.
23526         (func_create_testdir): Update invocation of func_should_link. Invoke
23527         func_hardlink when appropriate.
23528         Finally, invoke 'git update-index --refresh' to mitigate the effects of
23529         the hard links on git.
23531 2017-05-20  Bruno Haible  <bruno@clisp.org>
23533         argp: Simplify bit manipulation.
23534         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
23535         on a signed integer type.
23537 2017-05-20  Bruno Haible  <bruno@clisp.org>
23539         Avoid wrong configure results with gcc -fsanitize=address.
23540         This completes the work done on 2016-02-06 on this topic.
23541         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
23542         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23543         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23544         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23545         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
23546         returning.
23547         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23548         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
23549         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23550         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23551         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23552         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23553         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
23554         free allocated memory before returning.
23555         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23556         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
23557         objects before returning.
23558         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
23559         returning.
23561 2017-05-20  Bruno Haible  <bruno@clisp.org>
23563         gnulib-tool: Don't create hard links between gnulib and its testdirs.
23564         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
23566 2017-05-20  Bruno Haible  <bruno@clisp.org>
23568         argp, tsearch tests: Fix file list.
23569         * modules/argp-tests (Files): Add tests/macros.h.
23570         * modules/tsearch-tests (Files): Likewise.
23572 2017-05-20  Bruno Haible  <bruno@clisp.org>
23574         getopt-posix tests: Remove redundant include.
23575         * tests/test-getopt.h: Don't include "macros.h". It's already included
23576         by tests/test-getopt-main.h.
23578 2017-05-19  Jim Meyering  <meyering@fb.com>
23580         dfa: two small simplifications
23581         * lib/dfa.c (build_state): Avoid repeating longer expressions.
23583 2017-05-18  Jim Meyering  <meyering@fb.com>
23585         fallthrough: update for GCC 7/8
23586         * lib/quotearg.c (FALLTHROUGH): New macro.
23587         Use it whenever one switch case falls through into the next,
23588         replacing "/* Fall through */" comments.  This exposed one
23589         instance of an unwarranted "fall through" comment: unwarranted
23590         because it preceded a "goto" label not a case statement.
23591         * lib/freopen-safer.c (freopen_safer): Likewise.
23592         * lib/fts.c (leaf_optimization_applies): Likewise.
23593         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
23594         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
23595         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
23596         tests/macros.h for the definition.
23597         * tests/test-argp.c (group1_parser): Likewise.
23598         * tests/test-getopt.h (getopt_loop): Likewise.
23600 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23602         argp: fix shift bug
23603         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
23604         behavior on shift overflow, caught by gcc -fsanitize=undefined.
23606         argp: fix pointer-subtraction bug
23607         * lib/argp-help.c (hol_append): Don’t subtract pointers to
23608         different arrays, as this can run afoul of -fcheck-pointer-bounds.
23609         See the thread containing Bruno Haible’s report in:
23610         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
23612 2017-05-19  Bruno Haible  <bruno@clisp.org>
23614         printf-posix tests: Avoid test failure with "gcc --coverage".
23615         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23616         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
23617         than 5000000.
23618         * tests/test-fprintf-posix2.c (main): Likewise.
23620 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23622         closeout: don’t close stderr when sanitizing
23623         * NEWS: Document this.
23624         * lib/closeout.c (__has_feature): New macro, if not already defined.
23625         (SANITIZE_ADDRESS): New constant.
23626         (close_stdout): Don’t close stderr if sanitizing addresses.
23628 2017-05-19  Bruno Haible  <bruno@clisp.org>
23630         get-rusage-data tests: Avoid failure on Linux/glibc.
23631         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
23632         on glibc systems.
23634 2017-05-18  Bruno Haible  <bruno@clisp.org>
23636         localename: Include necessary header files on Cygwin.
23637         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
23638         where NL_LOCALE_NAME is defined.
23640 2017-05-18  Bruno Haible  <bruno@clisp.org>
23642         gettext: Update macros from gettext git.
23643         * m4/intldir.m4: Require Autoconf >= 2.60.
23644         * m4/progtest.m4: Fix typos in copyright notice.
23646 2017-05-18  Bruno Haible  <bruno@clisp.org>
23648         copy-file tests: Fix link error (regression from 2017-05-01).
23649         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23650         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
23651         $(LIB_CLOCK_GETTIME).
23653 2017-05-18  Bruno Haible  <bruno@clisp.org>
23655         unicase/special-casing: Fix incompatibility with gperf-3.0.4
23656         (regression from 2017-02-13).
23657         * lib/unicase/special-casing.in.h: Renamed from
23658         lib/unicase/special-casing.h.
23659         * modules/unicase/special-casing (Files): Add
23660         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
23661         (Makefile.am): Add rule for generating unicase/special-casing.h.
23662         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
23663         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
23664         not "special-casing.h".
23665         * lib/unicase/u*.c: Likewise.
23667 2017-05-17  Bruno Haible  <bruno@clisp.org>
23669         README: Don't ask people to read a TeXinfo file.
23670         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23671         * README: Tell people how to read the HTML formatted manual.
23673 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
23675         parse-datetime: Fix memleak
23676         * lib/parse-datetime.y (parse_datetime2): Cleanup on
23677         localtime_rz() failure.
23679 2017-05-16  Bruno Haible  <bruno@clisp.org>
23681         javacomp: Fix handle leak.
23682         Found by Coverity.
23683         * lib/javacomp.c (get_classfile_version): Close fd before returning.
23685 2017-05-16  Bruno Haible  <bruno@clisp.org>
23687         relocate: Make it easier to reclaim allocated memory.
23688         * lib/relocatable.h (relocate2): New declaration/macro.
23689         * lib/relocatable.c (relocate2): New function.
23690         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
23691         relocate2 function.
23692         * lib/localcharset.c (relocate2): Define fallback.
23693         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
23694         allocated memory.
23695         * lib/javaversion.c (relocate2): Define fallback.
23696         (javaexec_version): Invoke relocate2 instead of relocate. Free the
23697         allocated memory.
23699 2017-05-16  Bruno Haible  <bruno@clisp.org>
23701         relocate: Simplify EMX specific code.
23702         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
23703         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
23705 2017-05-16  Bruno Haible  <bruno@clisp.org>
23707         sigpipe tests: Fix file list.
23708         * modules/sigpipe-tests (Files): Add tests/macros.h.
23710 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23712         manywarnings: update for GCC 7
23713         * build-aux/gcc-warning.spec:
23714         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
23715         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
23716         requires a non-comment fallthrough attribute.  This is a bit
23717         cleaner than the comment versions.
23718         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
23719         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
23720         Use it whenever one switch case falls through into the next.
23721         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
23722         Use FALLTHROUGH macro.
23724 2017-05-15  Bruno Haible  <bruno@clisp.org>
23726         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
23727         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
23728         @ALLOCA@, not @LTALLOCA@.
23730 2017-05-15  Bruno Haible  <bruno@clisp.org>
23732         sys_select: Avoid "was expanded before it was required" warning.
23733         * modules/sys_select (configure.ac): Require, not invoke,
23734         gl_HEADER_SYS_SELECT.
23736 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23738         gnulib-tool: improve GNU Make debugging
23739         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
23740         Report autoconf diagnostics when it fails, in the output makefile.
23742 2017-05-14  Bruno Haible  <bruno@clisp.org>
23744         stat-time tests: Improve comment.
23745         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
23747 2017-05-14  Bruno Haible  <bruno@clisp.org>
23749         same-inode: Adapt for windows-stat-inodes.
23750         * lib/same-inode.h: Include <sys/types.h>.
23751         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
23752         * modules/same-inode (Depends-on): Add sys_types.
23754 2017-05-14  Bruno Haible  <bruno@clisp.org>
23756         windows-stat-inodes: New module.
23757         * m4/windows-stat-inodes.m4: New file.
23758         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
23759         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
23760         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
23761         (_GL_WINDOWS_STAT_INODES): New macro.
23762         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
23763         (GetFileInformationByHandleExFunc): New variable.
23764         (initialize): Initialize it.
23765         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
23766         st_ino appropriately.
23767         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
23768         a fallback, because it does not provide st_dev and st_ino values.
23769         * modules/fstat (Depends-on): Add 'verify'.
23770         * modules/windows-stat-inodes: New file.
23771         * doc/windows-stat-inodes.texi: New file.
23772         * doc/gnulib.texi: Include it.
23773         * doc/posix-headers/sys_stat.texi: Mention the new module.
23775 2017-05-14  Bruno Haible  <bruno@clisp.org>
23777         stat-time tests: Workaround for native Windows.
23778         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
23779         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
23780         New variables.
23781         (initialize_filenames): New function.
23782         (main): Invoke it.
23783         (cleanup, prepare_test): Update.
23785 2017-05-14  Bruno Haible  <bruno@clisp.org>
23787         stat-time: Adapt for windows-stat-timespec.
23788         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
23789         entire st_ctim field.
23791 2017-05-13  Jim Meyering  <meyering@fb.com>
23793         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
23794         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
23795         file that uses the assume macro, claiming that verify.h is unused.
23797 2017-05-13  Bruno Haible  <bruno@clisp.org>
23799         Use symbolic values for _WIN32_WINNT.
23800         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
23801         * lib/sethostname.c (_WIN32_WINNT): Likewise.
23803 2017-05-13  Bruno Haible  <bruno@clisp.org>
23805         year2038: New module.
23806         * m4/year2038.m4: New file.
23807         * modules/year2038: New file.
23808         * doc/year2038.texi: New file.
23809         * doc/gnulib.texi: Include it.
23811 2017-05-13  Bruno Haible  <bruno@clisp.org>
23813         largefile: Simplify.
23814         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
23815         of _GL_WINDOWS_64_BIT_ST_SIZE.
23817 2017-05-13  Bruno Haible  <bruno@clisp.org>
23819         largefile: Improve and document.
23820         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
23821         the mingw headers already define 'stat' appropriately.
23822         * modules/largefile (Description): Clarify.
23823         * doc/largefile.texi: New file.
23824         * doc/gnulib.texi: Include it.
23825         * doc/posix-headers/sys_types.texi: Update.
23827 2017-05-13  Bruno Haible  <bruno@clisp.org>
23829         truncate: New module.
23830         * lib/unistd.in.h (truncate): New declaration.
23831         * lib/truncate.c: New file.
23832         * m4/truncate.m4: New file.
23833         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
23834         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
23835         REPLACE_TRUNCATE.
23836         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
23837         HAVE_TRUNCATE, REPLACE_TRUNCATE.
23838         * modules/truncate: New file.
23839         * tests/test-unistd-c++.cc (truncate): Test signature.
23840         * doc/posix-functions/truncate.texi: Mention the new module.
23842         * tests/test-truncate.c: New file.
23843         * modules/truncate-tests: New file.
23845 2017-05-13  Bruno Haible  <bruno@clisp.org>
23847         windows-stat-timespec: New module.
23848         * modules/windows-stat-timespec: New file.
23849         * m4/windows-stat-timespec.m4: New file.
23850         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
23851         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
23852         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
23853         fields st_atim, st_mtim, st_ctim.
23854         (st_atime, st_mtime, st_ctime): Define as macros.
23855         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
23856         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
23857         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
23858         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
23859         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
23860         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
23861         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23862         FILETIME to 'struct timespec', not 'time_t'.
23863         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23864         FILETIME to 'struct timespec', not 'time_t'.
23865         * lib/stat-time.h (STAT_TIMESPEC): Define also if
23866         _GL_WINDOWS_STAT_TIMESPEC.
23867         * doc/windows-stat-timespec.texi: New file.
23868         * doc/gnulib.texi: Include it.
23870 2017-05-13  Bruno Haible  <bruno@clisp.org>
23872         windows-stat-override: New module.
23873         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
23874         definition. Define GNULIB_defined_struct_stat.
23875         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
23876         link error if this symbol is used and the corresponding module is not
23877         in use.
23878         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
23879         GNULIB_OVERRIDES_STRUCT_STAT.
23880         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23881         GNULIB_OVERRIDES_STRUCT_STAT.
23882         * modules/sys_stat (Makefile.am): Substitute
23883         GNULIB_OVERRIDES_STRUCT_STAT.
23884         * modules/windows-stat-override: New file.
23886 2017-05-13  Bruno Haible  <bruno@clisp.org>
23888         fstat: Fix module dependency conditions.
23889         * modules/fstat (Depends-on): Fix typo.
23891 2017-05-13  Bruno Haible  <bruno@clisp.org>
23893         stat, fstat: Complete removal of old native Windows code.
23894         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
23895         * lib/fstat.c: Likewise.
23896         * lib/stat-w32.c: Likewise.
23898 2017-05-13  Bruno Haible  <bruno@clisp.org>
23900         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
23901         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
23903 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
23905         getopt-posix: port to mingw
23906         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
23907         Problem reported by Daniel P. Berrage in:
23908         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
23910 2017-05-11  Bruno Haible  <bruno@clisp.org>
23912         gettimeofday: Increase precision on mingw.
23913         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
23914         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
23915         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
23916         GetSystemTimePreciseAsFileTime based implementation always.
23917         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
23918         mingw.
23920 2017-05-11  Bruno Haible  <bruno@clisp.org>
23922         poll: Fix confusion between SOCKETs and FDs on native Windows.
23923         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
23924         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
23926 2017-05-11  Bruno Haible  <bruno@clisp.org>
23928         doc: Clarify doc about socket functions on native Windows.
23929         This reworks doc that was added on 2008-09-29.
23930         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
23931         clearer wording.
23932         * doc/posix-functions/accept.texi: Use clearer wording.
23933         * doc/posix-functions/bind.texi: Likewise.
23934         * doc/posix-functions/connect.texi: Likewise.
23935         * doc/posix-functions/getpeername.texi: Likewise.
23936         * doc/posix-functions/getsockname.texi: Likewise.
23937         * doc/posix-functions/getsockopt.texi: Likewise.
23938         * doc/posix-functions/ioctl.texi: Likewise.
23939         * doc/posix-functions/listen.texi: Likewise.
23940         * doc/posix-functions/recv.texi: Likewise.
23941         * doc/posix-functions/recvfrom.texi: Likewise.
23942         * doc/posix-functions/send.texi: Likewise.
23943         * doc/posix-functions/sendto.texi: Likewise.
23944         * doc/posix-functions/setsockopt.texi: Likewise.
23945         * doc/posix-functions/shutdown.texi: Likewise.
23946         * doc/posix-functions/socket.texi: Likewise.
23948 2017-05-10  Bruno Haible  <bruno@clisp.org>
23950         poll: Fix link error on native Windows.
23951         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
23953 2017-05-10  Bruno Haible  <bruno@clisp.org>
23955         time: Fix missing initialization of HAVE_TIMEZONE_T.
23956         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
23957         here...
23958         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
23959         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
23960         gl_HEADER_SYS_TIME_H_DEFAULTS.
23961         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
23962         (configure.ac): Remove useless quoting.
23964 2017-05-10  Bruno Haible  <bruno@clisp.org>
23966         Implement a way to opt out from MSVC support, part 2.
23967         * modules/msvc-inval (Include): Document recommended idiom.
23968         * modules/msvc-nothrow (Include): Likewise.
23970         Implement a way to opt out from MSVC support.
23971         This is useful for Emacs.
23972         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
23973         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
23974         * lib/error.c: Likewise.
23975         * lib/fcntl.c: Likewise.
23976         * lib/flock.c: Likewise.
23977         * lib/fstat.c: Likewise.
23978         * lib/fsync.c: Likewise.
23979         * lib/ioctl.c: Likewise.
23980         * lib/isapipe.c: Likewise.
23981         * lib/lseek.c: Likewise.
23982         * lib/nonblocking.c: Likewise.
23983         * lib/poll.c: Likewise.
23984         * lib/select.c: Likewise.
23985         * lib/sockets.h: Likewise.
23986         * lib/sockets.c: Likewise.
23987         * lib/stdio-read.c: Likewise.
23988         * lib/stdio-write.c: Likewise.
23989         * lib/utimens.c: Likewise.
23990         * lib/w32sock.h: Likewise.
23991         * lib/w32spawn.h: Likewise.
23992         * tests/test-cloexec.c: Likewise.
23993         * tests/test-dup-safer.c: Likewise.
23994         * tests/test-dup2.c: Likewise.
23995         * tests/test-dup3.c: Likewise.
23996         * tests/test-fcntl.c: Likewise.
23997         * tests/test-pipe.c: Likewise.
23998         * tests/test-pipe2.c: Likewise.
23999         * lib/ftruncate.c: Likewise.
24000         (chsize_nothrow): Renamed from chsize.
24001         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
24002         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24003         * lib/close.c: Likewise.
24004         * lib/dup.c: Likewise.
24005         * lib/fclose.c: Likewise.
24006         * lib/raise.c: Likewise.
24007         * tests/test-fgetc.c: Likewise.
24008         * tests/test-fputc.c: Likewise.
24009         * tests/test-fread.c: Likewise.
24010         * tests/test-fwrite.c: Likewise.
24011         * lib/getdtablesize.c: Likewise.
24012         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
24013         * lib/isatty.c: Don't include msvc-inval.h if
24014         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
24015         Include <io.h> as an alternative to msvc-nothrow.h.
24016         * lib/read.c: Likewise.
24017         * lib/write.c: Likewise.
24018         * lib/dup2.c: Likewise.
24019         (dup2_nothrow): New function.
24020         (ms_windows_dup2): Use it.
24021         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
24022         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
24023         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
24024         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
24025         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
24026         * m4/read.m4 (gl_FUNC_READ): Likewise.
24027         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
24028         * doc/windows-without-msvc.texi: New file.
24029         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
24030         section.
24032 2017-05-10  Bruno Haible  <bruno@clisp.org>
24034         wait-process: Adjust native Windows support.
24035         * lib/wait-process.c: Use the usual condition for recognizing a native
24036         Windows platform.
24038 2017-05-10  Bruno Haible  <bruno@clisp.org>
24040         doc: New chapter "Native Windows Support".
24041         * doc/gnulib.texi (Native Windows Support): New chapter.
24042         * doc/windows-libtool.texi: Small wording changes.
24043         * doc/windows-sockets.texi: Small wording and formatting changes.
24045 2017-05-10  Bruno Haible  <bruno@clisp.org>
24047         doc: Move section "Library version handling".
24048         * doc/gnulib.texi: Move section "Library version handling"
24049         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
24051 2017-05-10  Bruno Haible  <bruno@clisp.org>
24053         doc: Move section "Running self-tests under valgrind".
24054         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
24055         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
24057 2017-05-10  Bruno Haible  <bruno@clisp.org>
24059         doc: New chapter "Build Infrastructure Modules".
24060         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
24062 2017-05-10  Bruno Haible  <bruno@clisp.org>
24064         Prepare for reordering sections in the manual.
24065         * doc/gnulib.texi: Move several sections to separate files. Include
24066         these files.
24067         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
24068         * doc/obsolete.texi: Likewise.
24069         * doc/extra-tests.texi: Likewise.
24070         * doc/transversal.texi: Likewise.
24071         * doc/namespace.texi: Likewise.
24072         * doc/check-version.texi: Likewise.
24073         * doc/windows-sockets.texi: Likewise.
24074         * doc/windows-libtool.texi: Likewise.
24075         * doc/licenses-texi.texi: Likewise.
24076         * doc/build-automation.texi: Likewise.
24077         * doc/c-locale.texi: Likewise.
24079 2017-05-10  Bruno Haible  <bruno@clisp.org>
24081         Fix instructions how to update manual on www.gnu.org.
24082         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
24084 2017-05-09  Bruno Haible  <bruno@clisp.org>
24086         tzset: Expand comment about TZ problem on native Windows.
24087         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
24088         Paul Eggert.
24089         * lib/ctime.c (rpl_ctime): Likewise.
24090         * lib/localtime.c (rpl_localtime): Likewise.
24091         * lib/mktime.c (mktime): Likewise.
24092         * lib/strftime-fixes.c (rpl_strftime): Likewise.
24093         * lib/wcsftime.c (rpl_wcsftime): Likewise.
24095 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
24097         intprops: don’t depend on ‘verify’
24098         Problem reported by Ævar Arnfjörð Bjarmason in:
24099         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
24100         * lib/intprops.h: Do not include verify.h, and move compile-time
24101         checks from here ...
24102         * tests/test-intprops.c (main): ... to here, if they’re not here
24103         already.  Check widths of other standard integer types.
24104         * modules/intprops (Depends-on): Remove ‘verify’.
24106 2017-05-07  Bruno Haible  <bruno@clisp.org>
24108         utimens: On native Windows, support 100ns resolution also if fd < 0.
24109         * lib/utime.in.h: Include <time.h>.
24110         (_gl_utimens_windows): New declaration.
24111         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
24112         (utime): Invoke it.
24113         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
24114         instead of utime.
24115         * modules/utime (Depends-on): Add 'time'.
24117 2017-05-07  Bruno Haible  <bruno@clisp.org>
24119         utimens: Improve error code on native Windows.
24120         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
24121         error code EACCES, not EINVAL.
24123 2017-05-07  Bruno Haible  <bruno@clisp.org>
24125         utime: Handle more Windows error codes.
24126         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
24127         Based on explanations by Billy O'Neal.
24129 2017-05-05  Bruno Haible  <bruno@clisp.org>
24131         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
24132         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
24133         union.
24134         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
24135         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
24136         value of cipher->IV.
24138 2017-05-05  Bruno Haible  <bruno@clisp.org>
24140         wctype-h-c++-tests: Update.
24141         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
24143 2017-05-05  Bruno Haible  <bruno@clisp.org>
24145         wchar-c++-tests: Update.
24146         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
24148 2017-05-05  Bruno Haible  <bruno@clisp.org>
24150         utime-h-c++-tests: New module.
24151         * tests/test-utime-h-c++.cc: New file.
24152         (utime): Declare, missing since 2017-04-30.
24153         * modules/utime-h-c++-tests: New file.
24155 2017-05-05  Bruno Haible  <bruno@clisp.org>
24157         unistd-c++-tests: Update.
24158         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
24159         (read): Declare, missing since 2011-04-15.
24160         (sethostname): Declare, missing since 2011-12-03.
24162 2017-05-05  Bruno Haible  <bruno@clisp.org>
24164         time-c++-tests: Update.
24165         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
24166         (localtime, gmtime): Declare, missing since 2017-04-30.
24167         (ctime): Declare, missing since 2017-04-30.
24168         (strftime): Declare, missing since 2017-04-30.
24169         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
24170         2015-07-24.
24172 2017-05-05  Bruno Haible  <bruno@clisp.org>
24174         sys_resource-c++-tests: New module.
24175         * tests/test-sys_resource-c++.cc: New file.
24176         (getrusage): Declare, missing since 2012-04-13.
24177         * modules/sys_resource-c++-tests: New file.
24179 2017-05-05  Bruno Haible  <bruno@clisp.org>
24181         strings-c++-tests: New module.
24182         * tests/test-strings-c++.cc: New file.
24183         (ffs): Declare, missing since 2011-07-12.
24184         * modules/strings-c++-tests: New file.
24186 2017-05-05  Bruno Haible  <bruno@clisp.org>
24188         string-c++-tests: Update.
24189         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
24190         (ffsll): Declare, missing since 2011-07-15.
24192 2017-05-05  Bruno Haible  <bruno@clisp.org>
24194         stdlib-c++-tests: Update.
24195         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
24196         2011-10-18.
24197         (ptsname_r): Declare, missing since 2011-11-07.
24198         (qsort_r): Declare, missing since 2014-08-29.
24199         (random, srandom, initstate, setstate): Declare, missing since
24200         2012-01-14.
24201         (secure_getenv): Declare, missing since 2013-02-05.
24203 2017-05-05  Bruno Haible  <bruno@clisp.org>
24205         stdio-c++-tests: Update.
24206         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
24208 2017-05-05  Bruno Haible  <bruno@clisp.org>
24210         signal-h-c++-tests: Update.
24211         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
24213 2017-05-05  Bruno Haible  <bruno@clisp.org>
24215         math-c++-tests: Update.
24216         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
24217         (fma): Declare, missing since 2011-10-17.
24218         (fmal): Declare, missing since 2011-10-17.
24220 2017-05-05  Bruno Haible  <bruno@clisp.org>
24222         locale-c++-tests: Update.
24223         * tests/test-locale-c++.cc (localeconv): Declare, missing since
24224         2012-03-25.
24226 2017-05-05  Bruno Haible  <bruno@clisp.org>
24228         inttypes-c++-tests: New module.
24229         * tests/test-inttypes-c++.cc: New file.
24230         (strtoimax): Declare, missing since 2012-01-05.
24231         (strtoumax): Declare, missing since 2012-01-05.
24232         * modules/inttypes-c++-tests: New file.
24234 2017-05-05  Bruno Haible  <bruno@clisp.org>
24236         dirent-c++-tests: Update.
24237         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
24238         (rewinddir): Declare, missing since 2011-09-13.
24239         (dirfd): Declare, missing since 2010-03-08.
24241 2017-05-04  Bruno Haible  <bruno@clisp.org>
24243         argp: Fix mistake in 2017-04-23 commit.
24244         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
24245         assume that strerror_r returns 'int', not 'char *'.
24247 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
24249         argp: Fix typo.
24250         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
24252 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
24254         utimens: port to Emacs + MS-Windows
24255         Skip the new MS-Windows-specific code if Emacs.
24256         * lib/utimens.c [EMACS_CONFIGUATION]:
24257         Avoid new MS-Windows-specific code.
24258         (USE_SETFILETIME): New macro.
24259         (fdutimens): Use it.
24261 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24263         tzset: update doc for TZ problems on MS-Windows
24264         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
24265         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
24266         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
24267         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
24268         * doc/posix-functions/wcsftime.texi:
24269         Mention some issues with TZ under MS-Windows.
24271 2017-05-01  Bruno Haible  <bruno@clisp.org>
24273         copy-file: Fix build error on mingw.
24274         * modules/copy-file (Depends-on): Add 'close'.
24276 2017-05-01  Bruno Haible  <bruno@clisp.org>
24278         tzset: Work around TZ problem on native Windows.
24279         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
24280         Windows, set REPLACE_TZSET to 1.
24281         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
24282         invoke '_tzset' instead of 'tzset'.
24283         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
24285         * modules/time_rz (Depends-on): Add tzset.
24286         * lib/time_rz.c (tzset): Remove fallback definition.
24287         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
24289 2017-05-01  Bruno Haible  <bruno@clisp.org>
24291         mktime: Fix dependencies.
24292         * modules/mktime (Depends-on): Add 'time'.
24294 2017-05-01  Bruno Haible  <bruno@clisp.org>
24296         New module 'localtime-buffer', split off from module 'gettimeofday'.
24297         * lib/localtime-buffer.h: New file.
24298         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
24299         * lib/time.in.h (tzset): New declaration.
24300         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
24301         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
24302         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
24303         moved to lib/localtime-buffer.c or lib/tzset.c.
24304         * m4/localtime-buffer.m4: New file.
24305         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
24306         HAVE_TZSET, REPLACE_TZSET.
24307         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
24308         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
24309         gl_LOCALTIME_BUFFER_NEEDED.
24310         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
24311         since 2007-01-18.
24312         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
24313         tzset.
24314         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
24315         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
24316         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
24317         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
24318         * modules/localtime-buffer: New file.
24319         * modules/time (Depends-on): Remove 'gettimeofday'.
24320         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
24321         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
24322         * modules/tzset (Description): Enable hyperlink to POSIX spec.
24323         (Files): Add lib/tzset.c.
24324         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
24325         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
24326         gl_TIME_MODULE_INDICATOR.
24327         * modules/gettimeofday (Depends-on): Add localtime-buffer.
24329 2017-05-01  Bruno Haible  <bruno@clisp.org>
24331         copy-file: Preserve sub-second time stamps.
24332         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
24333         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
24334         transport the time stamps from the original file to the destination
24335         file.
24336         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
24337         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
24338         utime-h.
24340 2017-05-01  Bruno Haible  <bruno@clisp.org>
24342         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
24343         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
24344         also on MSVC.
24345         Reported by Eli Zaretskii <eliz@gnu.org>.
24347 2017-05-01  Bruno Haible  <bruno@clisp.org>
24349         wchar: Fix compilation error with the original mingw.org mingw.
24350         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24351         <stddef.h> instead.
24352         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
24353         gl_WCTYPE_H.
24354         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
24355         gl_TYPE_WINT_T_PREREQ instead.
24356         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
24357         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
24358         Reported by Eli Zaretskii <eliz@gnu.org>.
24360 2017-04-30  Bruno Haible  <bruno@clisp.org>
24362         utimecmp: Add support for native Windows.
24363         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
24365 2017-04-30  Bruno Haible  <bruno@clisp.org>
24367         utimens: Add support for native Windows.
24368         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
24369         (fdutimens): Provide a native Windows implementation, like utime.c with
24370         added tv_nsec support.
24371         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
24372         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
24374 2017-04-30  Bruno Haible  <bruno@clisp.org>
24376         wcsftime: New module.
24377         * lib/wchar.in.h (wcsftime): New declaration.
24378         * lib/wcsftime.c: New file.
24379         * m4/wcsftime.m4: New file.
24380         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
24381         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
24382         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24383         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
24384         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24385         * modules/wcsftime: New file.
24386         * doc/posix-functions/wcsftime.texi: Mention the new module.
24388 2017-04-30  Bruno Haible  <bruno@clisp.org>
24390         strftime-fixes: New module.
24391         * lib/time.in.h (strftime): New declaration.
24392         * lib/strftime-fixes.c: New file.
24393         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
24394         (gl_FUNC_STRFTIME): Remove macro.
24395         * m4/strftime-fixes.m4: New file.
24396         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
24397         REPLACE_STRFTIME.
24398         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
24399         REPLACE_STRFTIME.
24400         * modules/strftime-fixes: New file.
24401         * doc/posix-functions/strftime.texi: Mention the new module.
24403 2017-04-30  Bruno Haible  <bruno@clisp.org>
24405         mktime: Work around TZ problem on native Windows.
24406         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
24407         from the native Windows workaround.
24408         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
24409         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
24410         'guessing no'.
24411         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
24412         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
24413         NEED_MKTIME_WINDOWS.
24414         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
24415         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
24416         NEED_MKTIME_INTERNAL.
24417         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
24418         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
24419         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
24420         not REPLACE_MKTIME.
24421         * doc/posix-functions/mktime.texi: Mention the native Windows
24422         workaround.
24424 2017-04-30  Bruno Haible  <bruno@clisp.org>
24426         localtime: New module.
24427         * lib/time.in.h (localtime): Declare also if requested by module
24428         'localtime'.
24429         * lib/localtime.c: New file.
24430         * m4/localtime.m4: New file.
24431         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
24432         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
24433         * modules/localtime: New file.
24434         * doc/posix-functions/localtime.texi: Mention the new module.
24436 2017-04-30  Bruno Haible  <bruno@clisp.org>
24438         ctime: New module.
24439         * lib/time.in.h (ctime): New declaration.
24440         * lib/ctime.c: New file.
24441         * m4/ctime.m4: New file.
24442         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
24443         REPLACE_CTIME.
24444         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
24445         * modules/ctime: New file.
24446         * doc/posix-functions/ctime.texi: Mention the new module.
24448 2017-04-30  Bruno Haible  <bruno@clisp.org>
24450         gettimeofday: Provide higher resolution on native Windows.
24451         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
24452         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
24453         (initialize): Initialize it.
24454         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
24455         'struct timeval'. Don't use _ftime().
24456         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
24457         <sys/timeb.h> and _ftime.
24459 2017-04-30  Bruno Haible  <bruno@clisp.org>
24461         Document the problem with the Cygwin environment variable TZ.
24462         * doc/posix-functions/tzset.texi: Add note about TZ.
24463         * doc/posix-functions/ctime.texi: Likewise.
24464         * doc/posix-functions/localtime.texi: Likewise.
24465         * doc/posix-functions/mktime.texi: Likewise.
24466         * doc/posix-functions/strftime.texi: Likewise.
24467         * doc/posix-functions/wcsftime.texi: Likewise.
24468         * doc/pastposix-functions/ftime.texi: Likewise.
24470 2017-04-30  Bruno Haible  <bruno@clisp.org>
24472         utime-tests: New module.
24473         * tests/test-utime.c: New file, based on tests/test-utimens.h.
24474         * tests/test-utimens-common.h: Include <sys/stat.h>.
24475         * modules/utime-tests: New file.
24477 2017-04-29  Bruno Haible  <bruno@clisp.org>
24479         utime: New module.
24480         * lib/utime.in.h: Add comment for snippets.
24481         (utime): New declaration.
24482         * lib/utime.c: New file.
24483         * m4/utime.m4: New file.
24484         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
24485         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
24486         REPLACE_UTIME.
24487         * modules/utime-h (Depends-on): Add snippets.
24488         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
24489         Insert snippets.
24490         * modules/utime: New file.
24491         * doc/posix-functions/utime.texi: Mention the new module.
24493 2017-04-29  Bruno Haible  <bruno@clisp.org>
24495         utime-h: Modernize handling of 'struct utimbuf'.
24496         * lib/utime.in.h: Include next <utime.h> if it exists.
24497         (utimbuf): Define to _utimbuf on native Windows.
24498         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
24499         Set UTIME_H on native Windows.
24500         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
24501         * modules/utime-h (Depends-on): Add include_next.
24502         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
24503         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
24505         * lib/utimens.c (utimbuf): Remove fallback definition.
24506         * m4/utimens.m4 (gl_UTIMENS): Don't require
24507         gl_CHECK_TYPE_STRUCT_UTIMBUF.
24508         * m4/utimbuf.m4: Remove file.
24509         * modules/utimens (Files): Remove m4/utimbuf.m4.
24511 2017-04-29  Bruno Haible  <bruno@clisp.org>
24513         Make use of module 'utime-h'.
24514         * modules/copy-file (Depends-on): Add utime-h.
24515         * lib/copy-file.c: Assume that <utime.h> exists.
24516         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
24518         * modules/utimens (Depends-on): Add utime-h.
24519         * lib/utimens.c: Assume that <utime.h> exists.
24521 2017-04-29  Bruno Haible  <bruno@clisp.org>
24523         utime-h: New module.
24524         * m4/utime_h.m4: New file.
24525         * lib/utime.in.h: New file.
24526         * modules/utime-h: New file.
24527         * doc/posix-headers/utime.texi: Mention the new module.
24529         * tests/test-utime-h.c: New file.
24530         * modules/utime-h-tests: New file.
24532 2017-04-30  Bruno Haible  <bruno@clisp.org>
24534         Fix a few typos.
24535         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
24536         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
24537         * doc/posix-functions/fstat.texi: Fix a plural typo.
24538         * doc/posix-functions/stat.texi: Likewise.
24539         * m4/include_next.m4: Update comments.
24541 2017-04-29  Bruno Haible  <bruno@clisp.org>
24543         error: Fix mistake in 2017-04-23 commit.
24544         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
24545         assume that strerror_r returns 'int', not 'char *'.
24547 2017-04-29  Bruno Haible  <bruno@clisp.org>
24549         stat: Fix time_t values and other problems on native Windows platforms.
24550         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
24551         implementations of stat().
24552         * lib/stat.c: Include filename.h instead of dosname.h. Include
24553         malloca.h, stat-w32.h.
24554         (is_unc_root): New function.
24555         (rpl_stat): New implementation for native Windows. Remove
24556         REPLACE_FUNC_STAT_DIR code.
24557         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
24558         Don't define REPLACE_FUNC_STAT_DIR.
24559         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
24560         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24561         (Depends-on): Remove dosname. Add filename, malloca.
24562         (configure.ac): Also compile lib/stat-w32.c.
24564 2017-04-29  Bruno Haible  <bruno@clisp.org>
24566         fstat: Fix time_t values on native Windows platforms.
24567         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
24568         * lib/stat-w32.h: New file.
24569         * lib/stat-w32.c: New file.
24570         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
24571         stat-w32.h instead.
24572         (fstat_nothrow): Remove function.
24573         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
24574         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
24575         always.
24576         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
24577         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24578         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
24579         (configure.ac): Also compile lib/stat-w32.c.
24581 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24583         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
24584         Problem reported by Assaf Gordon and Gavin Smith in:
24585         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
24586         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
24587         #define this, too.
24589 2017-04-29  Bruno Haible  <bruno@clisp.org>
24591         strerror_r-posix: Fixes for MSVC 14.
24592         * lib/strerror_r.c: Include <stdarg.h>.
24593         (strerror_r): Provide error messages for errno values 100...140.
24594         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
24596 2017-04-28  Bruno Haible  <bruno@clisp.org>
24598         noreturn: New module.
24599         * lib/noreturn.h: New file.
24600         * modules/noreturn: New file.
24601         * tests/test-noreturn.c: New file.
24602         * modules/noreturn-tests: New file.
24603         * tests/test-noreturn-c++.cc: New file.
24604         * modules/noreturn-c++-tests: New file.
24606 2017-04-27  Bruno Haible  <bruno@clisp.org>
24608         wctype-h: Fix compilation error with the original mingw.org mingw.
24609         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
24610         HAVE_CRTDEFS_H.
24611         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
24612         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24613         <stddef.h> instead.
24614         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
24616 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24618         nap.h: Fix compilation on non windows platforms
24619         * tests/nap.h: Move misplaced endif.
24621 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24622         and Paul Eggert  <eggert@cs.ucla.edu>
24624         time_rz: fix heap buffer overflow vulnerability
24625         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
24626         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
24627         whether there is enough buffer space available, thus avoiding
24628         the problematic promotion of signed to unsigned causing an invalid
24629         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
24630         the start of the buffer.
24631         * tests/test-parse-datetime.c (main): Add a test case written by
24632         Paul Eggert, which overwrites enough of the heap so that
24633         standard glibc will fail with "free(): invalid pointer"
24634         without the patch applied.
24636 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
24638         xalloc: add missing integer overflow check
24639         * lib/xalloc.h (x2nrealloc): Also check for multiplication
24640         overflow when P is null.
24642 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
24644         parse-datetime: make it standalone
24645         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
24646         (_GL_ATTRIBUTE_FORMAT): New macro.
24647         These are needed to get './gnulib-tool --test parse-datetime' to work.
24649 2017-04-23  Bruno Haible  <bruno@clisp.org>
24651         nap.h: Port to native Windows.
24652         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
24653         use nap_fd instead. On native Windows, close and reopen nap_fd.
24654         (nap_works): Don't compare the ctimes, because on native Windows, these
24655         are the creation times.
24656         (nap): Update.
24658 2017-04-23  Bruno Haible  <bruno@clisp.org>
24660         nap.h: Fix logic.
24661         * tests/nap.h (nap): Avoid signed integer overflow in loop.
24663 2017-04-23  Bruno Haible  <bruno@clisp.org>
24665         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
24666         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
24667         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
24668         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
24669         * lib/argp-help.c (__argp_failure): Likewise.
24671 2017-04-23  Bruno Haible  <bruno@clisp.org>
24673         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
24674         * m4/strerror_r.m4: Revert changes since 2016-10-16.
24675         * lib/strerror_r.c: Likewise.
24677 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
24679         Target a C99 subset, not a C89 subset
24680         For many years Gnulib has targeted C89 and has resisted using C99
24681         features, as some Gnulib-using programs still wanted to target
24682         C89.  As this no longer seems to be the case, relax the porting
24683         requirements to allow some C99 features.  This is merely a change
24684         to the documentation, to give other Gnulib developers a chance to
24685         weigh in on the topic.
24686         * doc/extern-inline.texi (extern inline):
24687         * doc/gnulib-readme.texi (Portability guidelines):
24688         * doc/gnulib-tool.texi (Initial import):
24689         * doc/gnulib.texi (Header files):
24690         Modernize to talk about C99 and C11 instead of C89 and C99.
24691         * doc/gnulib-readme.texi (Portability guidelines):
24692         Now a section, not merely a subsection, so that it
24693         can be split up.  Modernize a bit.
24694         (C language versions, C99 features assumed)
24695         (C99 features avoided):
24696         New sections.
24698 2017-04-23  Bruno Haible  <bruno@clisp.org>
24700         doc: New section "Modules that modify the way other modules work".
24701         * doc/gnulib.texi (Modules that modify the way other modules work): New
24702         section.
24704 2017-04-23  Bruno Haible  <bruno@clisp.org>
24706         stat-time: Update comments.
24707         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
24708         * tests/test-utimens-common.h: Add reference regarding st_ctime on
24709         Windows.
24711 2017-04-01  Bruno Haible  <bruno@clisp.org>
24713         glob: Fix more memory leaks.
24714         * lib/glob.c (glob): Free allocated memory before returning.
24715         Reported by Coverity via Tim Rühsen.
24717 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24719         poll: improve fast check for out-of-range NFD
24720         * lib/poll.c: Do not include intprops.h.
24721         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
24722         * modules/poll (Depends-on): Remove intprops.
24724         ftoastr: cite a newer paper
24725         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
24726         instead of Loitsch 2010.
24728 2017-04-22  Bruno Haible  <bruno@clisp.org>
24730         poll: Enable argument check also in the Windows implementation.
24731         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
24732         Reported by Paul Eggert.
24734 2017-04-22  Bruno Haible  <bruno@clisp.org>
24736         getlogin_r: Work around bug in Mac OS X 10.12.
24737         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
24738         bug.
24739         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
24740         given size minus 1, call getlogin_r a second time, on a larger buffer.
24741         * modules/getlogin_r (Depends-on): Add malloca.
24742         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
24744 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24746         parse-datetime: fix %z and prefer signed int
24747         %z problem reported by Pádraig Brady in:
24748         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
24749         While fixing it, I decided to prefer signed ints to size_t, as
24750         they are less error-prone (e.g., ubsan catches overflow).
24751         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
24752         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
24753         counts, since signed integers make for better debugging.
24754         (date): Don’t assume %z works in printf formats.
24755         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
24756         sizes of buffers known to be small, e.g., because we’re using snprintf.
24757         (parse_datetime2): Simplify call to debug_mktime_not_ok.
24759 2017-04-22  Bruno Haible  <bruno@clisp.org>
24761         *printf: Work around rounding bug on Mac OS X.
24762         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
24763         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
24764         Mac OS X and FreeBSD.
24765         * doc/glibc-functions/*printf.texi: Likewise.
24767 2017-04-22  Bruno Haible  <bruno@clisp.org>
24769         vasnprintf tests: Avoid warnings.
24770         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
24771         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
24772         test.
24774 2017-04-22  Bruno Haible  <bruno@clisp.org>
24776         sys_file tests: Avoid warning.
24777         * tests/test-sys_file.c (main): Add a default clause to the switch
24778         statement.
24780 2017-04-22  Bruno Haible  <bruno@clisp.org>
24782         sethostname: Update doc.
24783         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
24784         Mac OS X.
24786 2017-04-22  Bruno Haible  <bruno@clisp.org>
24788         quotearg tests: Avoid warnings.
24789         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
24790         false.
24792 2017-04-22  Bruno Haible  <bruno@clisp.org>
24794         poll: Enable argument check.
24795         * lib/poll.c: Include intprops.h.
24796         (poll): Check value of nfd correctly.
24797         * modules/poll (Depends-on): Add intprops.
24799 2017-04-22  Bruno Haible  <bruno@clisp.org>
24801         get-rusage-data: Avoid warnings on Mac OS X.
24802         * lib/get-rusage-data.c: On Mac OS X, don't define
24803         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
24804         (get_rusage_data) [Mac OS X]: Just return 0.
24806 2017-04-22  Bruno Haible  <bruno@clisp.org>
24808         xbinary-io: Fix build error.
24809         * modules/xbinary-io (Depends-on): Add gettext-h.
24810         * lib/xbinary-io.c: Include gettext.h and define _().
24811         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
24812         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
24814 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24816         parse-datetime: overflow and debug cleanups
24817         This long patch was triggered by this bug report from Ruediger Meier:
24818         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
24819         I fixed the bug he noted, then found some others nearby, and then
24820         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
24821         up some of the code to follow GNU standards while I was at it.
24822         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
24823         use c_isdigit.
24824         (EPOCH_YEAR): Remove; unused.
24825         (TM_YEAR_BASE): Now an enum rather than a macro.
24826         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
24827         time zone offset, since timezones now are in terms of seconds and
24828         not minutes.
24829         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
24830         appropriate.  Verify that intmax_t is wide enough.
24831         (time_overflow, time_zone_str): New functions, used to deal
24832         more reliably with overflow.
24833         (dbg_printf): Add printf attribute, to help catch integer width errors.
24834         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
24835         (%union, to_hour, yylex, parse_datetime2):
24836         Use intmax_t instead of long int and/or long_time_t.
24837         All uses changed.
24838         (DBGBUFSIZE): Move earlier.
24839         (relative_time, set_hhmmss, parser_control):
24840         Just use int for nanoseconds and for time zones; that’s wide enough.
24841         (parser_control): Use bool for members like year_seen that can
24842         be booleans instead of counters.  All uses changed.
24843         Remove debug_default_input_timezone; no longer needed.
24844         All uses removed.
24845         (apply_relative_time): Return a bool overflow flag.
24846         All uses changed to check for overflow.
24847         (apply_relative_time, zone, date, relunit, relunit_snumber)
24848         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
24849         Check for integer overflow portably.
24850         (str_days): Use just int for N, as it’s wide enough.
24851         Prefer 2D char arrays to arrays of char * when it looks like
24852         2D is a win on typical platforms.
24853         Prefer snprintf to strncpy/strncat, for simplicity;
24854         all buffers are smaller than INT_MAX so this is safe.
24855         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
24856         (debug_print_current_time): Don’t assume tv_nsec is of type long,
24857         as this is not true on x32.  Output "." before any nanoseconds.
24858         (debug_print_current_time, parse_datetime2):
24859         Output local zones using a more-consistent format.
24860         (debug_print_current_time, date, parse_datetime2):
24861         (main) [TEST]:
24862         Don’t assume time_t is the same width as long.
24863         (print_rel_part): New function, replacing ...
24864         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
24865         (debug_print_relative_time): Use bool for boolean.
24866         (local_zone): dsts_seen now counts only tDST instances.
24867         (date): Fix printf of size_t to use %z.  Do not assume numeric
24868         tokens have negative values merely because the context suggests
24869         a syntax with "-" separating tokens.
24870         (time_zone_hhmm): Return bool success indicator, which checks for
24871         overflow.  Store result into PC->time_zone instead.  All callers
24872         changed.
24873         (tm_year_str): New function.  Return a bool success indicator and
24874         store the result into a buffer.  All callers changed.  Output the
24875         numerically correct string even if adding 1900 to the year would
24876         overflow.
24877         (to_tm_year): New function, replacing the old to_year.  All
24878         callers changed.
24879         (tm_diff): Sync with glibc.
24880         (lookup_word): Use to_uchar instead of doing it by hand.
24881         (TZBUFSIZE): Now local to the only function that needs it.
24882         (debug_strfdatetime): Simplify now that time zones are int seconds.
24883         (debug_strfdate): Work even if tm_year + 1900 would overflow.
24884         (get_effective_timezone): Remove.  All uses removed.
24885         (parse_datetime2): Use fprintf in pieces instead of snprintfing
24886         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
24887         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
24888         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
24889         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
24890         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
24891         * modules/parse-datetime (Depends-on): Add inttypes.
24893 2017-04-21  Bruno Haible  <bruno@clisp.org>
24895         gettext-h: Avoid -Wundef warning.
24896         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
24897         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
24898         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
24900 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
24902         error: Avoid "function declaration isn't a prototype" warning.
24903         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
24905 2017-04-21  Bruno Haible  <bruno@clisp.org>
24907         vasnprintf: Fix for MSVC 14.
24908         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
24909         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
24910         of !HAVE_SNPRINTF_RETVAL_C99.
24912 2017-04-21  Bruno Haible  <bruno@clisp.org>
24914         mbrtowc tests: Fix test failures on MSVC 14.
24915         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
24916         behaviour for invalid input.
24918 2017-04-21  Bruno Haible  <bruno@clisp.org>
24920         mbsinit: Fix for MSVC 14.
24921         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
24922         implementation that is in sync with mbrtowc.c. On other platforms, use
24923         an adequate ad-hoc implementation.
24925 2017-04-21  Bruno Haible  <bruno@clisp.org>
24927         Fix test-mbrtowc5.sh failure on native Windows.
24928         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
24929         "C".
24931 2017-04-21  Bruno Haible  <bruno@clisp.org>
24933         Avoid accidental use of native Windows APIs on Cygwin.
24934         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
24935         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
24936         * lib/localename.c (WINDOWS_NATIVE): Likewise.
24938 2017-04-20  Bruno Haible  <bruno@clisp.org>
24940         Remove red warnings from the generated MODULES.html.
24941         * modules/fcntl (Description): Disambiguate function references.
24942         * modules/getcwd-lgpl (Description): Likewise.
24943         * modules/hostent (Description): Likewise.
24944         * modules/servent (Description): Likewise.
24945         * modules/tempname (Description): Likewise.
24947 2017-04-20  Bruno Haible  <bruno@clisp.org>
24949         verify tests: Fix spurious failure with parallel make.
24950         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
24951         EXTRA_PROGRAMS.
24952         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
24953         * tests/test-verify-try.c: New file.
24954         * modules/verify-tests (Files): Add it.
24955         (EXTRA_PROGRAMS): Add test-verify-try.
24956         (MOSTLYCLEANFILES): Update accordingly.
24957         Reported by Adam James Stewart <ajstewart@anl.gov>.
24959 2017-04-18  Bruno Haible  <bruno@clisp.org>
24961         vma-iter: Fix compilation error on Solaris 7.
24962         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
24963         like on IRIX, OSF/1.
24964         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24966 2017-04-18  Bruno Haible  <bruno@clisp.org>
24968         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
24969         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
24970         included.
24971         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
24972         <sys/procfs.h>.
24973         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
24974         <sys/procfs.h> cannot be included.
24975         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24977 2017-04-18  Bruno Haible  <bruno@clisp.org>
24979         getopt-gnu: Add comments.
24980         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
24981         * modules/getopt-gnu (configure.ac): Likewise.
24983 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
24985         regex: port better to Solaris 10
24986         Solaris 10 <locale.h> includes <libintl.h>, which #defines
24987         gettext, and this causes a double #define.
24988         Problem reported by Gavin Smith in:
24989         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
24990         * lib/regex_internal.h (gettext): #undef before #defining.
24992 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24994         intprops: improve comments
24995         * lib/intprops.h: Improve and shorten commentary.
24996         For the record, if we ever run into a pedantic compiler that
24997         behaves differently from GCC when converting an out-of-range value
24998         to a signed integer, we can work around the problem with something
24999         like the following code, where UCT is the signed counterpart of T
25000         (UCT is sometimes narrower than UT) and all callers are changed
25001         accordingly:
25002         #if __SUNPRO_C <= 0x5120
25003         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25004            ((t) ((ut) (a) op (ut) (b)))
25005         #else
25006         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
25007            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
25008             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
25009                + TYPE_MINIMUM (t)) \
25010             : (t) (uct) ((ut) (a) op (ut) (b)))
25011         #endif
25013 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25015         intprops: try to avoid tickling similar bugs
25016         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
25017         needs to be the same width as T; it can be wider.
25018         Change callers so that UT is at least as wide as unsigned int,
25019         as I suspect that this is less likely to run into compiler bugs.
25021         intprops: port to Oracle Studio 12.3 x86
25022         Problem reported by Gavin Smith in:
25023         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
25024         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
25025         Convert unsigned to signed via the usual rather than the standard way,
25026         to avoid a compiler bug in Oracle Studio 12.3 x86.
25028 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
25030         getopt: prefer - to _ in new file names
25031         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
25032         * lib/getopt-core.h: Rename from lib/getopt_core.h.
25033         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
25034         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
25035         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
25036         All uses changed.
25038         getopt: port recent getopt changes to macOS
25039         Problem reported by Harald Maier (Bug#26398).
25040         The macOS C compiler uses __nonnull for its own purposes and that
25041         clashes with glibc's __nonnull.
25042         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
25043         * lib/getopt_cdefs.in.h (__nonnull): Remove.
25044         * lib/getopt_core.h (getopt):
25045         * lib/getopt_ext.h (getopt_long, getopt_long_only):
25046         Use _GL_ARG_NONNULL, not __nonnull.
25047         * lib/unistd.in.h: Move snippet hooks to before where the getopt
25048         .h files are included, so that _GL_ARG_NONNULL is defined in time.
25049         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
25050         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
25052 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
25054         getopt-gnu: omit some duplicate code
25055         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
25056         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
25057         gnulib-tool already does this.
25058         * modules/getopt-gnu (configure.ac): Omit code duplicated from
25059         getopt-posix, which we depend on.
25061         getopt-posix: use angle-bracket include
25062         * lib/getopt1.c: Include <config.h>, not "config.h".
25064 2017-04-06  Zack Weinberg  <zackw@panix.com>
25066         getopt: annotate files with relationship to glibc
25068         As the final act in this patchset, adjust the message at the top of
25069         each file to indicate which files are synced with glibc.  (This has
25070         already been done for most of the headers.)
25072         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
25073         Mention in top-of-file boilerplate that these files are shared
25074         between glibc and gnulib.
25077         getopt: split up getopt.in.h and eliminate __need_getopt
25079         Over in glibc, all of the __need macros are being phased out in favor
25080         of small headers that declare only the necessary components, as this
25081         is much simpler and less prone to bugs.  As getopt is shared with
25082         glibc, gnulib needs to do the same for __need_getopt.
25084         __need_getopt is misnamed; what it really means is "we want only the
25085         getopt features specified in POSIX, not the GNU extensions".  glibc
25086         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
25087         these files can be shared verbatim with gnulib.  The portability
25088         wrapper, on the other hand, they have renounced altogether; glibc's
25089         getopt.h will no longer be shared with gnulib at all.  In exchange,
25090         certain glibc-specific quirks (having to do with __posix_getopt) no
25091         longer need appear in gnulib's headers at all.
25093         This patch merges getopt_core.h and getopt_ext.h from glibc, and
25094         splits up the current gnulib-side portability wrapper into three
25095         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
25096         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
25097         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
25098         unistd.in.h just use them.  All new files are clearly marked with
25099         whether they are shared with glibc.
25101         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
25102         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
25103         with glibc, and ...
25104         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
25105         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
25106         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
25107         instead of defining __need_getopt and including the full getopt.h.
25109         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
25110         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
25111         * modules/getopt-posix (Files): Add new headers and sort list.
25112         (Depends-on): No longer need snippet/arg-nonnull.
25113         (Makefile.am): Generate getopt_cdefs.h.
25116         getopt: better handling of ambiguous options
25118         glibc's getopt uses alloca to construct a linked list of possibilities
25119         for an "ambiguous" long option.  In gnulib, malloc should be used
25120         instead.  Providing for both cases complicates things a fair bit.
25122         This patch rewrites ambiguous-option handling to use a boolean vector
25123         instead of a linked list.  There is then only one allocation that
25124         might need freeing; in glibc it can honor __libc_use_alloca as usual,
25125         and in gnulib we define __libc_use_alloca to always be false, so we
25126         don't need ifdefs in the middle of the function.  This should also be
25127         slightly more efficient in the normal case of long options being fully
25128         spelled out -- I think most people aren't even aware they _can_
25129         sometimes abbreviate long options.
25131         One interesting consequence is that the list of possibilities is now
25132         printed in exactly the order they appear in the list of long options,
25133         instead of the first possibility being shuffled to the end.
25135         (The patch looks bigger than it really is because there's a fair bit
25136         of reindentation and code rearrangement.)
25138         * lib/getopt.c: When used standalone, define __libc_use_alloca
25139         as always false and alloca to abort if called.
25140         (process_long_option): Rewrite handling of ambiguous long options
25141         to use a single boolean vector, not a linked list; use
25142         __libc_use_alloca to decide whether to allocate this using alloca.
25145         getopt: refactor long-option handling
25147         There were two copies of the bulk of the code to handle long options.
25148         Now there is only one.
25150         This change temporarily removes the logic to avoid using alloca when
25151         standalone; the next patch in the series will restore it.
25153         * lib/getopt.c (process_long_option): New function split out
25154         from _getopt_internal_r.
25155         (_getopt_internal_r): Replace both copies of the long-option
25156         processing code with calls to process_long_option.
25159         getopt: tidy up _getopt_initialize a bit
25161         _getopt_data.__posixly_correct is completely redundant to
25162         _getopt_data.__ordering, and some work that logically belongs in
25163         _getopt_initialize was being done by _getopt_internal_r, making the
25164         code harder to understand.
25166         As a side effect, getenv will no longer be called if the first
25167         character of the options string is '+' or '-', which is probably a
25168         Good Thing.  (Perhaps we should have a flag character that
25169         specifically asks for the permutation behavior?)
25171         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
25172         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
25173         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
25176         getopt: merge from glibc: repetition reduction
25178         The definitions of the entry point functions 'getopt' and
25179         '__posix_getopt' can be made substantially less repetitive with a
25180         helper macro.
25182         While I was merging the const-correctness changes from gnulib into
25183         glibc I noticed there are still some unnecessary casts in
25184         _getopt_internal_r.
25186         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
25187         a macro.  Consistently cast 'argv' to 'char **' when calling
25188         _getopt_internal.
25189         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
25192         getopt: clean up error reporting
25194         getopt can print a whole bunch of error messages, and when used
25195         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
25196         cancellation point and getopt isn't, and also applying fprintf to a
25197         stream in wide-character mode is not allowed.  So every single error
25198         reporting case has an #ifdef _LIBC block in which it calls internal
25199         libc functions instead.  The counterpart patch series in glibc makes
25200         it possible to simplify all of that down to a set of #defines at the
25201         top of the file; core code is written as if it is safe to just call
25202         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
25203         call any *other* stdio functions.)
25205         * lib/getopt.c: When _LIBC is defined, define fprintf to
25206         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
25207         to _IO_funlockfile.  When neither _LIBC nor
25208         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
25209         funlockfile as no-ops.
25210         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
25211         standalone error-printing code can now be used for libc as well.
25212         Add an flockfile/funlockfile pair around one case where the error
25213         message is printed in several chunks.  Don't use fputc.
25216         getopt: fix fencepost error in ambiguous-W-option handling
25218         getopt_long contains an undocumented (AFAICT) feature in which, if you
25219         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
25220         treated as equivalent to '--foo'.  This is implemented with a partial
25221         second copy of the code for handling long options, and that code
25222         increments optind one too many times when recovering from an ambiguous
25223         abbreviated option, which can cause the main loop to walk past the end
25224         of argv and crash.
25226         I discovered this while writing a test case that tries to exercise all
25227         of getopt's error reporting paths; I wouldn't be surprised to learn
25228         that this feature is never used by real applications.
25230         * lib/getopt.c (_getopt_internal_r): Don't increment
25231         d->optind a second time when reporting ambiguous -W options.
25234         getopt: clean up getopt.c and getopt1.c file headers
25236         In getopt.c, there is no need to include wchar.h at all, and it is
25237         safe nowadays to assume that stdlib.h does declare getenv (several
25238         other gnulib modules make this assumption).
25240         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
25241         by using "" inclusions consistently, and there is no actual need to
25242         include stdlib.h (except in the #ifdef TEST block, where it should be
25243         unconditional), nor to provide a backup definition of NULL at all.
25245         * lib/getopt1.c: Simplify #ifdeffage at top of file.
25246         Move inclusion of stdlib.h to #ifdef TEST block and make
25247         unconditional.  Do not define NULL.
25248         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
25249         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
25250         * modules/getopt-gnu, modules/getopt-posix: Don't call
25251         gl_PREREQ_GETENV.
25254         getopt: harmonize comments with glibc
25256         The comments explaining how the behavior of 'getopt' varies depending
25257         on whether it's the standalone version and whether there are special
25258         characters at the beginning of the options string were inconsistent
25259         between gnulib and glibc, and also out of sync with the code.
25261         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
25264         getopt: remove USE_NONOPTION_FLAGS
25266         getopt includes code to parse an environment variable named
25267         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
25268         in decimal); but all of it has been #ifdefed out since 2001, with no
25269         official way to turn it back on.
25271         According to commentary in glibc's config.h.in, bash version 2.0
25272         set this environment variable to indicate argv elements that were
25273         the result of glob expansion and therefore should not be treated
25274         as options, but the feature was "disabled later" because "it
25275         caused problems".  According to bash's CHANGES file, "later" was
25276         release 2.01; it gives no more detail about what the problems
25277         were.
25279         Version 2.0 of bash was released on the last day of 1996, and version
25280         2.01 in June of 1997.  Twenty years later, I think it is safe to
25281         assume that this environment variable isn't coming back.
25283         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
25284         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
25285         __libc_argc and __libc_argv externs, which were only used by
25286         #ifdef USE_NONOPTION_FLAGS blocks.
25289         getopt: tabify, in preparation for merge with glibc
25291         glibc sticks to the GNU default of indenting with a mix of
25292         8-column tabs and spaces; make the gnulib copy match.
25294         getopt.h is not included because it is *not* going to be merged in its
25295         present form.
25297         * getopt.c, getopt1.c, getopt_int.h: Tabify.
25299 2017-04-02  Bruno Haible  <bruno@clisp.org>
25301         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
25302         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
25303         like it was done in modules/relocatable-lib on 2011-05-21 and in
25304         modules/relocatable-prog on 2011-08-15.
25305         Reported by Reuben Thomas <rrt@sc3d.org>.
25307 2017-03-31  Bruno Haible  <bruno@clisp.org>
25309         glob: Fix invalid free() call.
25310         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
25311         static storage to home_dir.
25312         Reported by Coverity via Tim Rühsen.
25314 2017-03-31  Bruno Haible  <bruno@clisp.org>
25316         glob: Fix memory leaks.
25317         * lib/glob.c (glob): Free allocated memory before returning.
25318         Reported by Coverity via Tim Rühsen.
25320 2017-03-31  Bruno Haible  <bruno@clisp.org>
25322         md5, sha1, sha256, sha512: Add comments regarding correctness.
25323         * lib/md5.h (buflen): Add comments regarding range.
25324         * lib/sha1.h (buflen): Likewise.
25325         * lib/sha256.h (buflen): Likewise.
25326         * lib/sha512.h (buflen): Likewise.
25327         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
25328         * lib/sha1.c (sha1_process_bytes): Likewise.
25329         * lib/sha256.c (sha256_process_bytes): Likewise.
25330         * lib/sha512.c (sha512_process_bytes): Likewise.
25331         Reported by Coverity via Tim Rühsen.
25333 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
25335         getopt: merge from glibc
25336         This does not change anything substantial; it merely simplifies
25337         hypothetical merges back to glibc.
25338         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
25339         Change copyright notice to match what is in glibc.
25340         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
25341         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
25342         __open_memstream rather than open_memstream and __glibc_likely
25343         instead of __builtin_expect.
25344         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
25346 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25348         dfa: make [0-9] faster in non-C locales
25349         Problem reported by John P. Linderman (Bug#26193).
25350         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
25351         If both ends of the range are ASCII digits, do not worry about
25352         multi-character collating sequences and the like.  Be consistent
25353         about using isalpha as a precondition for setbit_case_fold_c.
25355 2017-03-19  Bruno Haible  <bruno@clisp.org>
25357         lock: Fix compilation error with HP-UX IA64 cc.
25358         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
25359         weak on non-glibc platforms.
25361 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25363         stdalign: tweak version# and test for HP-UX IA64
25364         Problems reported by Bruno Haible in:
25365         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
25366         * lib/stdalign.in.h (_Alignas):
25367         * m4/stdalign.m4 (gl_STDALIGN_H):
25368         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
25369         used octal (as that is how they document it), but it is decimal in
25370         practice now and the ancient implementations no longer matter.
25371         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
25373 2017-03-19  Bruno Haible  <bruno@clisp.org>
25375         vma-iter: Add support for Solaris.
25376         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
25377         approach.
25378         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
25379         * lib/get-rusage-as.c: Update comment about Solaris.
25380         * lib/get-rusage-data.c: Likewise.
25382 2017-03-19  Bruno Haible  <bruno@clisp.org>
25384         vma-iter: Prefer HP-UX specific API on HP-UX.
25385         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
25386         * lib/vma-iter.h: Update.
25387         Just in case HP-UX ever implements mquery().
25389 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25391         stdalign: restore previous behavior for HP-UX IA64
25392         See Bruno Haible's email in:
25393         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25394         which cites p 150 of a manual saying that 'aligned' works on Itanium.
25395         * lib/stdalign.in.h (_Alignas):
25396         Assume the '061200' applies to Itanium, not to PA-RISC.
25397         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
25399 2017-03-17  Bruno Haible  <bruno@clisp.org>
25401         stat-time, timespec: Support use of the header files in C++ mode.
25402         * lib/stat-time.h: Add "C" linkage declaration.
25403         * lib/timespec.h: Likewise.
25405 2017-03-17  Bruno Haible  <bruno@clisp.org>
25407         stdalign: Make it work with HP-UX cc.
25408         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
25409         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
25410         for HP-UX cc.
25412 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
25414         flexmember: try to detect HP-UX 11.31 cc bug
25415         Problem reported by Bruno Haible in:
25416         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25417         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25418         Attempt to detect bug in HP-UX 11.31 cc.
25420 2017-03-16  Bruno Haible  <bruno@clisp.org>
25422         stdint: Fix test compilation failure with HP-UX 11 cc.
25423         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
25424         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
25425         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
25426         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
25428 2017-03-14  Bruno Haible  <bruno@clisp.org>
25430         gnulib-tool: Don't produce a tests directory with only snippet .h files.
25431         * gnulib-tool (func_modules_transitive_closure_separately): If
25432         testsrelated_modules ends up with no "real" modules, aside from
25433         modules with applicability 'all', set it to empty.
25435 2017-03-14  Bruno Haible  <bruno@clisp.org>
25437         vma-iter: Add support for HP-UX.
25438         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
25439         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
25440         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
25441         * lib/get-rusage-as.c: Update comment about HP-UX.
25442         * lib/get-rusage-data.c: Likewise.
25443         (get_rusage_data): Use get_rusage_data_via_setrlimit.
25445 2017-03-14  Bruno Haible  <bruno@clisp.org>
25447         limits-h: Make it work with HP-UX cc.
25448         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
25449         defined.
25451 2017-03-14  Bruno Haible  <bruno@clisp.org>
25453         Fix test failures on DragonFlyBSD.
25454         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
25455         * tests/test-select.h (test_bad_fd): Likewise.
25456         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
25458 2017-03-14  Bruno Haible  <bruno@clisp.org>
25460         freadahead: Silence warning on DragonFlyBSD.
25461         * lib/freadahead.c (__sreadahead): Declare ourselves.
25463 2017-03-14  Bruno Haible  <bruno@clisp.org>
25465         vma-iter: Add comment about AIX.
25466         * lib/vma-iter.c: Add comment about why this module is not implemented
25467         on AIX.
25469 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25471         snippets: move unadjusted snippet sources to lib
25472         Problem reported by Michal Privoznik in:
25473         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
25474         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
25475         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
25476         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
25477         * lib/unused-parameter.h: Rename from
25478         build-aux/snippet/unused-parameter.h.
25479         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
25480         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
25481         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
25482         * modules/snippet/c++defs (Files:, CXXDEFS_H):
25483         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
25484         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
25485         Adjust to file renamings.
25487 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
25489         gnulib-tool: don't automatically distribute files from top/
25490         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
25491         not distribute top/README-release by default, don't distribute files
25492         from top/ unconditionally.
25493         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
25494         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
25496 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25498         gnulib-tool: fix typo in comment output
25499         * gnulib-tool (func_import): Fix typo with previous change.
25501         snippets: work around GNU Make 3.82 VPATH
25502         When using 'gnulib-tool --gnu-make' on Emacs, and building
25503         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
25504         an out-of-source (VPATH) build failed because the sans-copyright
25505         snippet file was not built before the file that used it.
25506         Presumably this is some sort of VPATH thing.  Work around the
25507         problem by using the original snippet, i.e., don’t bother to
25508         remove its copyright notice.
25509         * modules/snippet/_Noreturn, modules/snippet/link-warning:
25510         Don’t assume Automake in comments.  Omit long-incorrect comment.
25511         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
25512         (MOSTLYCLEANFILES):
25513         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
25514         (MOSTLYCLEANFILES):
25515         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
25516         (MOSTLYCLEANFILES):
25517         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
25518         (MOSTLYCLEANFILES):
25519         Remove.
25520         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
25521         * modules/snippet/c++defs (CXXDEFS_H):
25522         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
25523         * modules/snippet/warn-on-use (WARN_ON_USE_H):
25524         Don’t bother to remove the copyright notice; just use the
25525         original snippet as-is.
25527 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
25529         gnulib-tool: minor --gnu-make fixups
25530         * gnulib-tool (func_emit_lib_Makefile_am):
25531         Remove useless code that was a blind alley during implementation.
25532         Problem reported by Thien-Thi Nguyen in:
25533         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
25534         (func_import): Note the "--gnu-make" option in the output comment.
25536 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
25538         gnulib-tool: new option --gnu-make
25539         This is for applications like GNU Emacs that use GNU Make
25540         features instead of Automake.
25541         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
25542         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
25543         Do not assume Automake.
25544         * gnulib-tool (func_determine_path_separator)
25545         (func_modules_transitive_closure, func_update_file)
25546         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25547         (func_import): Add support for --gnu-make.
25549 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
25551         gnulib-common.m4: avoid aclocal.m4 bloat
25552         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
25553         Hide AM_PROG_AR from aclocal, so that aclocal does not
25554         install irrelevant macro definitions into aclocal.m4.
25556 2017-03-10  Bruno Haible  <bruno@clisp.org>
25558         vma-iter: Let callers know about error.
25559         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
25560         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
25562 2017-03-05  Bruno Haible  <bruno@clisp.org>
25564         Fix value of LD for 64-bit compilers on AIX.
25565         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
25566         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
25568 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
25570         dtotimespec: simplify
25571         * lib/dtotimespec.c (dtotimespec): Simplify.
25573 2017-03-04  Bruno Haible  <bruno@clisp.org>
25575         test-calloc-gnu: Reenable test also for GCC 7.
25576         * tests/test-calloc-gnu.c (eight): New function.
25577         (main): Don't skip test; use eight() instead.
25579 2017-03-04  Jim Meyering  <meyering@fb.com>
25581         test-calloc-gnu: port to GCC7
25582         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
25583         that attempts to calloc more than SIZE_MAX bytes, because GCC7
25584         and newer would detect that at compilation time.
25586 2017-03-04  Bruno Haible  <bruno@clisp.org>
25588         tests: Avoid compiler warning about uses of null_ptr.
25589         * tests/null-ptr.h: New file.
25590         * tests/test-canonicalize.c: Include null-ptr.h.
25591         (null_ptr): Remove function.
25592         * tests/test-canonicalize-lgpl.c: Likewise.
25593         * tests/test-memmem.c: Likewise.
25594         * tests/test-ptsname_r.c: Likewise.
25595         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
25596         * modules/canonicalize-lgpl-tests: Likewise.
25597         * modules/memmem-tests: Likewise.
25598         * modules/ptsname_r-tests: Likewise.
25599         Reported by Jim Meyering.
25601 2017-03-03  Bruno Haible  <bruno@clisp.org>
25603         doc: Mention Mac OS X deficiencies regarding semaphores.
25604         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
25605         * doc/posix-functions/sem_destroy.texi: Likewise.
25606         * doc/posix-functions/sem_getvalue.texi: Likewise.
25608 2017-03-03  Bruno Haible  <bruno@clisp.org>
25610         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
25611         Reported by Assaf Gordon <assafgordon@gmail.com> via
25612         Pádraig Brady <P@draigBrady.com>.
25613         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
25614         semaphores.
25615         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
25616         (atomic_int_semaphore): New macro.
25618 2017-02-28  Bruno Haible  <bruno@clisp.org>
25620         perror tests: Tweak for z/OS.
25621         Reported by Daniel Richard G. <skunk@iskunk.org>.
25622         * tests/test-perror.sh: Don't fail z/OS style perror output.
25624 2017-02-26  Bruno Haible  <bruno@clisp.org>
25626         nproc: Refactor large function.
25627         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
25628         from num_processors.
25629         (num_processors): In this function, only deal with OMP.
25631 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25633         nproc: adjust handling of OpenMP environment variables
25634         to match the return value from omp_get_num_threads(), i.e.:
25635          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
25636          - Treat 0 as an invalid value and ignore
25637         Also remove the call to omp_get_num_threads() because
25638         it's ineffective without the omp pragmas in place.
25639         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
25640         so that it can be ignored.
25641         (num_processors): Honor OMP_THREAD_LIMIT even without
25642         OMP_NUM_THREADS being set.  Also fix a typo in the environment
25643         variable being checked, from the previous recent commit.
25645 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25647         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
25648         * lib/nproc.c (parse_omp_threads): A new function refactored
25649         from num_processors() to support parsing both of the
25650         above environment variables.
25651         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
25652         to accurately reflect the current OpenMP nesting level.
25653         Also support the OMP_THREAD_LIMIT environment variable
25654         to limit the max value determined from OMP_NUM_THREADS.
25655         * modules/nproc: Depend on minmax header.
25656         Suggested by Oliver Heimlich.
25658 2017-02-25  Bruno Haible  <bruno@clisp.org>
25660         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
25661         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
25663 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25665         ftoastr: port to -Wdouble-promotion
25666         Work around -Wdouble-promotion false alarm in recent GCCs.
25667         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
25668         (ftoastr_snprintf, FTOASTR): Use it.
25670 2017-02-21  Bruno Haible  <bruno@clisp.org>
25672         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
25673         Reported by Rene Saavedra <rennes@openmailbox.org> in
25674         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
25675         * lib/glthread/lock.h: On glibc systems without
25676         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
25677         implementation of rwlocks.
25678         * lib/glthread/lock.c: Likewise.
25680 2017-02-20  Bruno Haible  <bruno@clisp.org>
25682         lock tests: Fix build failure on z/OS.
25683         Reported by Daniel Richard G. <skunk@iskunk.org>.
25684         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
25685         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
25686         exist.
25688 2017-02-19  Bruno Haible  <bruno@clisp.org>
25690         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
25691         This helps when CC=clang.
25692         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
25693         of /usr/bin/gcc.
25695         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
25696         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
25698 2017-02-19  Bruno Haible  <bruno@clisp.org>
25700         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
25701         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
25702         --with-tests --single-configure is specified.
25704 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
25706         users.txt: Update links, use HTTPS where possible
25707         * users.txt: Updated to HTTPS where possible,
25708         fixed some links to new locations.
25710 2017-02-16  Bruno Haible  <bruno@clisp.org>
25712         xbinary-io: Fix inlining.
25713         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
25715 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
25717         xbinary-io: rename from xsetmode
25718         This patch is taken from suggestions by Bruno Haible in:
25719         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
25720         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
25721         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
25722         not ENOTTY, when it is an inappropriate device.
25723         * lib/binary-io.h (SET_BINARY): Resurrect.
25724         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
25725         (xset_binary_mode_error): Rename from xsetmode_error.
25726         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
25727         (xset_binary_mode): Rename from xsetmode.
25728         All uses changed.
25729         * modules/xbinary-io: Rename from modules/xsetmode.
25730         Update file names.
25731         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
25732         * NEWS: Update to match revised behavior.
25734 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
25736         tests: Adjust to recent SET_BINARY change
25737         * tests/test-binary-io.c (main):
25738         * tests/test-binary-io.sh: Remove test for SET_BINARY.
25739         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
25740         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
25741         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
25743         xsetmode: new module
25744         This is to fix a problem noted by Eric Blake.
25745         Code was using xfreopen to change files to binary mode, but this
25746         fails for stdout when in append mode.  Such code should use
25747         xsetmode instead.
25748         * NEWS: Document incompatible changes to binary-io module.
25749         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
25750         New function.
25751         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
25752         (set_binary_mode): New function, which also checks for tty.
25753         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
25755 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
25757         headers: fix begin-end typos
25758         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
25759         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
25761         selinux-h: port to PGI 16.10
25762         * lib/se-selinux.in.h: Don't assume that include_next skips over
25763         duplicate -I DIR options.
25765         argp: port to PGI 16.10
25766         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
25768 2017-02-13  Darshit Shah  <darnir@gnu.org>
25770         unicase: Update function protoype to match definition.
25771         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
25772         uses 'size_t' as the datatype for the 'len' parameter in the functions
25773         it generates. Update the prototype specified here to match the newly
25774         generated function.
25776 2017-02-12  Bruno Haible  <bruno@clisp.org>
25778         times test: Avoid gcc warnings on Linux/x32.
25779         * tests/test-times.c (main): Really cast printf arguments from clock_t
25780         to 'long int'.
25782 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
25784         glob: port better to emscripten
25785         Problem reported by Bruno Haible in:
25786         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
25787         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
25789 2017-02-11  Bruno Haible  <bruno@clisp.org>
25791         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
25792         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
25793         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
25794         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
25795         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
25796         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
25797         Distinguish hppa64 from hppa.
25799 2017-02-10  Bruno Haible  <bruno@clisp.org>
25801         search: Don't assume that tsearch() exists if 'VISIT' is defined.
25802         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
25803         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
25804         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
25806 2017-02-09  Bruno Haible  <bruno@clisp.org>
25808         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
25809         * doc/gnulib.texi (Libtool and Windows): Recommend
25810         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
25811         Reported by Reuben Thomas <rrt@sc3d.org>.
25813 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
25815         stddef-tests: port to SIZE_MAX <= INT_MAX
25816         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
25817         Do not assume that INT_MAX < SIZE_MAX.
25819 2017-02-01  Bruno Haible  <bruno@clisp.org>
25821         lock tests: Fix link error.
25822         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
25823         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25825 2017-01-31  Bruno Haible  <bruno@clisp.org>
25827         lock: Fix link error (regression from 2017-01-05).
25828         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
25829         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
25830         pthread_rwlockattr_destroy weak.
25831         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25833 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25835         Port to PGI 16.10 x86-64
25836         This patch fixes one real bug in gl_anylinked_list2.h, along with
25837         some minor glitches that are not bugs.  It does not silence PGI’s
25838         thousands of bogus warnings when compiling test-intprops.c.
25839         Fortunately, the warnings do not cause a failure.
25840         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
25841         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
25842         My goodness, PGI goes back a long ways - this predates C89!
25843         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
25844         For example, ASYNCSAFE (const void *) should expand to
25845         ‘const void *volatile’, not to ‘volatile const void *’.
25846         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
25847         * lib/verify.h (verify) [!__GNUC__]:
25848         Use shorter albeit meaningless string to bypass silly compiler limits.
25849         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
25850         * tests/nan.h (NaNf, NaNd, NaNl):
25851         Use static functions to avoid misguided compiler diagnostics.
25852         Is there some reason we don’t use static functions on all platforms?
25854 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25856         parse-datetime: handle timezones reentrantly
25857         This API change was prompted by a report by Pádraig Brady in:
25858         https://bug.debian.org/851934#10
25859         To help fix the bug, make parse_datetime2 more reentrant.
25860         * NEWS: Document this incompatible change.
25861         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
25862         Add two arguments, the timezone and the timezone name.
25863         All callers changed.  If TZ="..." is specified, use it for
25864         calculating defaults.
25865         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
25866         this code should be usable in a library.
25867         (mktime_ok, get_effective_timezone):
25868         Accept timezone arg too.  All callers changed.
25869         (get_tz): Remove.
25870         (get_effective_timezone): Check for failures.
25872 2017-01-20  Eric Blake  <eblake@redhat.com>
25874         localename: port to cygwin 2.6
25875         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
25876         Cygwin.
25877         * modules/localename (Depends-on): Add extensions, since
25878         NL_LOCALE_NAME() is not visible without it.
25880 2017-01-17  Pádraig Brady  <P@draigBrady.com>
25882         parse-datetime: fix dependence on AC_PROG_SED
25883         * modules/parse-datetime: Use `sed` directly like all other modules.
25884         Reported by J William Piggott
25886 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
25888         intprops: update doc URLs
25889         * doc/intprops.texi (Integer Range Overflow): Update URLs.
25891 2017-01-16  Bruno Haible  <bruno@clisp.org>
25893         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
25894         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
25895         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
25896         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
25897         distinguish s390 and s390x.
25898         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
25899         * NEWS: Mention the change regarding 'armel'.
25901 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25903         localeinfo: case_folded_counterparts and WEOF
25904         * NEWS: Document this.
25905         * lib/localeinfo.c (case_folded_counterparts):
25906         First arg is now wint_t, not wchar_t.  This generalizes the
25907         function to also work on WEOF, where it returns 0.
25909         dfa: port to gcc -fsanitize=undefined
25910         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
25911         as this runs afoul of gcc -fsanitize=undefined.
25913 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
25915         strftime: %z is -00 if unknown
25916         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
25917         the caller's responsibility to set 'negative_number'.  All uses changed.
25918         (__strftime_internal): Put '-' before a zero UTC offset if the time
25919         zone abbreviation starts with "-", which is the recently-introduced
25920         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
25921         * tests/test-strftime.c: Test for this.
25923 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25925         dfa: port to older GCC
25926         Problem reported by Assaf Gordon in:
25927         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
25928         * modules/c99: New module.  This merely attempts to use the latest
25929         C version, which should be enough to solve this particular problem.
25930         The idea is to document which Gnulib modules assume C99 or later.
25931         * modules/dfa (Depends-on): Add it.
25933 2017-01-10  Bruno Haible  <bruno@clisp.org>
25935         Update DEPENDENCIES.
25936         * DEPENDENCIES: List only https URLs. Update recommended version for
25937         autoconf, automake, gperf.
25939 2017-01-10  Jim Meyering  <meyering@fb.com>
25941         maint.mk: enforce spelling of "timestamp" (i.e., no space)
25942         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
25943         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
25945 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25947         dfa: minor simplification with emptyset
25948         * lib/dfa.c (build_state): Simplify by using emptyset.
25950 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25952         dfa: shrink constraints from 4 bits to 3
25953         * lib/dfa.c (newline_constraint, letter_constraint)
25954         (other_constraint, prev_newline_dependent)
25955         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
25956         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
25957         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
25958         Constraints need only 3 bits, not 4.  Using smaller integers
25959         shrinks the code a bit and makes grep a tad faster on x86-64.
25961         dfa: omit unnecessary ptrdiff_t check
25962         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
25963         overflow, since xnmalloc does that now.
25965         dfa: omit unnecessary allocation
25966         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
25967         an all-zero follow set works just fine.
25969         dfa: omit unused local
25970         * lib/dfa.c (build_state): Fix up recent change.
25972         maint: remove stray .texi files
25973         Although these were superseded by other files like
25974         doc/posix-functions/ctime.texi, the old files were not removed.
25975         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
25977 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
25979         getprogname: fix port to IRIX
25980         * lib/getprogname.c (getprogname) [__sgi]:
25981         Don't dump core if malloc returns NULL.
25983         dfa: fix reallocation bug when matching newlines
25984         Problem reported for sed by S. Gilles (Bug#25390).
25985         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
25986         (dfastate): Reallocate before moving any newline transition ...
25987         (build_state): ... instead of reallocating here, where it is too late.
25989 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25991         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
25992         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
25994 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25996         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
25997         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
25999 2017-01-07  Bruno Haible  <bruno@clisp.org>
26001         stdioext: Port to Minix 3.2 and newer.
26002         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
26003         * lib/fseeko.c (fseeko): Likewise.
26004         Reported by Nelson Beebe via Paul Eggert.
26006 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26008         getprogname: port to IRIX
26009         * lib/getprogname.c (getprogname): Port to IRIX.
26010         Based on an idea by Bastien Roucariès at:
26011         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
26012         via code from Bruno Haible at:
26013         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
26015         localename-tests: port to NetBSD 7
26016         Problem reported by Nelson H. F. Beebe.
26017         * tests/test-localename.c:
26018         Test newlocale and uselocale only if both exist.
26020         glob, intprops, xalloc: work around Clang bug
26021         Work around LLVM bug 16404, which is still not fixed.
26022         https://llvm.org/bugs/show_bug.cgi?id=16404
26023         Problem reported by Nelson H. F. Beebe.
26024         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
26025         Remove.
26026         * lib/glob.c (size_add_wrapv):
26027         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
26028         * lib/xalloc-oversized.h (xalloc_oversized):
26029         Do not use overflow builtins if Clang.
26031         dfa: fix 'return' typo
26032         Problem reported by Nelson H. F. Beebe.
26033         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
26035 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26037         parse-datetime: fix generated paths for coverage files
26038         * modules/parse-datetime: Adjust the paths for parse-datetime.y
26039         within parse-datetime.c, so that gcc generates appropriate .gcno
26040         files, allowing lcov to proceed without error.  Previously it
26041         would error trying to find "lib/lib/parse-datetime.y".
26043 2017-01-05  Pádraig Brady  <P@draigBrady.com>
26045         maint.mk: support parallel execution of coverage
26046         * top/maint.mk (coverage): Run dependencies serially,
26047         thus supporting parallel processing of each one,
26048         particularly build-coverage, which builds and runs tests.
26050 2017-01-05  Bruno Haible  <bruno@clisp.org>
26052         lock tests: Prefer semaphore over mutex.
26053         * tests/test-lock.c (USE_SEMAPHORE): New constant.
26054         (struct atomic_int, init_atomic_int, get_atomic_int_value,
26055         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
26056         Suggested by Torvald Riegel <triegel@redhat.com>.
26058 2017-01-05  Bruno Haible  <bruno@clisp.org>
26060         lock: Provide guarantee to avoid writer starvation for rwlocks.
26061         The rationale is: 1) Read-preferring read-write locks are prone to
26062         writer starvation if the number of reader threads multiplied by the
26063         percentage of time they have the lock held is too high. 2) Write-
26064         preferring read-write locks are the only reliable way to avoid this.
26065         3) There have been reports of 'test-lock' hanging on glibc systems
26066         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
26067         and glibc indeed implements read-preferring rwlocks by default, see
26068         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
26069         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
26070         * m4/pthread_rwlock_rdlock.m4: New file.
26071         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26072         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
26073         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26074         of rwlock initialization on glibc systems without
26075         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
26076         of rwlocks altogether on non-glibc systems without
26077         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
26078         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
26079         * lib/glthread/lock.c [USE_POSIX_THREADS]
26080         (glthread_rwlock_init_for_glibc): New function.
26081         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
26082         comment.
26083         [USE_PTH_THREADS]: New implementation of rwlocks.
26084         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
26085         readers.
26086         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
26087         (Depends-on): Add 'extensions'.
26088         * tests/test-rwlock1.c: New file.
26089         * lock-tests (Files): Add it.
26090         (Depends-on): Add usleep.
26091         (Makefile.am): Add test-rwlock1 to the tests.
26093 2017-01-05  Bruno Haible  <bruno@clisp.org>
26095         thread: Fix pth port.
26096         * lib/glthread/thread.h (pth_init): Declare weak.
26097         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
26098         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
26099         function.
26101 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
26103         parse-datetime: fix debug message on lone year number
26104         Input dates such as
26105           date -d "Apr 11 22:59:00 2011"
26106         are parsed as date (Apr 11, with default year 2016), then time, then a
26107         number (2011). Based on the combination of previously seen tokens,
26108         'digits_to_date_time' determines 2011 to be a year value.
26109         This fixes the debug messages to correctly show the updated year.
26110         Before:
26111             $ date --debug -d 'Apr 11 22:59:00 2011'
26112             date: parsed date part: (Y-M-D) 2016-04-11
26113             date: parsed time part: 22:59:00
26114             date: parsed number part: today/this/now
26115         After:
26116             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
26117             date: parsed date part: (Y-M-D) 2016-04-11
26118             date: parsed time part: 22:59:00
26119             date: parsed number part: year: 2011
26120         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
26121         'debug_year_seen' member fields.
26122         (digits_to_date_time): Update 'year_seen' as needed.
26123         (debug_print_current_time): Inform about year updates.
26124         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
26126         parse-datetime: fix local timezone debug messages
26127         "Local timezones" are strings that affect only DST relative to the
26128         default timezone. The debug messages in parse-datetime.y printed
26129         wrong information when encountering local timezones.
26130         Examples:
26131         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
26132              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
26133              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
26134         When the default timezone relates to the zone strings, EET/EEST are
26135         parsed as local timezones (tLOCAL_ZONE), and only change the DST
26136         value (0/1, respectively):
26137              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
26138              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
26139         * lib/parse-datetime.y (debug_print_current_time): If local timezone
26140         was seen, inform about DST change, don't print actual timezone.
26141         (debug_strfdatetime): If local timezone was seen, use default timezone
26142         (and adjust as needed) instead of using incorrect timezone.
26143         (parse_datetime2): Use correct time-zone source string, and adjust
26144         default timezone as needed.
26146         parse-datetime: add debug warning about DST changes
26147         Incorrect date arithmetic due to daylight saving time (DST) are a
26148         common (false) bug report in coreutils.
26149         Detect two such cases and print a warning:
26150         1. year/month/day adjustments (performed on 'struct tm'),
26151            where 'mktime' returns a different isdst value.
26152         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
26153            where the result of 'localtime(3)' on the value will return a
26154            different isdst value.
26155         Note: DST changes could be harmless or unnoticeable.
26156         Examples (with 'TZ=America/New_York'):
26157         Unnoticeable: result is 2016-Dec-14
26158            $ date -d '2016-06-15 EDT + 6 months' +%b
26159            Dec
26160         Unnoticeable: result is 2016-Dec-15 11:00:00
26161            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
26162            2016-12-15
26163         This is unexpected:
26164            $ date -d '2016-06-01 EDT + 6 months' +%F
26165            2016-11-30
26166         The new debug warnings will show:
26167            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
26168            ...
26169            date: warning: daylight saving time changed after date adjustment
26170            ...
26171         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
26172         print an appropriate warning message.
26174         parse-datetime: add debug warning about date arithmetic
26175         Date arithmetic are done directly on the fields of 'struct tm',
26176         which can result in invalid dates. Normalization with 'mktime(3)'
26177         will then produce a different date - which might cause unexpected
26178         results.
26179         Examples:
26180           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
26181           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
26182         Note that date normalization is not inherently wrong and not rejected,
26183         as it has legitimate uses:
26184           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
26185         If the user asked to adjust months but 'mday' changed,
26186         or user asked to adjust years but 'month' changed - warn about it.
26187             $ ./src/date --debug -d '2016-10-31 - 1 month'
26188             ...
26189             date: warning: when adding relative months/years, \
26190                            it is recommended to specify the 15th of the month
26191             ...
26192             date: warning: month/year adjustment resulted in shifted dates:
26193             date:      adjusted Y M D: 2016 09 31
26194             date:    normalized Y M D: 2010 10 01
26195             ...
26196         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
26197         a warning message. Improve recommendation of when to use 15 of the
26198         month or noon for date arithmetic.
26200         parse-datetime: fix debug message of relative part after timezone
26201         Relative part (e.g '+8 days') after a timezone string was not
26202         reported (was only reported after a timezone number). Due to the
26203         parser's structure, timezone strings with numbers were handled
26204         separately.
26205         before:
26206              # Timezone number + relative part: OK
26207              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
26208              ...
26209              date: parsed relative part: -8 day(s)
26210              # Timezone string + relative part: missing
26211              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
26212              [ missing message ]
26213         After: messages are printed in both cases.
26214         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
26216         parse-datetime: fix incorrect debug message on lone number
26217         A lone number is an absolute value, not a relative time part.
26218         before:
26219            $ date --debug -d '20130101'
26220            date: parsed number part: today/this/now
26221         After:
26222            $ ./src/date --debug -d '20130101'
26223            date: parsed number part: (Y-M-D) 2013-01-01
26224         * lib/parse-datetime.y ('item'/'number' tokens): Call
26225         'debug_print_current_time' instead of 'debug_print_relative_time'.
26227 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
26229         doc: modernize for C11 etc.
26230         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
26231         for C11, MinGW, etc.  This responds to Paul Smith's question in:
26232         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
26234         dfa: prefer functions to FETCH_WC macro
26235         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
26236         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
26237         wint_t result into DFA->lex.wctok instead of to a separate arg.
26238         All callers changed.  Move more local decls closer to where
26239         they're used.
26241         dfa: narrow more local var scopes
26242         * lib/dfa.c: Move more local decls to be more local.
26244         dfa: remove duplicate assignment
26245         Problem reported by Bruno Haible in:
26246         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
26247         * lib/dfa.c (parse_bracket_exp): Simplify.
26249 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26251         dfa: simplify constraint-dependency checking
26252         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
26253         (prev_other_constraint): Remove.
26254         (prev_newline_dependent, prev_letter_dependent):
26255         Simplify, to avoid an unnecessary bitwise AND operation.
26257         dfa: prefer functions and constants to macros
26258         * lib/dfa.c: Prefer constants to macros where either will do.
26259         (streq, isasciidigit, newline_constraint)
26260         (letter_constraint, other_constraint, succeeds_in_context)
26261         (prev_newline_constraint, prev_letter_constraint)
26262         (prev_other_constraint, prev_newline_dependent)
26263         (prev_letter_dependent, accepting, accepts_in_context):
26264         Now static functions instead of function-like macros.
26265         Use lower-case names accordingly.  All uses changed.
26267         dfa: narrow more local var scopes
26268         * lib/dfa.c: Move some more local decls down to nearer where
26269         they're needed.
26271 2016-12-31  Jim Meyering  <meyering@fb.com>
26273         dfa: narrow the scope of many local variables
26274         * lib/dfa.c: Now that we are no longer constrained to c89, move
26275         declarations of many variables (often indices) "down" into the
26276         scope(s) where used or to the point of definition.  This is a
26277         no-semantic-change diff.
26279 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26281         version-etc: new year
26282         * build-aux/gendocs.sh (version):
26283         * doc/gendocs_template:
26284         * doc/gendocs_template_min:
26285         * doc/gnulib.texi:
26286         * lib/version-etc.c (COPYRIGHT_YEAR):
26287         Update copyright dates by hand in templates and the like.
26288         * all files: Run 'make update-copyright'.
26290 2016-12-31  Eric Blake  <eblake@redhat.com>
26292         do-release-commit-and-tag: avoid shell syntax error
26293         * build-aux/do-release-commit-and-tag (curr_br): $branch can
26294         contain spaces when rebasing.
26296         maint.mk: hoist gnulib_dir definition earlier
26297         * top/maint.mk (gnulib_dir): Move near top of file.
26299 2016-12-31  Jim Meyering  <meyering@fb.com>
26301         maint.mk: do not always evaluate intprops-related shell
26302         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
26303         using gnulib_dir undefined (gnulib_dir is defined later in the
26304         file, which will be fixed separately), and besides, there is no
26305         need to incur the cost of this shell invocation for every single
26306         use of this .mk file.  Reported by Eric Blake in
26307         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
26309 2016-12-30  Jim Meyering  <meyering@fb.com>
26311         maint.mk: improve sc_prohibit_intprops_without_use
26312         * top/maint.mk (_intprops_names): Don't hard-code the list of
26313         symbol names.  Instead, derive it on the fly.
26315 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26317         dfa: shorten sbit, success
26318         * lib/dfa.c (struct regex_syntax.sbit):
26319         (struct dfa.success): Use char, not int, for array elements, since
26320         they are all in the range 0..7.
26322         dfa: simplify multibyte_prop etc.
26323         This follows up on a change made when dfa.c was in grep, namely grep
26324         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
26325         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
26326         That earlier simplification allows for some more simplification
26327         and trimming down here.
26328         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
26329         (struct lexer_state): New mamber brack.
26330         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
26331         since they must be in the range 0..3 now.
26332         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
26333         the brack member now supersedes them.
26334         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
26335         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
26336         (dfaparse): Remove unnecessary initializations of already-0 storage.
26337         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
26338         (dfassbuild): No need to clear sup->mbcsets.
26340         dfa: minor performance tweak
26341         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
26343         dfa: wrap charclass inside a struct
26344         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
26345         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
26346         about 5% faster, where list.txt is generated by 'aspell dump
26347         master | head -n 100000 >list.txt'.  See Bug#22239.
26348         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
26349         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
26350         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
26351         Adjust to this, e.g., by using charclass * rather than charclass.
26352         All callers changed as needed.
26353         (copyset): Remove.  All uses changed to simple assignment.
26354         (parse_bracket_exp): Use zeroset instead of memset.
26356 2016-12-30  Jim Meyering  <meyering@fb.com>
26358         maint.mk: update list of intprops.h symbol names
26359         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
26360         This avoids a false failure of the sc_prohibit_intprops_without_use
26361         rule in grep.
26363 2016-12-29  Eric Blake  <eblake@redhat.com>
26365         getopt: fix parallel test failure
26366         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
26367         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
26368         * tests/test-getopt-main.h (main): Use different file names
26369         in case test-getopt-gnu and test-getopt-posix run in parallel.
26371 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26373         xalloc: x2nrealloc check for ptrdiff_t overflow
26374         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
26375         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
26377 2016-12-24  Bruno Haible  <bruno@clisp.org>
26379         lock test: Fix performance problem on multi-core machines.
26380         * tests/test-lock.c (USE_VOLATILE): New macro.
26381         (struct atomic_int): New type.
26382         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
26383         functions.
26384         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
26385         as 'struct atomic_int'.
26386         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
26387         reclock_checker_thread, test_recursive_lock): Use the new functions.
26388         Reported by Eric Blake in
26389         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
26390         and by Pádraig Brady in
26391         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
26393 2016-12-19  Bruno Haible  <bruno@clisp.org>
26395         vma-iter: Fix endless loop on 64-bit Windows.
26396         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
26397         'unsigned long'.
26399 2016-12-19  Bruno Haible  <bruno@clisp.org>
26401         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
26402         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
26403         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
26404         Invoke gt_TYPE_WINT_T instead.
26405         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
26406         * modules/stdint (Files): Add m4/wint_t.m4.
26407         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26408         * modules/wctype-h (Makefile.am): Likewise.
26409         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
26410         not only on MSVC.
26411         * lib/wctype.in.h (wint_t): Likewise.
26413 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26415         getopt-posix-tests: fix Makefile typo
26416         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
26417         Fix typo: the last ‘_’ was missing in the name.
26418         I suspect that the typo explains this build failure:
26419         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
26420         although I can’t reproduce the problem on Solaris 10 sparc.
26422 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26424         dfa: improve worst-case 'replace' performance
26425         See my note in Bug#22357#71.
26426         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
26427         (merge_constrained): New function, which is like
26428         the old 'merge' function, except with a new argument C2.
26429         Simplify the body by avoiding the need for different sections
26430         of code depending on whether one input is exhausted.
26431         (merge): Use the new function.
26432         (delete): Return the constraint of the deleted position,
26433         not the entire position.  Caller changed.
26434         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
26436 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26438         dfa: performance improvement for removal of epsilon closure
26439         See Bug#22357#32.
26440         * lib/dfa.c (delete): Use binary search to find deleted index.
26441         (replace): New function.  It replaces a position with the followed set.
26442         (epsclosure): Replace it with a new algorithm.  Update caller.
26444 2016-12-18  Bruno Haible  <bruno@clisp.org>
26446         Split tests for getopt-posix and getopt-gnu.
26447         * tests/test-getopt-posix.c: New file.
26448         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
26449         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
26450         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
26451         GNULIB_TEST_GETOPT_GNU.
26452         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
26453         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
26454         (Makefile.am): Test test-getopt-posix instead of test-getopt.
26455         * modules/getopt-gnu-tests: New file.
26456         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
26458 2016-12-18  Bruno Haible  <bruno@clisp.org>
26460         posix-modules: Add options for specific platforms.
26461         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
26462         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
26463         Invoke func_tmpdir. Filter out the excludes.
26465 2016-12-18  Bruno Haible  <bruno@clisp.org>
26467         getopt: Fix link error for users of getopt() in <unistd.h>.
26468         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
26469         __need_getopt is defined. Undefine all macros before defining them.
26470         * modules/getopt (Include): Clarify that including <unistd.h> is also
26471         OK.
26472         * tests/test-getopt.c: Add comment.
26474 2016-12-17  Bruno Haible  <bruno@clisp.org>
26476         getaddrinfo tests: Avoid compilation error on MSVC.
26477         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
26478         getaddrinfo on native Windows.
26480 2016-12-17  Bruno Haible  <bruno@clisp.org>
26482         getlogin, getlogin_r: Fix link errors on MSVC.
26483         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
26484         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
26485         (Link): New section.
26486         * modules/getlogin_r (Files): Add m4/getlogin.m4.
26487         (configure.ac): Require gl_LIB_GETLOGIN.
26488         (Link): New section.
26489         * NEWS: Mention the new link requirements.
26490         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
26491         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
26493 2016-12-17  Bruno Haible  <bruno@clisp.org>
26495         Un-deprecate the 'progname' module.
26496         * NEWS: Describe the appropriate use-cases of 'progname' versus
26497         'getprogname'. Based on discussion summary at
26498         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
26500 2016-12-17  Bruno Haible  <bruno@clisp.org>
26502         Reorganize NEWS a bit.
26503         * NEWS: Move some not so important changes away from section
26504         "Important Notes".
26506 2016-12-17  Bruno Haible  <bruno@clisp.org>
26508         tanhf: Avoid redefinition error on MSVC.
26509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
26510         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
26511         may be defined as an inline function.
26512         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
26513         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
26515 2016-12-17  Bruno Haible  <bruno@clisp.org>
26517         tanf: Avoid redefinition error on MSVC.
26518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
26519         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
26520         may be defined as an inline function.
26521         * modules/math (Makefile.am): Substitute REPLACE_TANF.
26522         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
26524 2016-12-17  Bruno Haible  <bruno@clisp.org>
26526         sqrtf: Avoid redefinition error on MSVC.
26527         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
26528         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
26529         may be defined as an inline function.
26530         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
26531         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
26533 2016-12-17  Bruno Haible  <bruno@clisp.org>
26535         sinhf: Avoid redefinition error on MSVC.
26536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
26537         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
26538         may be defined as an inline function.
26539         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
26540         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
26542 2016-12-17  Bruno Haible  <bruno@clisp.org>
26544         sinf: Avoid redefinition error on MSVC.
26545         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
26546         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
26547         may be defined as an inline function.
26548         * modules/math (Makefile.am): Substitute REPLACE_SINF.
26549         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
26551 2016-12-17  Bruno Haible  <bruno@clisp.org>
26553         logf: Avoid redefinition error on MSVC.
26554         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
26555         may be defined as an inline function.
26557 2016-12-17  Bruno Haible  <bruno@clisp.org>
26559         log10l: Avoid redefinition error on MSVC.
26560         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
26561         may be defined as an inline function.
26563 2016-12-17  Bruno Haible  <bruno@clisp.org>
26565         log10f: Avoid redefinition error on MSVC.
26566         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
26567         may be defined as an inline function.
26569 2016-12-17  Bruno Haible  <bruno@clisp.org>
26571         hypotl: Avoid redefinition error on MSVC.
26572         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
26573         may be defined as an inline function.
26575 2016-12-17  Bruno Haible  <bruno@clisp.org>
26577         hypotf: Avoid redefinition error on MSVC.
26578         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
26579         may be defined as an inline function.
26581 2016-12-17  Bruno Haible  <bruno@clisp.org>
26583         fmodl: Avoid redefinition error on MSVC.
26584         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
26585         may be defined as an inline function.
26587 2016-12-17  Bruno Haible  <bruno@clisp.org>
26589         fmodf: Avoid redefinition error on MSVC.
26590         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
26591         may be defined as an inline function.
26593 2016-12-17  Bruno Haible  <bruno@clisp.org>
26595         expf: Avoid redefinition error on MSVC.
26596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
26597         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
26598         may be defined as an inline function.
26599         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
26600         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
26602 2016-12-17  Bruno Haible  <bruno@clisp.org>
26604         coshf: Avoid redefinition error on MSVC.
26605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
26606         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
26607         may be defined as an inline function.
26608         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
26609         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
26611 2016-12-17  Bruno Haible  <bruno@clisp.org>
26613         cosf: Avoid redefinition error on MSVC.
26614         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
26615         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
26616         may be defined as an inline function.
26617         * modules/math (Makefile.am): Substitute REPLACE_COSF.
26618         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
26620 2016-12-17  Bruno Haible  <bruno@clisp.org>
26622         atan2f: Avoid redefinition error on MSVC.
26623         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
26624         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
26625         may be defined as an inline function.
26626         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
26627         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
26629 2016-12-17  Bruno Haible  <bruno@clisp.org>
26631         atanf: Avoid redefinition error on MSVC.
26632         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
26633         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
26634         may be defined as an inline function.
26635         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
26636         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
26638 2016-12-17  Bruno Haible  <bruno@clisp.org>
26640         asinf: Avoid redefinition error on MSVC.
26641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
26642         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
26643         may be defined as an inline function.
26644         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
26645         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
26647 2016-12-17  Bruno Haible  <bruno@clisp.org>
26649         acosf: Avoid redefinition error on MSVC.
26650         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
26651         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
26652         may be defined as an inline function.
26653         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
26654         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
26656 2016-12-17  Bruno Haible  <bruno@clisp.org>
26658         Avoid redefinition errors on MSVC.
26659         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
26660         the function may be defined as an inline function.
26661         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
26662         the function may be defined as an inline function.
26664 2016-12-17  Bruno Haible  <bruno@clisp.org>
26666         Avoid redefinition errors on MSVC.
26667         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
26668         * lib/unistd.in.h: Include <stdio.h> when necessary.
26670 2016-12-17  Bruno Haible  <bruno@clisp.org>
26672         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
26673         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
26674         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26675         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
26676         WINT_MAX.
26678 2016-12-17  Bruno Haible  <bruno@clisp.org>
26680         Avoid autoconf warning.
26681         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
26682         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
26684 2016-12-17  Bruno Haible  <bruno@clisp.org>
26686         fpending: Revert workaround against Emacs bug.
26687         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
26688         The Emacs bug is fixed by Eli Zaretskii in
26689         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
26691 2016-12-17  Bruno Haible  <bruno@clisp.org>
26693         getlogin_r tests: Port to mingw.
26694         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
26695         regression introduced on 2014-05-19.
26697 2016-12-17  Bruno Haible  <bruno@clisp.org>
26699         getlogin: Port to newer mingw.
26700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
26701         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
26702         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
26703         HAVE_GETLOGIN.
26704         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
26705         HAVE_GETLOGIN.
26706         * doc/posix-functions/getlogin.texi: Mention the issue.
26707         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
26708         regression introduced on 2014-05-14.
26710 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
26712         builtin-expect: improve port to IBM XL C
26713         Problem reported for z/OS by Daniel Richard G. in:
26714         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
26715         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
26716         Test for <builtins.h> directly.
26718         builtin-expect: port to IBM XL C
26719         Problem reported for z/OS by Daniel Richard G. in:
26720         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
26721         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
26722         Also allow __builtin_expect defined via a standard include file.
26724         regex: fix dependency
26725         Problem reported by Bruno Haible in:
26726         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
26727         * modules/regex: Depend on builtin-expect.
26729         builtin-expect: new module
26730         Fix fnmatch to use it.
26731         Problem reported for z/OS by Daniel Richard G.
26732         * lib/fnmatch.c (__builtin_expect):
26733         * lib/glob.c (__builtin_expect):
26734         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
26735         * lib/memmem.c (__builtin_expect) [!_LIBC]:
26736         * lib/scandir.c (__builtin_expect):
26737         * lib/strstr.c (__builtin_expect) [!_LIBC]:
26738         Remove macro; config.h now does this.
26739         * lib/gl_anytreehash_list1.h (add_to_bucket):
26740         * lib/regex_internal.h (BE):
26741         Assume __builtin_expect.
26742         * m4/builtin-expect.m4, modules/builtin-expect: New files.
26743         * modules/avltreehash-list, modules/fnmatch, modules/glob:
26744         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
26745         * modules/scandir, modules/strstr-simple:
26746         Depend on builtin-expect.
26748 2016-12-15  Bruno Haible  <bruno@clisp.org>
26750         init.sh: Add possibility to not delete temporary files.
26751         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
26752         to yes, don't erase the temporary directory.
26754 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
26756         regex: fix integer-overflow bug in never-used code
26757         Problem reported by Clément Pit–Claudel in:
26758         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
26759         * lib/regex_internal.h: Include intprops.h.
26760         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
26761         behavior on integer overflow.
26762         * modules/regex (Depends-on): Add intprops.
26764         fpending: fix port to MinGW on Emacs
26765         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
26766         Problem reported by Eli Zaretskii in:
26767         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
26768         Is Plan 9 still a valid porting target, anyway?
26770 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26772         safe-alloc: use xalloc-oversized
26773         * lib/safe-alloc.c: Include xalloc-oversized.h.
26774         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
26775         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
26777         xalloc: do not exceed PTRDIFF_MAX
26778         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
26779         xalloc_oversized check, since objects larger than PTRDIFF_MAX
26780         bytes have pointer-subtraction problems.
26782         malloca: do not exceed PTRDIFF_MAX
26783         * lib/malloca.h: Include xalloc-oversized.
26784         (nmalloca): Use xalloc_oversized instead of rolling our own.
26785         * modules/malloca (Depends-on):
26786         * modules/relocatable-prog-wrapper (Depends-on):
26787         Add xalloc-oversized.
26789         quotearg: pacify GCC better
26790         * modules/quotearg (Depends-on): Add minmax, stdint.
26791         * lib/quotearg.c: Include minmax.h, stdint.h.
26792         (nslots): Now int, as there seems little point to going to extra
26793         work merely to support the INT_MAX slot, which nobody ever uses.
26794         (quotearg_n_options): Redo size-overflow checks to pacify GCC
26795         and to catch (mostly-theoretical) ptrdiff_t problems too.
26796         This can be done via one comparison.
26798 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
26800         xalloc-oversized: check for PTRDIFF_MAX too
26801         This avoids undefined behavior when subtracting pointers to
26802         objects containing more than PTRDIFF_MAX bytes.
26803         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
26804         Also return 1 if the result would exceed PTRDIFF_MAX>
26805         * modules/xalloc-oversized (Depends-on):
26806         Add stdint.
26808         dfa: fix glitches in previous commit
26809         Sorry, I don't know how I managed to commit the wrong version.
26810         * lib/dfa.c (MIN): Move up.
26811         (xpalloc): Now static.
26813         dfa: fix some unlikely integer overflows
26814         I found these while reviewing the recent Coverity-related fix.
26815         This patch changes part of dfa.c to prefer ptrdiff_t instead of
26816         size_t for object counts.  Using ptrdiff_t is the style typically
26817         used in Emacs; although it wastes a sign bit as sizes can never be
26818         negative, it makes -fsanitize=undefined more likely to catch
26819         integer overflows in index calculation, and nowadays the upside is
26820         typically more important than the downside.  Although perhaps the
26821         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
26822         of dfa.c already does, since it uses state_num which is signed),
26823         that is a bigger change and is not needed to fix the bugs I found.
26824         * lib/dfa.c: Include stdint.h and intprops.h.
26825         (TOKEN_MAX): New macro.
26826         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
26827         (charclass_index, parse_bracket_exp, addtok, insert, merge)
26828         (realloc_trans_if_necessary, free_mbdata):
26829         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
26830         This is safe because xpalloc checks that the sizes do not exceed
26831         either SIZE_MAX or PTRDIFF_MAX.
26832         (xpalloc): New function, mostly taken from Emacs.
26833         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
26834         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
26835         (charclass_index): Check for integer overflow in computing
26836         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
26837         added to it later.
26838         (alloc_position_set): Check for integer overflow.  On typical
26839         platforms this check has zero overhead, since the constant
26840         expression is false.
26841         (realloc_trans_if_necessary):
26842         Remove assertion, which I hope Coverity no longer needs.
26844         * modules/dfa (Depends-on): Add intprops, stdint.
26846 2016-12-12  Jim Meyering  <meyering@fb.com>
26848         dfa: add an assertion to avoid coverity false positive
26849         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
26850         warned that "newalloc1 - 2" could overflow.
26852 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
26854         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
26855         * dfa.h (DFA_CASE_FOLD): Remove.
26856         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
26858 2016-12-13  John W. Eaton  <gnu@jweaton.org>
26860         link: fix test to declare use of rename()
26861         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
26862         -Werror=implicit-function-declaration
26864 2016-12-12  Bruno Haible  <bruno@clisp.org>
26866         fpending: Port to native Windows with MSVC.
26867         * lib/fpending.c: Include stdio-impl.h.
26868         (__fpending): Include all known implementations. Err out if it's not
26869         ported.
26870         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
26871         * modules/fpending (Files): Add lib/stdio-impl.h.
26872         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
26874 2016-12-12  Bruno Haible  <bruno@clisp.org>
26876         stdioext: Port to native Windows with MSVC.
26877         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
26878         (struct _gl_real_FILE): New type.
26879         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
26880         Windows.
26881         * lib/fbufmode.c (fbufmode): Add code for native Windows.
26882         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
26883         other SystemV derived implementations.
26884         * lib/fpurge.c (fpurge): Likewise.
26885         * lib/freadable.c (freadable): Likewise.
26886         * lib/freadahead.c (freadahead): Likewise.
26887         * lib/freading.c (freading): Likewise.
26888         * lib/freadptr.c (freadptr): Likewise.
26889         * lib/freadseek.c (freadptrinc): Likewise.
26890         * lib/fseeko.c (fseeko): Likewise.
26891         * lib/fseterr.c (fseterr): Likewise.
26892         * lib/fwritable.c (fwritable): Likewise.
26893         * lib/fwriting.c (fwriting): Likewise.
26894         Reported by Gisle Vanem <gvanem@yahoo.no>.
26896 2016-12-11  Jim Meyering  <meyering@fb.com>
26898         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
26899         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
26900         to work with most shells, but not with the one provided by many
26901         Solaris 10 systems, so running configure with such a /bin/sh evokes
26902         e.g., "./configure: syntax error at line 33602: `(' unexpected".
26903         Reported by Assaf Gordon in
26904         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
26906 2016-12-10  Bruno Haible  <bruno@clisp.org>
26908         threadlib: Optimize out runtime test on Solaris >= 10.
26909         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
26910         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
26911         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
26913 2016-12-10  Bruno Haible  <bruno@clisp.org>
26915         stdint: Update doc about Solaris 9.
26916         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
26918 2016-12-09  Bruno Haible  <bruno@clisp.org>
26920         c-ctype tests: Fix link error on Solaris 9.
26921         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
26922         Reported at <https://savannah.gnu.org/bugs/?46827>.
26924 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
26926         dfa: fix performance bug that recomputes trans
26927         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
26928         25 on-demand changes.  The bug caused build_state to reset all
26929         d->trans elements to -2 even when d->trans was already non-null.
26930         Use C99 style decls after statements in this function.
26932         same-inode: port to MinGW
26933         Here st_ino is always 0, so change the definition of SAME_INODE so
26934         that 1 means the two files are the same, 0 with st_ino != 0 means
26935         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
26936         reported by Bruno Haible (Bug#25146).
26937         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
26938         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
26940 2016-12-04  Bruno Haible  <bruno@clisp.org>
26942         javacomp-script: Support Java 7 and 8.
26943         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
26944         target-version 1.7, 1.8.
26946 2016-12-02  Daiki Ueno  <ueno@gnu.org>
26948         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
26949         GPLv2" rewriting.
26951 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
26953         * gnulib-tool (func_import): Adhere to the license guideline when
26954         rewriting the license text to "LGPLv3+ or GPLv2":
26955         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
26957 2016-12-02  Bruno Haible  <bruno@clisp.org>
26959         localcharset: Avoid theoretical buffer overrun.
26960         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
26961         return value from setlocale if it would lead to a buffer overrun.
26963 2016-12-01  Bruno Haible  <bruno@clisp.org>
26965         Relicense some modules under LGPLv2+.
26966         Kevin Cernekee's approval is in
26967         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
26968         * modules/fseterr (License): Change to LGPLv2+.
26969         * modules/mbchar (License): Likewise.
26970         * modules/mbiter (License): Likewise.
26971         * modules/mbsnlen (License): Likewise.
26972         * modules/wcwidth (License): Likewise.
26974 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26976         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
26977         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
26978         OS/2 kLIBC.
26980 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26982         alphasort, scandir: Port to OS/2 kLIBC
26983         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
26984         declaration.
26985         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
26987 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26989         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
26990         * lib/relocatable.c (relocate): Do not touch pathname if it is started
26991         with '/@unixroot'.
26993 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26995         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
26996         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
26997         OS/2 kLIBC unless TCPV40HDRS is defined.
26999 2016-11-29  Jim Meyering  <meyering@fb.com>
27001         dfa: avoid new infinite loop
27002         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
27003         * lib/dfa.c (dfastate): When constructing a new state table, we could
27004         initially declare that we had found a match, and later find that
27005         constraints eliminate that possibility, yet continue to use the
27006         now stale "matched" indicator.  That would lead to an infinite loop.
27007         The solution is to update "matched" when necessary.
27008         Introduced by commit v0.1-983-g403adf1.
27010 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27012         dfa: avoid match middle in multibyte character
27013         * lib/dfa.c (transit_state): If fails in matching single byte characters
27014         on a state including period expression in non-UTF8 multibyte locales,
27015         skip trailing bytes.
27016         (dfa_supported): Revert previous change.
27018 2016-11-27  Jim Meyering  <meyering@fb.com>
27020         dfa: avoid false match in non-UTF8 multibyte locales
27021         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
27022         as "not supported" so that callers will resort to using regex-based
27023         matcher.  This will surely hurt performance, but correctness trumps
27024         performance here, and the affected locales are less and less relevant,
27025         these days.  See grep's bug report https://bugs.gnu.org/24975.
27027 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
27029         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
27030         * lib/ptsname_r.c: Include the appropriate headers.
27031         [__sun]: Delete sys/sysmacros.h include.
27032         [_AIX || __osf__]: Likewise.
27033         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
27035 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27037         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
27038         * lib/md4.c (md4_process_bytes): The existing define is made internal
27039         in recent versions of glibc, so also use this new public define.
27040         * lib/md5.c (md5_process_bytes): Likewise.
27041         * lib/sha1.c (sha1_process_bytes): Likewise.
27042         * lib/sha256.c (sha256_process_bytes): Likewise.
27043         * lib/sha512.c (sha512_process_bytes): Likewise.
27045 2016-11-27  Pádraig Brady  <P@draigBrady.com>
27047         maint: use a more standard return from mbrtowc test
27048         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
27049         from the test program as this often indicates an
27050         unhandled case in the test program.
27051         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
27052         (gl_MBRTOWC_SANITYCHECK): Likewise.
27053         (gl_MBRTOWC_NULL_ARG2): Likewise.
27054         (gl_MBRTOWC_NUL_RETVAL): Likewise.
27056 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
27058         freopen: work around glibc bug with closed fd
27059         Work around glibc bug#15589, where freopen mishandles the case
27060         where stdin etc. are already closed.
27061         * doc/posix-functions/freopen.texi (freopen): Document the bug.
27062         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
27063         instead of __need_FILE, as the latter does not work with glibc.
27064         Include <fcntl.h>, for open flags.
27065         (rpl_freopen): Work around glibc bug.
27066         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
27067         * modules/freopen (Depends-on): Add fcntl-h.
27068         * tests/test-freopen.c (main): Test for bug.
27070 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27072         fnmatch: fix typo introduced on 2016-08-17
27073         This fixes the port to non-GCC compilers that lack __builtin_expect.
27074         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
27076         dfa: simplify with new function fillset
27077         * lib/dfa.c (fillset): New function.
27078         Use it for clarity when applicable.
27080         dfa: fix glitches with on-demand states
27081         Also, adjust commentary to better match new code.
27082         Some of these glitches predate the recent change.
27083         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
27084         only non-initial states.
27085         (dfastate): Rename locals to better match new roles.
27086         Move them into nested scopes if this is easy.
27087         Omit unnecessary calls to zeroset.
27088         Simplify test for whether to throw in the positions of state 0.
27089         Omit C99-ism (decl after statement) since Gawk still wants C89.
27090         (build_state): Omit unnecessary test and assignment.
27091         Fix some confusion that counted transition tables inaccurately
27092         and could cause a memory leak.
27093         (dfaexec_main): Redo to make it clearer to the compiler that
27094         -1 and -2 are the only negative state numbers here.
27096 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27098         dfa: addition of new state on demand
27099         * src/dfa.c (dfastate): Add argument UC, the current input character.
27100         Fill only a group including the character in transition table.
27101         (realloc_trans_if_necessary): Add the dummy state which means that a
27102         transition table is assigned but the next state is not assigned.
27103         (build_state): Return the next state.  All callers updated.
27104         (transit_state_singlebyte): If we get the dummy state,
27105         fill the transition table.
27106         (dfaexec_main): Handle the dummy state.
27107         (free_mbdata, dfafree): Consider the dummy state.
27109 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27111         srclist: sync with released gettext
27112         * config/srclist.txt: Set "release" option to the files under
27113         $GETTEXT.
27115 2016-11-24  Daiki Ueno  <ueno@gnu.org>
27117         srclist: add "release" option
27118         * config/srclist.txt: Change the format so that the first column
27119         of each line points to the top-level directory of the source
27120         archive.
27121         * config/srclist-update: Accept "release" option that checks files
27122         from the most recently tagged revision in the source archive.
27124 2016-11-21  Bruno Haible  <bruno@clisp.org>
27126         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
27127         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27128         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
27129         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
27130         Inline and remove member function 'rpl ()' of the wrapper struct.
27132 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
27134         dfa: fix logic typo
27135         Problem reported by Stephane Chazelas (Bug#24973).
27136         * lib/dfa.c (using_simple_locale): Fix typo that caused some
27137         non-simple locales like fr_FR to be treated as simple.
27139 2016-11-20  Jim Meyering  <meyering@fb.com>
27141         fix test driver leaks: exclude, malloc, realloc
27142         * tests/test-exclude.c (main): Fix trivial leak.
27143         * tests/test-malloc-gnu.c (main): Likewise.
27144         * tests/test-realloc-gnu.c (main): Likewise.
27145         With these changes, grep's tests are now leak free.
27146         I.e., running them with ASAN elicits no failure:
27147           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
27148             AM_LDFLAGS='-fsanitize=address -static-libasan' check
27150 2016-11-11  Bruno Haible  <bruno@clisp.org>
27152         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
27153         * modules/libunistring: (License): Change from LGPL to
27154         "LGPLv3+ or GPLv2".
27155         * modules/libunistring-optional: Likewise.
27156         * modules/unicase/*: Likewise.
27157         * modules/uniconv/*: Likewise.
27158         * modules/unictype/*: Likewise.
27159         * modules/unigbrk/*: Likewise.
27160         * modules/unilbrk/*: Likewise.
27161         * modules/uniname/*: Likewise.
27162         * modules/uninorm/*: Likewise.
27163         * modules/unistdio/*: Likewise.
27164         * modules/unistr/*: Likewise.
27165         * modules/uniwbrk/*: Likewise.
27166         * modules/uniwidth/*: Likewise.
27168 2016-11-12  Bruno Haible  <bruno@clisp.org>
27170         Relicense some modules under LGPLv2+.
27171         Paul Eggert's approval is in
27172         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
27173         Eric Blake's approval is in
27174         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
27175         Ludovic Courtès's approval is in
27176         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
27177         * modules/isnand-nolibm (License): Change to LGPLv2+.
27178         * modules/isnanf-nolibm (License): Likewise.
27179         * modules/isnanl-nolibm (License): Likewise.
27181 2016-11-19  Bruno Haible  <bruno@clisp.org>
27183         Relicense some modules under LGPLv2+.
27184         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
27185         modules/vasnprintf.
27186         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
27187         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
27188         All other significant changes to the files in lib/ of these modules
27189         are from me.
27190         * modules/memcmp2 (License): Change to LGPLv2+.
27191         * modules/amemxfrm (License): Likewise.
27192         * modules/fpieee (License): Likewise.
27193         * modules/fpucw (License): Likewise.
27194         * modules/frexp-nolibm (License): Likewise.
27195         * modules/frexpl-nolibm (License): Likewise.
27196         * modules/printf-frexp (License): Likewise.
27197         * modules/printf-frexpl (License): Likewise.
27198         * modules/printf-safe (License): Likewise.
27199         * modules/signbit (License): Likewise.
27201 2016-11-17  Bruno Haible  <bruno@clisp.org>
27203         Enable Unicode decoder safety unconditionally.
27204         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
27205         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
27206         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27207         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27208         * lib/unistr/u8-prev.c (u8_prev): Likewise.
27209         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
27210         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
27211         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
27212         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
27213         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
27214         * lib/unistr/u16-prev.c (u16_prev): Likewise.
27215         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
27216         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
27217         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
27218         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
27219         * lib/unistr/u32-prev.c (u32_prev): Likewise.
27220         * lib/unistr/u32-next.c (u32_next): Likewise.
27221         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
27222         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
27223         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27224         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
27225         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
27226         CONFIG_UNICODE_SAFETY tests unconditionally.
27227         * tests/unistr/test-u32-mblen.c (main): Likewise.
27228         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
27229         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
27230         * tests/unistr/test-u32-next.c (main): Likewise.
27231         * tests/unistr/test-u32-strmblen.c (main): Likewise.
27232         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
27233         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
27234         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
27235         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
27236         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27237         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
27238         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
27239         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
27240         * lib/unistr/u16-check.c (u16_check): Update comment.
27241         * NEWS: Mention the changes that callers should be aware of.
27243 2016-11-19  Bruno Haible  <bruno@clisp.org>
27245         relocatable-prog-wrapper: Fix breakage on Cygwin.
27246         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
27247         (Depends-on): Remove intprops.
27248         * lib/relocwrapper.c: Update dependency tree.
27249         (strerror): Undefine.
27250         * build-aux/install-reloc (func_create_wrapper): Do not compile
27251         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
27253 2016-11-19  Bruno Haible  <bruno@clisp.org>
27255         strerror: Make it compile in C++ mode.
27256         * lib/strerror.c (strerror): Ignore the return value of memcpy().
27258 2016-11-15  Pedro Alves  <palves@redhat.com>
27260         sys_time: add gnulib::timeval for C++
27261         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
27262         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
27263         timeval macro.
27265 2016-11-14  Pedro Alves  <palves@redhat.com>
27267         snippet/c++defs: fix real-floating arg functions in C++ mode
27268         Also, define isfinite, isinf, isnan, signbit in the gnulib
27269         namespace instead of in the global namespace.
27270         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
27271         (_GL_END_NAMESPACE): New.
27272         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
27273         (isfinite, isinf, isnan, signbit) [__cplusplus &&
27274         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
27275         instead of in the global namespace.
27276         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
27277         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
27278         of in the global namespace.
27280 2016-11-13  Jim Meyering  <meyering@fb.com>
27282         strftime: don't use __THROW
27283         Each use of __THROW would provoke this from gcc-7-to-be:
27285           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
27286             on unit local functions [-Wattributes]
27287           static int iso_week_days (int, int) __THROW;
27288           ^~~~~~
27289         * lib/strftime.c (__THROW): Don't define.
27290         Remove each use of __THROW.
27291         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
27292         (tm_diff, iso_week_days, __strftime_internal): Likewise.
27294 2016-11-14  Paul Eggert  <eggert@union>
27296         obstack: port to gcc -fcheck-pointer-bounds
27297         Problem found by 'make check' failure on bleeding-edge coreutils
27298         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
27299         6.2.0-5ubuntu12), configured via "./configure
27300         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
27301         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
27302         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
27303         New macro, copied from fts_.h.
27304         (struct _obstack_chunk.contents): Use it.
27306 2016-11-14  Eric Blake  <eblake@redhat.com>
27308         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
27309         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
27310         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
27312 2016-11-14  Pádraig Brady  <P@draigBrady.com>
27314         strptime: fix compile error in recent change
27315         * lib/strptime.c (__strptime_internal): Fix ported code.
27317 2016-11-11  Bruno Haible  <bruno@clisp.org>
27319         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
27320         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
27321         (func_import): Extend determination of license_incompatibilities.
27322         (func_create_testdir): Extend table of license compatibility. Handle
27323         also the licenses GPLv3+, GPL, LGPLv3+.
27325 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
27327         strftime: tune %q
27328         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
27330         Merge strftime.c changes from glibc
27331         This incorporates:
27332         2007-10-16 [BZ #5184] Add tzset_called argument
27333         2008-06-13 [BZ #6612] pass reference to tzset_called around
27334         2009-10-30 Implement Burmese language locale for Myanmar
27335         2010-01-09 Add support for XPG7 testing
27336         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
27337         2015-10-20 Convert miscellaneous function definitions to prototype style
27338         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
27339         it anyway and this lessens the difference between gnulib and glibc.
27340         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
27341         (__THROW): Define if standard headers do not.
27342         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
27343         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
27344         Declare with __THROW.
27345         (__strftime_internal): Rename from strftime_case_. Add arg for
27346         whether tzset is called.  All uses changed.  Call tzset at most
27347         once.  Allow %OC, for Burmese.
27348         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
27349         Don't assume values are in range.
27351 2016-11-12  Eric Blake  <eblake@redhat.com>
27353         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
27354         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
27355         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
27356         different value.
27358 2006-11-12  Pedro Alves  <palves@redhat.com>
27360         Fix gnulib C++ namespace support and std::frexp
27361         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
27362         _GL_CXXALIASWARN.
27364 2006-11-12  Pedro Alves  <palves@redhat.com>
27366         GNULIB_NAMESPACE::func need not pull in rpl_func
27367         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27368         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
27369         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
27370         struct instead of a function pointer.
27372 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
27374         manywarnings: fix -Wno-missing-field-initializers detection
27375         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
27376         to be independent of -Wunused-variable.  I.E. ensure the latter
27377         warning doesn't occur so that detection of the former is accurate.
27379 2016-11-05  Pádraig Brady  <pbrady@fb.com>
27381         strftime,strptime: support %q to represent the quarter
27382         * lib/strftime.c (strftime_case_): Add %q case.
27383         * lib/strptime.c (__strptime_internal): Likewise.
27384         * tests/test-strftime.c (quarter_test): A new test case.
27386 2016-11-03  Eric Blake  <eblake@redhat.com>
27388         bootstrap: Fix get_version() for AIX 5.3
27389         * build-aux/bootstrap (get_version): Factor out sed script, since
27390         indented comments choke AIX 5.3 sed.
27391         Reported-by: Michael Felt <aixtools@gmail.com>
27393 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27395         intprops: port to older XL C
27396         Problem reported by Alexander Samoilov in:
27397         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
27398         http://savannah.nongnu.org/bugs/?49448
27399         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
27400         Define to 1 only for XL C 12.1 or later, since this bug
27401         occurs in XL C for AIX 6.0 but not in 12.1.
27403 2016-11-02  Pádraig Brady  <P@draigBrady.com>
27405         backupfile: initialize default suffix within the implementation
27406         * lib/backupfile.c (find_backup_file_name): Initialize the
27407         global variable here, to simplify usage, and to only call
27408         getenv() when needed.
27410 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27412         futimens: remove FIXME for old Linux kernels
27413         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
27414         this in 2012" FIXME, like that for utimensat.
27416         utimensat: remove FIXME for old Linux kernels
27417         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
27418         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
27419         this in 2012" FIXME, by assuming the file system bug is absent
27420         unless demonstrated to be present.  We no longer need to worry
27421         about Linux kernel 2.6.32 when building with newer kernels.
27423 2016-10-16  Bruno Haible  <bruno@clisp.org>
27425         qsort_r: Fix macrology for platforms that lack the function.
27426         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
27427         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
27428         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
27429         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
27430         not exist.
27431         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
27432         the function exists.
27433         * modules/qsort_r: Add comments.
27435 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27437         sys_types: fix Texinfo typos
27438         * doc/glibc-functions/gnu_dev_major.texi:
27439         * doc/glibc-functions/gnu_dev_makedev.texi:
27440         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
27442 2016-10-26  John David Anglin  <dave.anglin@bell.net>
27444         getprogname: port to HP-UX
27445         See Bug#24805.
27446         * lib/getprogname.c (getprogname) [__hpux]: Port.
27447         * tests/test-getprogname.c (STREQ) [__hpux]:
27448         Special-case for HP-UX limitations on program name length.
27450 2016-10-20  Bruno Haible  <bruno@clisp.org>
27452         Update doc about target platforms.
27453         * doc/gnulib-intro.texi (Target Platforms): Update list.
27455 2016-10-15  Bruno Haible  <bruno@clisp.org>
27457         opendir, readdir, closedir: Relicense under LGPLv2+.
27458         * modules/opendir (License): Change to LGPLv2+.
27459         * modules/readdir (License): Likewise.
27460         * modules/closedir (License): Likewise.
27462 2016-10-16  Bruno Haible  <bruno@clisp.org>
27464         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
27465         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
27466         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
27467         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
27468         HAVE_DECL_STRERROR_R.
27470 2016-10-16  Bruno Haible  <bruno@clisp.org>
27472         Make the 'argp' module work without the 'error' module.
27473         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
27475 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27477         diffseq: restore TOO_EXPENSIVE heuristic
27478         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
27479         (Bug#24715).  The simplest solution is to restore the
27480         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
27481         using a higher threshold to avoid Bug#16848 on smaller files.
27482         * lib/diffseq.h (struct context): Restore member too_expensive.
27483         (struct partition): Restore members lo_minimal, hi_minimal.
27484         (diag, compareseq): Restore arg find_minimal.  All uses changed.
27485         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
27486         1993 to make 'diff' run faster (but not as well) on large inputs,
27487         but use a threshold of 4096 instead of the old 256.
27488         * lib/fstrcmp.c (strcmp_bounded):
27489         * lib/git-merge-changelog.c (compute_differences):
27490         Adjust to diffseq.h changes.
27492 2016-10-22  Bruno Haible  <bruno@clisp.org>
27494         iconv: Avoid compilation error when bootstrapping GNU libiconv.
27495         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
27496         declaration yet, define ICONV_CONST to empty.
27498 2016-10-15  Bruno Haible  <bruno@clisp.org>
27500         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
27501         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
27502         module.
27504 2016-10-16  Bruno Haible  <bruno@clisp.org>
27506         system-quote tests: Avoid compiler warning on AIX.
27507         * tests/test-system-quote-child.c (fopen): Redefine like the system's
27508         <stdio.h> does.
27510 2016-10-16  Bruno Haible  <bruno@clisp.org>
27512         Fix some "gcc -Wall" warnings.
27513         * tests/test-ffsl.c (main): Use variable x, not i.
27514         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
27515         freopen.
27516         * tests/test-sethostname1.c (main): Explicitly ignore the return value
27517         of sethostname.
27519 2016-10-16  Bruno Haible  <bruno@clisp.org>
27521         gnulib-tool: Make --create-testdir on all modules work again.
27522         * gnulib-tool (func_create_testdir): Don't include the
27523         non-recursive-gnulib-prefix-hack module.
27525 2016-10-21  Daiki Ueno  <ueno@gnu.org>
27527         libunistring: change the maintainer to 'all'
27528         * modules/gen-uni-tables, modules/libunistring:
27529         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
27530         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
27531         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
27532         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
27533         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
27534         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
27535         * modules/uniwidth/*: Change the maintainer to 'all'.
27537 2016-10-16  Bruno Haible  <bruno@clisp.org>
27539         Simplify "configure: checking ..." messages.
27540         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
27541         AC_MSG_NOTICE.
27542         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27544 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
27546         quotearg-tests: pacify gcc -Wall
27547         Problem reported by Bruno Haible in:
27548         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
27549         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
27550         * tests/test-quotearg.h: ... from here.
27552 2016-10-20  Pádraig Brady  <P@draigBrady.com>
27554         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
27555         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
27556         Needed on Centos <= 4.
27558 2016-10-20  Jim Meyering  <meyering@fb.com>
27560         printf.m4: fix a bug in detecting printf %j support
27561         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
27562         uintmax_t is defined in neither stdint.h nor inttypes.h.
27563         Before, this macro might have mistakenly set
27564         gl_cv_func_printf_sizes_c99=yes on such a system.
27565         Spotted by Zev Weiss.
27567 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
27569         sched: substitute HAVE_SYS_CDEFS_H too
27570         Problem reported by Tom G. Christensen in:
27571         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
27572         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
27573         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
27575 2016-10-19  Pádraig Brady  <P@draigBrady.com>
27577         quotearg: never write beyond the returned length
27578         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
27579         scan of the string when we initially encounter a single quote when
27580         shell quoting, so that if we then switch to a more concise quoting method
27581         we will not have written beyond that returned length.
27582         This is significant for sh-quote, which has separate routines
27583         to determine the length and do the actual quoting.
27584         * tests/test-quotearg.h: Reinstate the buffer bounds checking
27585         now that we never write more than the returned length.
27587 2016-10-18  Bruno Haible  <bruno@clisp.org>
27589         getprogname tests: Avoid failure in packages that use libtool.
27590         * tests/test-getprogname.c (main): Strip "lt-" prefix.
27591         Based on a patch by Jim Meyering.
27593 2016-10-16  Bruno Haible  <bruno@clisp.org>
27595         getprogname: Fix test failure on Cygwin. Comments.
27596         * lib/getprogname.h: Add comments.
27597         * lib/getprogname.c: Add comments. Fix #elif indentation.
27598         * tests/test-getprogname.c (main): On Cygwin, expect a result without
27599         ".exe" suffix.
27601 2016-10-16  Bruno Haible  <bruno@clisp.org>
27603         Make sure the libunistring detection rejects older versions with a
27604         known bug.
27605         * modules/unistr/u8-strtok (configure.ac): Bump required version.
27606         * modules/unistr/u16-strtok (configure.ac): Likewise.
27607         * modules/unistr/u32-strtok (configure.ac): Likewise.
27609 2016-10-18  Bruno Haible  <bruno@clisp.org>
27611         sh-quote, system-quote: revert regression of unit test.
27612         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
27613         * tests/test-system-quote-main.c (check_one): Likewise.
27615 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27617         quotearg: fix stale tests
27618         * tests/test-quotearg.c [locale_results]: Add the missing str7
27619         entries to the expected results.
27620         * tests/test-system-quote-main.c (check_one): Don't enforce that we
27621         don't write beyond the returned length, since that's no longer the
27622         case if we switch to a more concise quoting style.
27623         * tests/test-sh-quote.c (check_one): Likewise.
27624         (main): Adjust for the new more concise quoting style.
27625         Reported by Bruno Haible.
27627 2016-10-16  Jim Meyering  <meyering@fb.com>
27629         non-recursive-gnulib-prefix-hack: fix inconsequential typo
27630         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
27631         to "$1".  This macro is always invoked with $1 == lib.
27632         Spotted by Bruno Haible
27634 2016-10-16  Bruno Haible  <bruno@clisp.org>
27636         Fix a test crash.
27637         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
27638         fails.
27640 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27642         test-limits-h: suppress -Woverlength-strings
27643         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
27645 2016-10-15  Bruno Haible  <bruno@clisp.org>
27647         gettime, timespec, utimens: Relicense under LGPL.
27648         * modules/gettime (License): Change to LGPL.
27649         * modules/timespec (License): Likewise.
27650         * modules/utimens (License): Likewise.
27652 2016-10-14  Bruno Haible  <bruno@clisp.org>
27653             Pádraig Brady  <P@draigBrady.com>
27655         canonicalize-lgpl: Support the case path_max > INT_MAX.
27656         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
27657         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
27659 2016-10-13  Jim Meyering  <meyering@fb.com>
27661         getprogname: IBM z/OS: avoid NULL-dereference
27662         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
27663         upon strdup failure.
27665 2016-10-12  Jim Meyering  <meyering@fb.com>
27667         test-stdint: use _GL_VERIFY rather than "verify" for some tests
27668         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
27669         and an abbreviated diagnostic rather than verify with the full one,
27670         because the full-length strings would evoke warnings from gcc with
27671         -Woverlength-strings.
27673 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27675         stdint: port SIZE_MAX to glibc s390
27676         Problem reported by Eric Blake in:
27677         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
27678         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
27679         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
27680         correct type, if possible.
27682 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
27684         getprogname: port to IBM z/OS
27685         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
27687 2016-10-11  Jim Meyering  <meyering@fb.com>
27689         maint: remove stray space after "." in AC_DEFINE comment.
27690         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
27691         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27693 2016-10-05  Jim Meyering  <meyering@fb.com>
27695         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
27696         * lib/long-options.c (parse_long_options): Add a break statement
27697         to avoid this new warning/failure:
27698         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
27699           --create-testdir --dir=/t/x --with-tests --test long-options
27700         ../../gllib/long-options.c: In function 'parse_long_options':
27701         ../../gllib/long-options.c:66:12: error: this statement may \
27702           fall through [-Werror=implicit-fallthrough]
27703                    (*usage_func) (EXIT_SUCCESS);
27704                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
27706 2016-10-05  Jim Meyering  <meyering@fb.com>
27708         utimecmp: avoid new GCC 7 warning from -Wbool-operation
27709         Testing this module would fail when using GCC 7 like this:
27710         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
27711           --dir=/tmp/x --with-tests --test utimecmp
27712         ../../gllib/utimecmp.c: In function ‘utimecmp’:
27713         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
27714           [-Werror=bool-operation]
27715                          time_t s = src_s & ~ (res == 2 * BILLION);
27716                                             ^
27717         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
27718           [-Werror=bool-operation]
27719                src_s &= ~ (res == 2 * BILLION);
27720                         ^
27721         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
27722         Instead, make it explicit that we intend to apply it to 0 or 1.
27724 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27726         dfa: save memory for states
27727         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
27728         states if dfa has a lot of caches.
27730 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
27732         wchar, wctype-h: fix for MinGW 3.22.2
27733         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
27734         special invocation, to fix issues with MinGW 3.22.2 wchar.h
27735         when included from <string.h>.
27736         * lib/wctype.in.h [__MINGW32__]: Add special invocation
27737         convention for MinGW 3.22.2, to solve issues with their
27738         wctype.h when included from <ctype.h>.
27740 2016-10-05  Jim Meyering  <meyering@fb.com>
27742         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
27743         * lib/long-options.c (parse_long_options): Add a break statement
27744         to avoid this new warning/failure:
27745         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
27746           --create-testdir --dir=/t/x --with-tests --test long-options
27747         ../../gllib/long-options.c: In function ‘parse_long_options’:
27748         ../../gllib/long-options.c:66:12: error: this statement may \
27749           fall through [-Werror=implicit-fallthrough]
27750                    (*usage_func) (EXIT_SUCCESS);
27751                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
27753         utimecmp: avoid new GCC 7 warning from -Wbool-operation
27754         Testing this module would fail when using GCC 7 like this:
27755         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
27756           --dir=/tmp/x --with-tests --test utimecmp
27757         ../../gllib/utimecmp.c: In function ‘utimecmp’:
27758         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
27759           [-Werror=bool-operation]
27760                          time_t s = src_s & ~ (res == 2 * BILLION);
27761                                             ^
27762         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
27763           [-Werror=bool-operation]
27764                src_s &= ~ (res == 2 * BILLION);
27765                         ^
27766         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
27767         Instead, make it explicit that we intend to apply it to 0 or 1.
27769 2016-10-03  Pádraig Brady  <P@draigBrady.com>
27771         quotearg: minimize shell quoting using double quotes
27772         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
27773         quote in encountered then use double quotes (c style quoting)
27774         when possible, as it simplifies the quoting.
27775         * tests/test-quotearg-simple.c: Add test cases.
27776         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
27777         for the fact we now may write beyond the returned length.
27779 2016-10-02  Jim Meyering  <meyering@fb.com>
27781         vasnprintf.c: avoid spurious warning from GCC 7
27782         The presence of cpp directives renders this "FALLTHROUGH" comment
27783         ineffective, so does not suppress the -Wimplicit-fallthrough warning
27784         from GCC 7 built from git on 2016-10-02.
27785         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
27786         directives, so that it takes effect once again.  This is clearly
27787         not a proper change, and I will revert it once this bug is fixed:
27788         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
27790 2016-10-01  Jim Meyering  <meyering@fb.com>
27792         getprogname: correct the test for a __progname variable
27793         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
27794         and AC_LINK_IFELSE to check for a global __progname.  If found,
27795         define HAVE_VAR___PROGNAME.
27796         * lib/getprogname.c (getprogname): Reflect the new name of the
27797         feature- checked preprocessor symbol:
27798         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
27800 2016-09-28  Jim Meyering  <meyering@fb.com>
27802         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
27803         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
27804         fall-through case with a /* fallthrough */ comment.
27806         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
27807         * lib/dfa.c (dfassbuild): Mark the end of this case with a
27808         /* fallthrough */ comment.
27810         getprogname: avoid __progname vs program_invocation_short_name pitfall
27811         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
27812         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
27813         not with Fedora 24's glibc-2.23.1-10.
27814         * lib/getprogname.c (__progname): Move this declaration down...
27815         (getprogname): ... into the #elif block where used, and make it
27816         explicitly "extern".
27818         getprogname: port to OpenBSD 5.1
27819         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
27820         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
27821         * modules/getprogname (configure.ac): Move most of this code...
27822         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
27823         increment serial number, and add a test for __progname.
27824         https://bugs.gnu.org/24562
27825         Reported by Nelson H. F. Beebe.
27827 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
27829         sched: port to GCC 6.2.1 on macOS Sierra
27830         Problem reported by Denis Davydov in:
27831         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
27832         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
27833         Include <sys/cdefs.h> before <sched.h>.
27834         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
27835         so that we needn’t worry about the sched.h include bug here.
27836         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
27837         and include it before <sched.h> if it exists, when
27838         checking for <sched.h>.
27840         tests/init.sh: port Alpine fix to AIX 7.1
27841         * tests/init.sh (compare_): When attempting to use diff -U3,
27842         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
27843         diff -u not outputting a space after leading '+', as the users
27844         of 'compare' should not be that picky about its output format.
27845         In the AIX 7.1 case, return with diff exit status (or with 2 if
27846         trouble), instead of some random nonzero exit status.
27847         * tests/test-init.sh (test_compare): Remove space after leading
27848         '+', so that AIX 7.1 'diff' passes the test.
27850 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27852         nl_langinfo: pacify GCC
27853         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
27854         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
27856         stdint: also set GL_GENERATE_LIMITS_H
27857         Problem reported by Jim Meyering in:
27858         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
27859         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
27861         limits-h, stdint: Don't assume extensions, fix typo
27862         * m4/limits-h.m4 (gl_LIMITS_H):
27863         * m4/stdint.m4 (gl_STDINT_H):
27864         Don't assume AC_USE_SYSTEM_EXTENSIONS.
27865         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
27866         reported by Jim Meyering in:
27867         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
27869 2016-09-21  Jim Meyering  <meyering@fb.com>
27871         getprogname: port to AIX
27872         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
27873         and strdup to obtain a short program name string.  Using code from
27874         Bruno Haible and an idea from Bastien ROUCARIÈS, in
27875         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
27876         Assaf Gordon reported that this new file would fail to compile on
27877         AIX-7.1 32bit.
27879 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
27881         extensions: fix typo in comment
27882         * m4/extensions.m4: Sync from Autoconf master.
27884         stdint: support new _WIDTH macros
27885         * doc/posix-headers/stdint.texi: Document this.
27886         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
27887         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
27888         support for INTMAX_WIDTH, etc. as well as for support for just C99.
27889         * modules/stdint (Depends-on): Add limits-h.
27890         (Makefile.am): Substitute HAVE_C99_STDINT_H.
27891         * modules/stdint-tests (Depends-on): Add extensions, so that
27892         INTMAX_MAX etc. are defined.
27893         * tests/test-stdint.c: Verify the new macros.
27895         limits-h: new module
27896         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
27897         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
27898         * doc/posix-headers/limits.texi: Document new module.
27899         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
27900         * modules/limit-h-tests, tests/test-limits-h.c: New files.
27902         stdio: don't redefine __USE_MINGW_ANSI_STDIO
27903         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
27904         if it is already defined.  Apparently GNU Emacs relies on this.  See:
27905         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
27907 2016-09-15  Eric Blake  <eblake@redhat.com>
27909         sys_types: avoid glibc 2.25 warnings about major()
27910         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
27911         older autoconf.
27912         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
27913         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
27914         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
27915         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
27917         mountlist: include sysmacros.h for glibc
27918         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
27919         AC_HEADER_MAJOR.
27920         * lib/mountlist.c (includes): Use correct headers.
27922 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
27924         extensions: port to more ISO C TSes
27925         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
27926         master, to add support for more recent ISO C TRs and TSes.
27928 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27930         intprops: new macro TYPE_WIDTH
27931         * lib/intprops.h (TYPE_WIDTH): New macro.
27932         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
27933         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
27934         * lib/parse-datetime.y (parse_datetime2):
27935         Use it.
27937         extensions: port to recent ISO C TRs
27938         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27939         Sync from Autoconf master, to add support for recent ISO C TRs.
27940         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
27941         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
27942         the MinGW option is not an extension.
27944 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
27946         dfa: port to Solaris 9
27947         Problems reported by Tom G. Christensen in:
27948         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
27949         * modules/dfa (Depends-on): Add isblank.
27950         * modules/dfa-tests (dfa_match_aux_LDADD):
27951         Rename from test_stat_LDADD, to fix typo.
27952         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
27954 2016-09-10  Jim Meyering  <meyering@fb.com>
27956         strverscmp: avoid link failure on OS X
27957         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
27958         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
27960 2016-08-16  Jim Meyering  <meyering@fb.com>
27962         dfa: new module, importing grep's DFA matcher
27963         Since grep's DFA matcher is now being used by two gnulib-enabled
27964         projects, grep and sed, it makes sense to version-control its
27965         sources and unit tests in one place: here.
27966         * modules/dfa: New module.
27967         * modules/dfa-tests: New file.
27968         * lib/dfa.c: New file, from grep.
27969         * lib/dfa.h: Likewise.
27970         * lib/localeinfo.c: Likewise.
27971         * lib/localeinfo.h: Likewise.
27972         * tests/dfa-match-aux.c: Likewise.
27973         * tests/dfa-invalid-char-class.sh: Likewise.
27974         * tests/dfa-match.sh: Likewise, with minor changes.
27975         * MODULES.html.sh (Misc): Add "dfa" to this list.
27977 2016-09-09  Jim Meyering  <meyering@fb.com>
27979         getprogname-tests: don't depend on assert-h
27980         * modules/getprogname-tests (Depends-on): Remove assert-h.
27981         It was not needed, and in fact would cause build failure for
27982         coreutils on some systems.  Reported by Assaf Gordon in https:
27983         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
27985 2016-09-07  Jim Meyering  <meyering@fb.com>
27987         getprogname-tests: work also when EXEEXT is nonempty
27988         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
27989         * tests/test-getprogname.c (main): Use it.
27990         Suggested by Gisle Vanem.
27992 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
27994         getprogname: fix errors in previous change
27995         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
27996         s/program_invocation_name/base/
27997         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
27999 2016-09-08  Pádraig Brady  <P@draigBrady.com>
28001         parse-datetime: restrict debug output to input string
28002         * lib/parse-datetime.y (parse_datetime2): If we parse
28003         all of the input but determine it's invalid, ensure
28004         we don't output the now invalid input pointer.
28005         This issue was seen with `date -d 'now +1'`.
28007 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28009         flexmember: new macro FLEXALIGNOF
28010         * lib/flexmember.h: Include <stddef.h>, for offsetof.
28011         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
28012         this macro.  Update comments.
28014 2016-09-07  Jim Meyering  <meyering@fb.com>
28016         getprogname: port to systems with __argv (mingw, msvc)
28017         * lib/getprogname.c (getprogname): Include "dirname.h" and use
28018         last_component: more general than open coding it with hard-coded "/".
28019         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
28020         * modules/getprogname (Depends-on): Add dirname-lgpl.
28021         (configure.ac): Check for __argv in <stdlib.h>.
28022         * modules/getprogname-tests: New file.
28023         * tests/test-getprogname.c: New file.
28024         Suggested by Gisle Vanem in
28025         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
28027 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
28029         flexmember: port better to GCC + valgrind
28030         With a char[] flexible array member in a struct with nontrivial
28031         alignment, GCC-generated code can access past the end of the
28032         array, because GCC assumes there are padding bytes to get the
28033         struct aligned.  So the common idiom of malloc (offsetof (struct
28034         s, m), n) does not properly allocate an n-byte trailing member, as
28035         malloc’s argument should be the next multiple of alignof (struct s).
28036         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
28037         Although C11 apparently permits this GCC optimization (i.e., there
28038         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
28039         See the thread containing:
28040         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
28041         * lib/flexmember.h: New file.
28042         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
28043         * lib/localename.c, lib/time_rz.c:
28044         Include flexmember.h.
28045         * lib/fnmatch_loop.c (struct patternlist):
28046         * lib/localename.c (struct hash_node):
28047         Use FLEXIBLE_ARRAY_MEMBER.
28048         * lib/fnmatch_loop.c (EXT):
28049         * lib/fts.c (fts_alloc):
28050         * lib/glob.c (glob_in_dir):
28051         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
28052         * lib/localename.c (gl_lock_define_initialized):
28053         * lib/time_rz.c (tzalloc):
28054         Use FLEXSIZEOF instead of offsetof.
28055         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
28056         Check that the size of the struct can be taken.
28057         * modules/flexmember (Files): Add lib/flexmember.h.
28058         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
28059         Add flexmember.
28061 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
28063         getprogname: port to Solaris 10
28064         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
28065         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
28066         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
28068         stdalign: correct mistake in alignof doc
28069         Problem reported by Joseph Myers in:
28070         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
28071         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
28072         alignof(S) where S is a structure containing a flexible array
28073         member.  The Gnulib substitute does not support this, but C11 does.
28075 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28077         main.mk: remove sc_program_name, since there is no more need to
28078         use set_program_name in tools (getprogname is enough for most
28079         of the cases).
28080         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
28081         * top/maint.mk (sc_program_name): Remove.
28083 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28085         Port tests away from progname, since modules that need the
28086         program name already depend on getprogname.
28087         * modules/acl-tests (Depends-on): Remove progname.
28088         * modules/argmatch (Depends-on): Likewise.
28089         * modules/argmatch-tests (Depends-on): Likewise.
28090         * modules/argp-tests (Depends-on): Likewise.
28091         * modules/argp-version-etc-tests (Depends-on): Likewise.
28092         * modules/array-list-tests (Depends-on): Likewise.
28093         * modules/array-oset-tests (Depends-on): Likewise.
28094         * modules/avltree-list-tests (Depends-on): Likewise.
28095         * modules/avltree-oset-tests (Depends-on): Likewise.
28096         * modules/avltreehash-list-tests (Depends-on): Likewise.
28097         * modules/carray-list-tests (Depends-on): Likewise.
28098         * modules/copy-file-tests (Depends-on): Likewise.
28099         * modules/exclude-tests (Depends-on): Likewise.
28100         * modules/fchownat-tests (Depends-on): Likewise.
28101         * modules/fdopendir-tests (Depends-on): Likewise.
28102         * modules/filenamecat-tests (Depends-on): Likewise.
28103         * modules/fstatat-tests (Depends-on): Likewise.
28104         * modules/fstrcmp-tests (Depends-on): Likewise.
28105         * modules/linked-list-tests (Depends-on): Likewise.
28106         * modules/linkedhash-list-tests (Depends-on): Likewise.
28107         * modules/mkdirat-tests (Depends-on): Likewise.
28108         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
28109         * modules/nonblocking-socket-tests (Depends-on): Likewise.
28110         * modules/obstack-printf-tests (Depends-on): Likewise.
28111         * modules/openat-tests (Depends-on): Likewise.
28112         * modules/parse-datetime-tests (Depends-on): Likewise.
28113         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
28114         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
28115         * modules/quotearg-simple-tests (Depends-on): Likewise.
28116         * modules/quotearg-tests (Depends-on): Likewise.
28117         * modules/rbtree-list-tests (Depends-on): Likewise.
28118         * modules/rbtree-oset-tests (Depends-on): Likewise.
28119         * modules/rbtreehash-list-tests (Depends-on): Likewise.
28120         * modules/spawn-pipe-tests (Depends-on): Likewise.
28121         * modules/system-quote-tests (Depends-on): Likewise.
28122         * modules/uniname/uniname-tests (Depends-on): Likewise.
28123         * modules/uninorm/nfc-tests (Depends-on): Likewise.
28124         * modules/uninorm/nfd-tests (Depends-on): Likewise.
28125         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
28126         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
28127         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
28128         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
28129         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
28130         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
28131         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
28132         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
28133         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
28134         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
28135         * modules/unlinkat-tests (Depends-on): Likewise.
28136         * modules/version-etc-tests (Depends-on): Likewise.
28137         * modules/xalloc-die-tests (Depends-on): Likewise.
28138         * modules/xmemdup0-tests (Depends-on): Likewise.
28139         * modules/xprintf-posix-tests (Depends-on): Likewise.
28140         * modules/xvasprintf-tests (Depends-on): Likewise.
28141         * tests/test-argmatch.c: Do not include progname.h.
28142         (main) Stop calling set_program_name.
28143         * tests/test-argp-version-etc.c: Likewise.
28144         * tests/test-argp.c: Likewise.
28145         * tests/test-argv-iter.c: Likewise.
28146         * tests/test-array_list.c: Likewise.
28147         * tests/test-array_oset.c: Likewise.
28148         * tests/test-avltree_list.c: Likewise.
28149         * tests/test-avltree_oset.c: Likewise.
28150         * tests/test-avltreehash_list.c: Likewise.
28151         * tests/test-carray_list.c: Likewise.
28152         * tests/test-copy-acl.c: Likewise.
28153         * tests/test-copy-file.c: Likewise.
28154         * tests/test-exclude.c: Likewise.
28155         * tests/test-fchownat.c: Likewise.
28156         * tests/test-fdopendir.c: Likewise.
28157         * tests/test-filenamecat.c: Likewise.
28158         * tests/test-fstatat.c: Likewise.
28159         * tests/test-fstrcmp.c: Likewise.
28160         * tests/test-linked_list.c: Likewise.
28161         * tests/test-linkedhash_list.c: Likewise.
28162         * tests/test-mkdirat.c: Likewise.
28163         * tests/test-nonblocking-pipe-main.c: Likewise.
28164         * tests/test-nonblocking-socket-main.c: Likewise.
28165         * tests/test-obstack-printf.c: Likewise.
28166         * tests/test-openat.c: Likewise.
28167         * tests/test-parse-datetime.c: Likewise.
28168         * tests/test-pipe-filter-gi1.c: Likewise.
28169         * tests/test-pipe-filter-gi2-main.c: Likewise.
28170         * tests/test-pipe-filter-ii1.c: Likewise.
28171         * tests/test-pipe-filter-ii2-main.c: Likewise.
28172         * tests/test-quotearg-simple.c: Likewise.
28173         * tests/test-quotearg.c: Likewise.
28174         * tests/test-rbtree_list.c: Likewise.
28175         * tests/test-rbtree_oset.c: Likewise.
28176         * tests/test-rbtreehash_list.c: Likewise.
28177         * tests/test-sameacls.c: Likewise.
28178         * tests/test-set-mode-acl.c: Likewise.
28179         * tests/test-spawn-pipe-main.c: Likewise.
28180         * tests/test-system-quote-main.c: Likewise.
28181         * tests/test-unlinkat.c: Likewise.
28182         * tests/test-version-etc.c: Likewise.
28183         * tests/test-xalloc-die.c: Likewise.
28184         * tests/test-xfprintf-posix.c: Likewise.
28185         * tests/test-xmemdup0.c: Likewise.
28186         * tests/test-xprintf-posix.c: Likewise.
28187         * tests/test-xvasprintf.c: Likewise.
28188         * tests/uniname/test-uninames.c: Likewise.
28189         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28190         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28191         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28192         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28193         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28194         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28195         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28196         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28197         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28198         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28199         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28200         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28201         * tests/test-c-stack.c: (program_name): Do not define.
28202         (main): Do not set program_name.
28203         * tests/test-closein.c: Likewise.
28204         * tests/test-xstrtol.c: Likewise.
28205         * tests/test-yesno.c: Likewise.
28207 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28209         Port modules to use getprogname explicitly, instead of requiring
28210         progname to be used (or program_name to be provided).
28211         * lib/argmatch.c: Do not include progname.h.
28212         [TEST] (program_name): Do not define.
28213         [TEST] (main): Call getprogname instead of using program_name.
28214         * lib/c-stack.c: Do not include progname.h.
28215         (program_name): Do not define.
28216         (die): Call getprogname instead of using program_name.
28217         * lib/chdir-long.c: Do not include progname.h.
28218         [TEST_CHDIR] (main): Do not set program_name.
28219         * lib/error.c [!_LIBC]: Include progname.h.
28220         [!_LIBC] (program_name): Define using getprogname.
28221         * lib/euidaccess.c: Do not include progname.h.
28222         [TEST] (main): Do not set program_name.
28223         * lib/git-merge-changelog.c: Include getprogname.h instead of
28224         progname.h.
28225         (usage): Call getprogname instead of using program_name.
28226         (main): Likewise.  Stop calling set_program_name.
28227         * lib/group-member.c: Do not include progname.h.
28228         [TEST] (main): Do not set program_name.
28229         * modules/argmatch (Depends-on): Add getprogname.
28230         * modules/c-stack (Depends-on): Likewise.
28231         * modules/error (Depends-on): Likewise.
28232         * modules/git-merge-changelog (Depends-on): Likewise.
28233         Also remove progname.
28235 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
28237         * NEWS: Document the deprecation of the 'progname' module.
28239 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28241         getprogname: new module
28242         This provides a LGPL module for getting the name of the current
28243         program, using the same API found on *BSD systems.
28244         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
28245         * modules/getprogname: New files.
28246         * MODULES.html.sh (Misc): Add getprogname.
28248 2016-09-02  Jim Meyering  <meyering@fb.com>
28250         manywarnings: add -fno-common
28251         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
28252         to the list.  Quoting the manual, "Compiling with -fno-common is
28253         useful on targets for which it provides better performance, or if
28254         you wish to verify that the program will work on other systems that
28255         always treat uninitialized variable declarations this way [putting
28256         it in the data section]."  If diffutils had been using this sooner,
28257         it would have prevented this duplicate declaration issue:
28258         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
28260 2016-08-31  Simon Josefsson  <simon@josefsson.org>
28262         parse-datetime: Fix typo.
28263         * lib/parse-datetime.y (parse_datetime2): Fix typo.
28265 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
28267         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
28268         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
28269         GCC 5 and 6 that have __builtin_sub_overflow but not
28270         __builtin_sub_overflow_p.  With the recent changes, these
28271         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
28272         implementation than with INT_SUBTRACT_OVERFLOW implementation,
28273         since the former needs just one runtime comparison whereas the
28274         latter needs two.
28276         strverscmp: sync with glibc
28277         Although this doesn't exactly synchronize with glibc
28278         byte-for-byte, it makes the code behave the same as glibc.
28279         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
28280         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
28281         difference shouldn't matter in practical use.  All uses changed
28282         back to isdigit.
28283         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
28284         (next_state): Now unsigned char array; redo elements.
28285         (result_type): Now signed char array; redo elements.
28286         (__strverscmp): Fix glibc bug 9913 by using new states.
28287         * tests/test-strverscmp.c (main): Test glibc bug 9913.
28289 2016-08-29  Jim Meyering  <meyering@fb.com>
28291         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
28292         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
28293         similarly to how it was done to intprops.h.
28295 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
28297         intprops.h: port recent changes to GCC 6.2.0
28298         * lib/intprops.h (__has_builtin): Move earlier.
28299         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
28300         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
28301         the last argument can be null.  All uses changed.
28302         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
28303         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28304         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
28305         and it's not clear which GCC versions it works for.
28306         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
28307         its definiens.
28309         intprops.h: use __typeof__ with GCC 7
28310         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
28311         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
28312         This avoids computing the expression's value (which might overflow!).
28314 2016-08-29  Jim Meyering  <meyering@fb.com>
28316         intprops.h, xalloc-oversized.h: work with gcc 7
28317         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
28318         __builtin_mul_overflow each accept a NULL pointer as the third
28319         argument.  However in gcc 7, that is no longer accepted.
28320         Instead, one must use the "_p"-suffixed names, with which, the
28321         third parameter is no longer a pointer.
28322         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
28323         the definition: not true for gcc 7 and subsequent.
28324         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
28325         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28326         Provide new definitions for gcc 7 and subsequent.
28327         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
28328         that works with gcc-7.
28330         intprops.h: fix missing-backslash problems
28331         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
28332         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
28334 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28336         intprops: fix paren typo on old platforms
28337         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
28338         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
28339         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
28340         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
28341         && !defined LLONG_MAX]:
28342         Remove stray paren.
28344         intprops: port to OpenVMS
28345         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
28346         * doc/posix-headers/limits.texi: Document the problem.
28347         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
28348         Define if not already defined.
28350 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
28352         parse-datetime: improve debug implementation
28353         Follow-up to commit 12ad79069 ("add optional debug printing").
28354         Improve parse-datetime's debug implementation: remove macros,
28355         replace global debug flag variable with a function parameter,
28356         use nstrftime for formatting.
28357         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
28358         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
28359         (parse_datetime2): New function, accepts 'flags' parameter, supporting
28360         debug flag. Existing interface 'parse_datetime' left unmodified.
28361         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
28362         (struct parser_control): add 'parse_datetime_debug' member variable.
28363         (parse_datetime): Call new function 'parse_datetime2' without debug.
28364         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
28365         pc.parse_datetime_debug variable as needed.
28366         (to_year): Accept new flags parameter, instead of using global variable.
28367         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
28368         use struct 'debug' variable instead of global variable.
28369         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
28370         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
28371         correspnding functions directly instead of using macros.
28372         * modules/parse-datetime: Add gnulib's strftime module.
28374 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
28376         c-strcase-tests: port to EBCDIC
28377         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
28378         which assume ASCII encoding semantics to run only in ASCII
28379         mode, as they fail in EBCDIC.
28381         sigpipe-tests: fix typo
28382         * tests/test-sigpipe.sh: C, not B.
28384 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28386         canonicalize-lgpl: fix errno after malloca fails
28387         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
28388         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
28389         * lib/canonicalize-lgpl.c (__realpath):
28390         Don't assume malloca sets errno on failure.
28392 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28394         strtod: port errno handling to z/OS
28395         * lib/strtod.c (strtod): Save and restore errno more reliably.
28397 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28399         strtod: port to z/OS
28400         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28401         implementation.
28403 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28405         strtod: port to z/OS
28406         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28407         implementation.
28409         regex, string: rename to avoid '__string'
28410         * lib/regex.h, lib/string.in.h: Do not use the identifier
28411         '__string', as it is effectively reserved by string.h on z/OS.
28413         c-strcase-tests, wcwidth-tests: depend on c-ctype
28414         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
28415         Add c-ctype.
28417 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28419         thread: port to z/OS
28420         * lib/glthread/thread.c, lib/glthread/thread.h:
28421         Rudimentary gl_thread support for z/OS.
28423         maint: port tests to z/OS errno behavior
28424         * tests/test-nonblocking-reader.h:
28425         * tests/test-nonblocking-writer.h:
28426         Accommodate z/OS errno code preferences. (I believe this should
28427         still be within spec; IBM is good at following the letter if not
28428         the spirit of such things.)
28430         maint: preprocessor changes to support z/OS
28431         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
28432         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
28433         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
28434         * tests/test-nonblocking-pipe.h:
28436         fclose, strstr-simple, wchar: port to z/OS
28437         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
28438         Changes to the Autoconf M4 code to support z/OS.  Note that
28439         fclose() is broken in a different way on z/OS than it is on other
28440         systems, thus the special-case in fclose.m4.
28442         iconv_open-utf-tests, iconv-tests: port to EBCDIC
28443         * tests/test-iconv-utf.c, tests/test-iconv.c:
28444         Added appropriately conditional #pragmas so that the test strings
28445         in test-iconv-utf.c are correctly interpreted in ASCII instead of
28446         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
28447         addressed in a more portable way by simply rewriting all the ASCII
28448         literal characters as octal escapes, but then you would lose the
28449         partial readability that the strings have now. Also, iconv_open()
28450         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
28452         c-strcase-tests, wcwidth-tests: port to EBCDIC
28453         * tests/test-c-strcasecmp.c: Include c-ctype.h.
28454         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
28455         * tests/test-wcwidth.c: Likewise.
28457 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28459         stdbool: don't require _Bool for C++
28460         Problem reported by David Seifert in:
28461         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
28462         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
28463         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
28464         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
28465         stricter about checking that bool and _Bool are compatible in C.
28467 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
28469         getdelim: remove dependency on realloc-posix
28470         * lib/canonicalize-lgpl.c (alloc_failed)
28471         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
28472         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
28473         Use __set_errno where needed, for consistency.
28474         * lib/getdelim.c (alloc_failed): New function.
28475         (getdelim): Use it.
28477 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
28479         parse-datetime: add optional debug printing
28480         Print parsing information, warnings, and errors to stderr.
28481         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
28482         * lib/parse-datetime.y:
28483         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
28484         (PROGRESS*): Same as DEBUG, for progress reporting.
28485         (dbg_printf): Print message to stderr, with 'date' prefix.
28486         (struct parser_control): Add 'debug_*_seen' variables.
28487         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
28488         (debug_print_current_time, debug_print_relateive_time): Prints the
28489         current/relative date/time value of parser_control.
28490         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
28491         (to_year): Warn about 2-digit year parsing.
28492         (yylex):   Warn about unrecognized words.
28493         (get_effective_timezone): Returns current timezone in minutes.
28494         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
28495         clearly and unambigiously as possible.
28496         (debug_mktime_not_ok): Print detailed information about failed
28497         date/time values.
28498         (parse_datetime): Add DEBUG messages for failures, warnings. Add
28499         PROGRESS messages for status messages.
28500         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
28502 2016-08-06  Jim Meyering  <meyering@fb.com>
28504         tests/init.sh: exclude dash with bad "local" semantics
28505         * tests/init.sh (gl_shell_test_script_): Add a function to
28506         eliminate a shell like "dash" (unlike bash, zsh) that has
28507         surprising/risky "local var='...'" semantics.  Inspired by
28508         the problem and discussion in https://bugs.gnu.org/24116#11.
28510 2016-08-02  Ján Tomko  <jtomko@redhat.com>
28512         maint.mk: expand the prohibit_doubled_word regex
28513         This check has a static list of words that are checked for
28514         repetitions.  Expand it before running the perl script to
28515         avoid using expensive captures.  This decreases the cost
28516         for libvirt from 1.66s to 0.66s.
28517         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
28518         (sc_prohibit_doubled_word): Use it.
28520 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28522         useless-if-before-free: skip non-matching lines early
28523         * build-aux/useless-if-before-free: First match each line with the
28524         simple/quick /\bif\b/ and reject if there is no match. This often
28525         saves the cost of the much more involved regular expression.
28526         For libvirt, this decreases the cost from 1.44s to 1.02s.
28528 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28530         maint.mk: speed up sc_po_check
28531         sc_po_check would skip files based on their names, or on the
28532         existence of files with derived names. Rewrite it to use perl
28533         instead of shell to make the check faster.
28534         * top/maint.mk (perl_translatable_files_list_): Define.
28535         (sc_po_check): Use it.
28537 2016-07-30  Ján Tomko  <jtomko@redhat.com>
28539         maint.mk: speed up require_config_h_first
28540         Instead of spawning three processes per file,
28541         rewrite the check in perl and run it once for all the files.
28542         * top/maint.mk (perl_config_h_first_): Define.
28543         (sc_require_config_h_first): Use it in place of shell code.
28545 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28547         maint.mk: speed up sc_po_check
28548         sc_po_check would skip files based on their names, or on the
28549         existence of files with derived names. Rewrite it to use perl
28550         instead of shell to make the check faster.
28551         * top/maint.mk (perl_translatable_files_list_): Define.
28552         (sc_po_check): Use it.
28554 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28556         obstack: pacify GCC 6 with -Wnull-dereference
28557         Problem reported by Assaf Gordon in:
28558         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
28559         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
28560         Declare with __attribute_noreturn__.
28561         * lib/obstack.h (__attribute_noreturn__): New macro.
28563 2016-07-13  Eric Blake  <eblake@redhat.com>
28565         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
28566         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
28567         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
28569 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28571         doc: mention glibc SSIZE_MAX buglet
28572         * doc/posix-headers/limits.texi (limits.h): Document the bug.
28574 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
28576         printf-posix: Fix mingw build
28577         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
28578         expression for detecting C symbol prefixes but forgot to qoute square
28579         brackets in the command line arguments for grep.  That way when
28580         building with mingw the condition was false although it ought to be
28581         true instead.  In particular scenarios this led to the following
28582         compile error:
28584             Cannot export rpl_printf: symbol not found
28585             Cannot export rpl_scanf: symbol not found
28586             collect2: error: ld returned 1 exit status
28588         Fix this by properly quoting square brackets.
28590 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
28592         mktime: call tzset as per POSIX
28593         Problem reported by Ludovic Courtès in:
28594         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
28595         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
28596         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
28598 2016-06-26  Pádraig Brady  <P@draigBrady.com>
28600         fts: handle readdir() errors
28601         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
28602         but also upon error when it will also set errno.  Therefore
28603         flag the error case from readdir().  We treat the case where
28604         no items are read the same as if the dir can't be accessed,
28605         i.e. by setting fts_errno to FTS_DNR.
28607 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
28609         intprops: port better to GCC 7
28610         GCC 7 __builtin_add_overflow supports a new usage form, where the
28611         last argument is a null pointer, and which merely returns 1 if an
28612         overflow would occur.  This is a constant expression if all
28613         arguments are constants, and should generate faster code when code
28614         needs to be generated.
28615         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
28616         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28617         Use builtin operations if available.
28618         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
28619         operations are available, as it's almost surely faster.
28621 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28623         intprops-test: port to GCC 6
28624         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
28625         since the bug is not fixed in GCC 6.1.
28627 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
28629         xalloc-oversized: port to GCC 7; fewer warnings
28630         GCC 7 will have a better way to deal with integer overflow.
28631         Plus, fix a warnings problem reported by Tim Ruehsen in:
28632         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
28633         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
28634         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
28635         For GCC 5, use __xalloc_oversized if both args are constants,
28636         or if pedantic.
28638 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
28640         regex: port to Sun C
28641         Reported by Daiki Ueno.
28642         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
28643         __restrict, in prototype.  This fixes a problem I introduced in
28644         the 2016-02-19 merge from glibc.
28646 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
28648         stdbool: Restore __bool_true_false_are_defined check
28649         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
28650         __bool_true_false_are_defined is still defined, even with C++11.
28652 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
28654         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
28655         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
28657 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
28659         Use GCC_LINT, not lint
28660         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
28661         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
28662         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
28663         Document problem with lint and _Noreturn.
28664         * lib/diffseq.h (IF_LINT, IF_LINT2):
28665         * lib/fts.c (sccsid):
28666         * lib/getndelim2.c (IF_LINT):
28667         * lib/gl_anylinked_list2.h (gl_linked_iterator)
28668         (gl_linked_iterator_from_to):
28669         * lib/gl_anytree_list2.h (gl_tree_iterator)
28670         (gl_tree_iterator_from_to):
28671         * lib/gl_anytree_oset.h (gl_tree_iterator):
28672         * lib/gl_array_list.c (gl_array_iterator)
28673         (gl_array_iterator_from_to):
28674         * lib/gl_array_oset.c (gl_array_iterator):
28675         * lib/gl_carray_list.c (gl_carray_iterator)
28676         (gl_carray_iterator_from_to):
28677         * lib/idcache.c:
28678         * lib/inet_ntop.c (IF_LINT):
28679         * lib/regcomp.c (build_charclass_op, create_tree):
28680         * lib/regex_internal.c (re_acquire_state)
28681         (re_acquire_state_context):
28682         * lib/trigl.c (rcsid):
28683         * lib/trim.c (IF_LINT):
28684         * lib/vasnprintf.c (IF_LINT):
28685         * lib/verify.h (assume):
28686         Treat GCC_LINT like lint.
28688 2016-05-29  Bruno Haible  <bruno@clisp.org>
28690         secure_getenv: Port to many more platforms.
28691         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
28692         functions.
28693         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
28694         for non-BSD Unix platforms and for native Windows.
28695         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
28696         Prompted by a request from Nikos Mavrogiannopoulos.
28698 2016-05-27  Eric Blake  <eblake@redhat.com>
28700         canonicalize: Fix broken probe for realpath.
28701         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
28702         in logic introduced in 54615b95.
28704 2016-05-26  Eric Blake  <eblake@redhat.com>
28706         unsetenv: relax to LGPLv2+
28707         * modules/unsetenv (License): Match setenv license.
28709 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
28711         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
28712         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
28713         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
28714         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
28715         (commonarg, dirargs, dirs, infoarg, generate_ascii)
28716         (generate_html, generate_info, generate_tex, outdir)
28717         (source_extra, split, srcfile, texarg): Move above 'version'.
28718         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
28720 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28722         manywarnings: update for GCC 6.1
28723         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
28724         Add GCC 6.1 options that apply to C.
28725         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
28726         do not apply to C, are obsolescent, etc.
28728 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
28730         glob: size_t overflow checks
28731         * lib/glob.c (__has_builtin): New macro.
28732         (size_add_wrapv, glob_use_alloca): New static functions.
28733         (glob, glob_in_dir): Check for size_t overflow in several places,
28734         and fix some size_t checks that were not quite right.
28736         glob: don't assume INT_MAX < SIZE_MAX
28737         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
28738         latter is not portable to (probably theoretical) hosts where
28739         SIZE_MAX <= INT_MAX.
28741 2016-05-09  Bruno Haible  <bruno@clisp.org>
28743         Fix undefined behaviour in gettext.h.
28744         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
28745         pointer's value after the storage it points to has been freed.
28746         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
28747         Spotted by Coverity.
28749 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
28751         git-version-gen: avoid undefined shift
28752         Problem reported by Mosè Giordano in:
28753         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
28754         * build-aux/git-version-gen: Avoid undefined behavior if invoked
28755         with --prefix or --fallback but without a later argument.  While
28756         we're at it, omit unnecessary quotes.
28758 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
28760         glob: merge glibc changes into lib/glob.c
28761         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
28762         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
28763         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
28764           struct dirent [BZ #19779]
28765         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
28766           callback gl_readdir
28767         2015-10-20 Convert miscellaneous function definitions to prototype style
28768         2015-10-20 Convert 113 more function definitions to prototype style
28769           (files with assertions)
28770         2015-06-12 Fix getlogin_r namespace (bug 18527).
28771         2014-02-10 Use glibc_likely instead __builtin_expect.
28772         2013-10-20 When glob pattern contains a trailing slash match only
28773           directories. Fixes bug 10278.
28774         2013-09-04 glob: silence -Wattribute warnings
28775         2013-06-07 Avoid use of "register" as optimization hint.
28776         2012-09-25 Use size_t instead of int for internal variables in glob
28777           (bug 14621)
28778         2011-07-20 Check for overflows in expressions
28779         2011-05-28 Remove unused variable
28780         2011-05-22 Add a few more alloca size checks
28781         2010-03-27 Whitespace fixes
28782         2010-03-27 Fix one more issue with the glob patch
28783         2010-03-24 Fix glob with empty pattern
28784         2008-05-27 Remove useless more "if" tests before "free"
28785         * modules/glob (Depends-on): Add stdint.
28787 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
28789         mktime: port to stricter signed overflow checking
28790         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
28791         (long_int): Require width for INT_MAX * 3 * (seconds per year),
28792         instead of merely for INT_MAX * 2.  In practice platforms that
28793         do the latter also do the former.
28794         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
28795         (shr): New static function, replacing SHR.  All uses changed.
28796         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
28797         and TIME_T_MAX.  All uses changed.
28798         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
28799         Use long_int, not time_t.
28800         (long_int_avg): New static function, replacing time_t_avg.
28801         All uses changed.  Round toward positive infinity, as that
28802         generates slightly better code.
28803         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
28804         by INT_ADD_WRAPV.
28805         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
28806         (convert_time): New static function.
28807         (ranged_convert): Use it
28808         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
28809         Use simpler test for loop exit.
28810         (__mktime_internal): Store negative of guessed offset, to simplify
28811         overflow checking.  Remove no-longer-needed test for small time_t
28812         overflows.
28814         mktime: speed up DEBUG_MKTIME benchmarks
28815         Call tzset just once, at the start, rather than for every test
28816         case.  This lets us measure the CPU cost of mktime as opposed to
28817         that of tzset.  This is relevant when TZ is not set and glibc is
28818         being used.  This speeds up tests by a factor of 40 on my Fedora
28819         23 x86-64 platform.
28820         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
28821         to call tzset and as a sanity check.  Later on, use localtime_r
28822         instead of localtime.
28824         mktime: resurrect DEBUG_MKTIME testing
28825         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
28826         Include <string.h>, for strcmp.
28828         mktime: simplify DEBUG_MKTIME
28829         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
28830         Simplify later usage accordingly.
28832         Port mktime_internal offset to unsigned time_t
28833         This avoids some assumptions about wraparound arithmetic on
28834         signed integer overflow.
28835         * lib/mktime-internal.h (mktime_offset_t): New type.
28836         (mktime_internal): Use it in decl.
28837         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
28839         * lib/mktime.c (__mktime_internal, localtime_offset):
28840         * lib/timegm.c (timegm): Use it.
28841         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
28842         (gl_FUNC_MKTIME): Require it.
28844 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
28846         xstrtol: prohibit monstrosities like "1bB"
28847         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
28848         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
28849         "B" only if the first suffix needs a base.
28850         * tests/test-xstrtol.sh: Test this.
28852 2016-04-21  Pádraig Brady  <P@draigBrady.com>
28854         xstrtod: reinstate setting of *result upon ERANGE
28855         * lib/xstrtod.c (XSTRTOD): The user may decide to use
28856         the returned limits upon ERANGE, so allow and document that.
28858 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
28860         xstrtod: modify *result only if no errors
28861         * lib/xstrtod.c (XSTRTOD).
28863 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28865         btowc: document problems in C locale
28866         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
28867         with mbrtowc.  See: http://bugs.gnu.org/23269#32
28869 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
28871         mktime: improve integer overflow checking
28872         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
28873         (WRAPV): Remove; no longer needed.
28874         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
28875         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
28876         Remove.  Use intprops.h defns instead.
28877         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
28878         Use bool for Boolean, for clarity.
28879         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
28880         detect integer overflow.
28881         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
28883         intprops: check two's complement assumption
28884         Suggested by Eric Blake in:
28885         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
28886         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
28887         short, int, long, and (if available) long long are two's complement.
28888         * modules/intprops (Depends-on): Add 'verify'.
28890         intprops, mktime, strtol: assume two's complement
28891         These macros were not portable to every conforming C11 ones'
28892         complement platform.  It's not worth the hassle of porting to some
28893         platforms that use ones' complement or signed magnitude, as such
28894         platforms are almost purely theoretical nowadays and porting even
28895         to some of them makes the code harder to review for little
28896         practical benefit.  Problem reported by Florian Weimer in:
28897         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
28898         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28899         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
28900         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
28901         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28902         (TYPE_SIGNED_MAGNITUDE):
28903         Remove.  All uses rewritten to assume two's complement, which is
28904         all we can reasonably test nowadays anyway.
28905         * top/maint.mk (_intprops_names): Remove the removed macros.
28907 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28909         stdint: port to strict C11 left shift
28910         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
28911         Pacify clang -Wshift-negative-value, which should be an issue only
28912         on clang setups where stdint.h does not conform to C11 or to C++11.
28913         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
28915 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
28917         mbrtowc: work around glibc bug#19932
28918         Fix mbrtowc so that it never returns -1 in the C locale,
28919         as this conflicts with a future version of POSIX
28920         http://austingroupbugs.net/view.php?id=663#c2738
28921         and causes problems with GNU grep: http://bugs.gnu.org/23234
28922         See glibc bug 19932:
28923         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
28924         * doc/posix-functions/mbrlen.texi (mbrlen):
28925         * doc/posix-functions/mbrtowc.texi (mbrtowc):
28926         Document the glibc bug.
28927         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
28928         Include hard-locale.h, locale.h.
28929         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
28930         if the bug is possible.
28931         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
28932         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
28933         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
28934         * modules/mbrtowc (Depends-on): Add hard-locale.
28935         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
28936         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
28937         * tests/test-mbrtowc5.sh: New file.
28939 2016-04-03  Pedro Alves  <palves@redhat.com>
28941         stdint: detect good enough pre-C++11 stdint.h in C++ mode
28942         When gnulib is configured in C++ mode for a system with a working C99
28943         implementation of stdint.h that predates C++11, gnulib ends up
28944         substituting stdint.h anyway.  This works on most targets, but on e.g.,
28945         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
28946         MinGW is LLP64.  Instead of trying to detect the right types, detect
28947         good-enough-pre-C++11 stdint.h and in such case define
28948         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
28949         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
28950         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
28951         conforms to C99.  If it does, check whether it hides symbols
28952         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
28953         does, define those macros in config.h.
28955 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28957         argp: merge changes from glibc
28958         Among other things, this should fix problems found by a Coverity
28959         scan and reported by Andrei Borzenkov:
28960         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
28961         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
28962         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
28963         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
28964         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
28965         * lib/argp.h:
28966         Merge changes from glibc.
28967         * tests/test-argp-2.sh: Adjust to match new behavior.
28969 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
28971         stddef: support configuring with g++
28972         Problem reported by Ángel González in:
28973         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
28974         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
28975         Do not define if _GCC_MAX_ALIGN_T is defined.
28977 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28979         test-framework-sh: minor cleanups
28980         * tests/init.sh (testdir_prefix_): Output a trailing newline,
28981         since strictly speaking POSIX requires this.
28982         (setup_): Do not use the variable 'fail', as that makes the
28983         trace output harder to read ('fail' is typically used by
28984         tests to mean the test failed).  Treat // portably.
28985         Check that new directory is not merely a sibling of the tmp dir.
28986         Avoid unnecessary invocation of tr.
28988         test-framework-sh: revert port to NetBSD 7.0
28989         It was a false alarm; I misinterpreted Assaf Gordon's report.
28990         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28991         Restore.
28992         (test_dir_): Adjust to mktempd_ change.
28993         (mktempd_): Restore 2nd arg.  Use -t again.
28994         (base_template_, template_, nx_): Resurrect old code.
28996         Port better to Alpine Linux
28997         Its diff implementation does not support -c, but does support -U3.
28998         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28999         * tests/init.sh (diff_opt_): New var.
29000         (compare_): Prefer diff -U3 to diff -c to plain diff.
29002 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
29004         test-framework-sh: port to NetBSD 7.0
29005         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
29006         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
29007         Remove.  All uses removed.
29008         (test_dir_): Adjust to mktempd_ change.
29009         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
29010         (base_template_, template_, nx_): Simplify by hardcoding.
29012 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
29014         gitlog-to-changelog: suppress ignored chatter
29015         * build-aux/gitlog-to-changelog: Do not warn about skipping
29016         an SHA if it would have been ignored anyway.
29018 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
29020         setlocale: add "sv" to Windows language table
29021         * lib/setlocale.c (language_table) [W32]: Add "sv".
29022         Reported in <https://savannah.gnu.org/bugs/?44588>.
29024 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
29026         sys_select: port to new Cygwin
29027         Problem reported by Ken Brown in:
29028         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
29029         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
29030         diagnostics.
29032 2016-03-17  Jim Meyering  <meyering@fb.com>
29034         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
29035         * tests/test-userspec.c (main): Remove unnecessary braces and fix
29036         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
29037           test-userspec.c:176:9: error: statement is indented as if it were \
29038             guarded by... [-Werror=misleading-indentation]
29039                    {
29040                    ^
29041           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
29042                  if (!diag && !T[i].result)
29043                  ^~
29045 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
29047         time_rz: port to clang -Wunused-const-variable
29048         * lib/time_rz.c (TZ): Remove.  All uses removed.
29050         std-gnu11: improve clang support
29051         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
29052         2016-03-15 Also try clang
29053         2016-03-15 Port C11 and C++11 testing to clang
29055         select: port more to Intel 2016.1.150 compiler
29056         Problem reported by Balázs Hajgató in:
29057         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
29058         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
29060 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
29062         select: try to port to 2016.1.150 compiler
29063         Problem reported by Balázs Hajgató in:
29064         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
29065         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
29066         POSIX specifies 'restrict'.
29068 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
29070         localename-tests: memory allocation fixes
29071         * tests/test-localename.c (test_locale_name)
29072         (test_locale_name_thread): Don't call freelocale on a locale
29073         that was the base of a successful newlocale, as that
29074         results in a double free.  Problem reported by Assaf Gordon.
29075         (test_locale_name_thread): Free saved names after use, to pacify
29076         gcc -fsanitize=address.
29078 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
29080         intprops: make .h file license match module
29081         * lib/intprops.h: Change the license wording to match glibc format.
29082         This is what is in modules/intprops anyway.  See:
29083         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
29085 2016-03-08  Eric Blake  <eblake@redhat.com>
29087         acl: fix missing return on Cygwin
29088         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
29089         fall off end of function. Fixes http://bugs.gnu.org/22949
29091 2016-03-05  Bruno Haible  <bruno@clisp.org>
29093         extern-inline: port to PGI CC
29094         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
29095         keyword 'inline'.
29096         Reported by Adam James Stewart in:
29097         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
29099 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29101         signbit: port back to pre-C++11 GCC
29102         * lib/math.in.h (signbit): Do previous change only if
29103         __cplusplus < 201103.  See Jonathan Wakely in:
29104         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
29106 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
29108         mountlist: recognize autofs-mounted remote file systems, too
29109         Originally reported at: https://bugzilla.redhat.com/1309247
29110         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
29111         "-hosts" because it is used by autofs to mount remote file systems.
29113 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29115         signbit: port to C++ with GCC 6
29116         * lib/math.in.h (signbit) [__cplusplus]:
29117         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
29118         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
29120         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
29122         regex: make it closer to libc
29123         Make Idx a signed type, rather than possibly unsigned.
29124         The unsignedness was not really buying us anything, since the code
29125         overflows for other reasons before getting to PTRDIFF_MAX.  Making
29126         it signed allows us to use -1 and -2 with abandon, like libc does,
29127         thus lessening the number of differences between gnulib and libc.
29128         Also, it should help avoid gratuitous warnings like the one
29129         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
29130         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
29133         regex: merge patches from libc
29135         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
29136         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
29137         Convert miscellaneous function definitions to prototype style.
29138         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
29139         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
29140         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
29141         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
29142         (re_search_internal):
29143         Convert to prototype-style function definition.
29144         Use internal_function for internal functions.
29146 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
29148         stdalign: port to older HP and IBM cc
29149         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
29150         C compilers, by checking their version numbers.  These version
29151         numbers appear in MariaDB and in Qt code that dates way back and
29152         that conditiionally uses the 'aligned' attribute.
29154 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
29156         stdalign: port to clang 3.7.0
29157         Problem reported by Herbert J. Skuhra in:
29158         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
29159         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
29160         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
29161         https://llvm.org/bugs/show_bug.cgi?id=26547
29163 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
29165         readdir_r: now obsolescent
29166         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
29167         * lib/mountlist.c (read_file_system_list): Add a FIXME.
29169 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
29171         misc: port better to gcc -fsanitize=address
29172         Without these patches, ./configure CFLAGS='-fsanitize=address'
29173         would compute incorrect values.  This patch fixes some (but not all)
29174         test failures with recent glibc, with this configuration.
29175         * m4/acl.m4 (gl_ACL_GET_FILE):
29176         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
29177         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
29178         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
29179         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
29180         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
29181         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
29182         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
29183         * m4/getline.m4 (gl_FUNC_GETLINE):
29184         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
29185         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
29186         * m4/regex.m4 (gl_REGEX):
29187         * m4/strndup.m4 (gl_FUNC_STRNDUP):
29188         * tests/test-calloc-gnu.c (main):
29189         * tests/test-duplocale.c (main):
29190         * tests/test-getgroups.c (main):
29191         * tests/test-getline.c (main):
29192         * tests/test-inttostr.c (main):
29193         * tests/test-localename.c (test_locale_name)
29194         (test_locale_name_thread, test_locale_name_environ)
29195         (test_locale_name_default):
29196         * tests/test-regex.c (main):
29197         * tests/test-setlocale1.c (main):
29198         * tests/test-stat.h (test_stat_func):
29199         Free heap-allocated storage before exiting.
29200         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
29201         Don't match *_foo symbols inserted by AddressSanitizer.
29202         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
29204 2016-02-02  Jim Meyering  <meyering@fb.com>
29206         verify-tests: also remove stray test-verify.Tpo
29207         * modules/verify-tests (Makefile.am): Arrange for "make clean"
29208         to remove the test-verify.Tpo file that is left behind by
29209         the automake-generated rule upon compilation failure.
29210         Otherwise, that .Tpo file would cause a failed "make distcheck"
29211         at least for grep.
29213 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
29215         std-gnu11: new module
29216         This makes it easier for applications to prefer C11 and C++11
29217         to older variants, when compiling C and C++ code.
29218         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
29219         a nontrivial chunk of GPLed Autoconf source code.
29220         * COPYING: Mention the m4/*.m4 copyright situation.
29221         * MODULES.html.sh (std-gnu11): New module.
29222         * m4/std-gnu11.m4, modules/std-gnu11: New files.
29224 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
29226         get-permissions, strftime: fix grammar in comments
29227         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
29228         some grammar fixes Alan Mackenzie made to GNU Emacs.
29230 2016-01-25  Daiki Ueno  <ueno@gnu.org>
29232         gettext: mark as obsolete
29233         Suggested by Paul Eggert in:
29234         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
29235         * modules/gettext (Status): Mark as obsolete.
29236         (Notice): Suggest to use 'gettext-h' instead.
29237         * modules/gettext-h (Description): Suggest GNU gettext, instead of
29238         the 'gettext' module.
29240 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29242         gnulib-tool: don't give up on ln -s so easily
29243         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
29244         because an earlier one failed.  The targets could be on different
29245         file systems.  Problem reported by KO Myung-Hun in:
29246         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
29248         closedir: fix OS/2-related typos
29249         Problem reported by KO Myung-Hun in:
29250         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
29251         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
29252         in the last couple of changes.
29254 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
29256         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
29257         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
29258         copying a directory.
29260 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29262         regex: treat [x] as x if x is a unibyte encoding error
29263         Problem reported by Aharon Robbins in:
29264         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
29265         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
29266         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
29268         closedir, dirfd, opendir: port to OpenSolaris 5.10
29269         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
29270         * m4/dirfd.m4 (gl_FUNC_DIRFD):
29271         * m4/opendir.m4 (gl_FUNC_OPENDIR):
29272         Don't use ${word##pat} substitution, as it doesn't work in
29273         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
29274         http://bugs.gnu.org/22443#11
29276 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29278         bootstrap: use American spelling
29279         * build-aux/bootstrap: Honor American spelling.
29281 2016-01-22  Karl Berry  <karl@freefriends.org>
29283         * doc/posix-functions/localtime.texi,
29284         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
29286 2016-01-21  Bruno Haible  <bruno@clisp.org>
29288         hash-pjw-bare: fix comment
29289         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
29291         wcwidth: Replace also on OpenBSD 5.8
29292         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
29293         * doc/posix-functions/wcwidth.texi: Update.
29295 2016-01-20  Pádraig Brady  <P@draigBrady.com>
29297         gnu-web-doc-update: fix addition of new files
29298         If there were already added (emnpty) dirs,
29299         then cvs aborts the add with the message:
29300           cvs [add aborted]: there is a version in <./dirname> already
29301         * build-aux/gnu-web-doc-update: Add directories separately
29302         to the addition of files, to avoid the above issue
29303         impacting the addition of files.
29305 2016-01-19  Daiki Ueno  <ueno@gnu.org>
29307         utimens-tests: avoid pulling gettext .m4 files
29308         Although this is not the right fix to the original problem:
29309         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
29310         it makes it possible again for consumer projects to use arbitrary
29311         version of gettext, through the steps described at:
29312         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
29313         See here for details:
29314         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
29315         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
29316         'gettext'.
29317         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
29318         'gettext'.
29320 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
29322         regex: pacify static checkers
29323         Problem and draft fix reported by Aharon Robbins in:
29324         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29325         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
29326         Clear memory to pacify static checkers.
29328         regex: fix [ diagnostic
29329         Problem and fix reported by Aharon Robbins in:
29330         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29331         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
29333         regex: fix memory leaks
29334         Problem and draft fix reported by Aharon Robbins in:
29335         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29336         * lib/regcomp.c (build_range_exp, build_charclass_op)
29337         * lib/regex_internal.c (re_dfa_add_node):
29338         Fix memory leak on failure.
29340 2016-01-18  Pádraig Brady  <P@draigBrady.com>
29342         fts: don't unconditionally use leaf optimization for NFS
29343         NFS st_nlink are not accurate on all implementations,
29344         leading to aborts() if that assumption is made.
29345         See <https://bugzilla.redhat.com/1299169>
29346         * lib/fts.c (leaf_optimization_applies): Remove NFS from
29347         the white list, and document the issue.
29349 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29350             KO Myung-Hun  <komh@chollian.net>
29352         gnulib-tool: don't assume ln -s works
29353         * gnulib-tool (func_ln_s): New function.
29354         (func_ln): Use it.
29356 2016-01-15  KO Myung-Hun  <komh@chollian.net>
29358         utimes: detect utimes() correctly on OS/2 kLIBC
29359         utimes() of OS/2 kLIBC has some limitations.
29360         1. OS/2 itself supports a file date since 1980 year in local time.
29361         2. OS/2 itself supports only even seconds for a file time.
29362         3. utimes() of OS/2 kLIBC does not work on an opened file.
29363         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
29364         * doc/posix-functions/utimes.texi: Document the above limitations of
29365         utimes() on OS/2 kLIBC.
29367 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29368             KO Myung-Hun  <komh@chollian.net>
29370         openat_proc_name: port to OS/2 kLIBC
29371         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
29372         instead of /proc/self/fd.
29373         * lib/openat-proc.c (openat_proc_name):
29374         Don't assume file name length is less than INT_MAX.
29375         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
29377 2016-01-14  KO Myung-Hun  <komh@chollian.net>
29379         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
29380         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
29381         definitions of intptr_t and uintptr_t (which use int and unsigned)
29382         to avoid clashes with declarations of system functions like sbrk.
29383         * lib/stdint.in.h (intptr_t, uintptr_t): Check
29384         _INTPTR_T_DECLARED before defining them.
29386         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
29387         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
29388         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
29389         Declare on kLIBC.
29390         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
29391         fd associated with dirp.
29392         (_gl_register_dirp_fd): New. Register fd associated with dirp to
29393         dirp_fd_list.
29394         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
29395         (dirfd): Implemented for kLIBC.
29396         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
29397         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
29398         succeeds.
29399         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
29400         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29401         (REPLACE_DIRFD): Define to 1 if replaced.
29402         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
29403         * modules/closedir (Depends-on): Add dirfd.
29404         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
29405         condition.
29406         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
29407         * modules/opendir (Depends-on): Add dirfd.
29409         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
29410         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
29411         * lib/dup.c (dup_nothrow): New.
29412         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
29413         (klibc_dup2): New.
29414         * lib/fcntl.c (klibc_fcntl): New.
29415         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
29416         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
29417         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
29418         fd.
29420         pipe_filter_ii_execute: port to OS/2 kLIBC
29421         Pipes on kLIBC do not support O_NONBLOCK like Win32.
29422         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
29423         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
29424         Reuse Win32 code on OS/2 kLIBC.
29425         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
29426         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
29428         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
29429         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
29430         static inline function.  The implementation of wcwidth in wcwidth.c
29431         causes a "conflicting types" error.
29432         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
29434         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
29435         spawn() on OS/2 kLIBC is not silly like one on Windows
29436         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
29437         empty string on OS/2 kLIBC.
29439         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
29440         On OS/2 kLIBC, select() works only on sockets.
29441         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
29443         binary-io: don't put fd in binary mode if it is a console on EMX
29444         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
29445         a console on EMX.
29447 2016-01-15  Pádraig Brady  <P@draigBrady.com>
29449         doc: mention unfixed issues with unsupported localtime() values
29450         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
29451         returns nonsense for localtime(2^56).
29452         * doc/posix-functions/localtime_r.texi: Likewise.
29454 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29456         doc: mention setlocale() issues on OpenBSD
29457         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
29458         never fails, and the need to check categories individually.
29460 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29462         sig2str: list all signals on FreeBSD >= 7
29463         FreeBSD >= 7 is contravening POSIX by not defining NSIG
29464         to the maximal statically defined signal value.
29465         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
29466         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
29467         where available, even when NSIG is defined.
29469 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29471         acl-permissions: port to USE_ACL==0 platforms
29472         I ran into this problem when building bleeding-edge GNU Emacs
29473         with gcc -fsanitize=address on Fedora 23.  On this platform
29474         the ACL library does not pass the 'configure' test and Emacs
29475         then does not build due in part to what appear to be typos in the
29476         ACL part of Gnulib.
29477         * lib/acl-internal.c (free_permission_context):
29478         * lib/acl-internal.h (struct permission_context):
29479         Test whether USE_ACL is nonzero, not whether it is defined.
29481 2016-01-12  Martin Sebor  <msebor@redhat.com>
29483         mktime: rename macro to avoid glibc clash
29484         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
29485         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
29487 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29489         Port "$@" to OpenIndiana ksh93
29490         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
29491         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
29492         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
29493         bug long-dead shells, so remove the workaround.
29494         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
29495         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29496         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
29497         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
29498         Use "$@" instead of ${1+"$@"}.
29500         Port Universal Time settings to strict POSIX
29501         * build-aux/announce-gen, build-aux/bootstrap:
29502         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
29503         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29504         * build-aux/gnupload, build-aux/mkinstalldirs:
29505         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
29506         * build-aux/update-copyright, build-aux/useless-if-before-free:
29507         * build-aux/vc-list-files, tests/test-strftime.c:
29508         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
29509         but POSIX says the behavior of TZ="UTC" is undefined.
29511 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
29513         msvc-inval: fix problem with unset shell var
29514         Problem reported by Karl Berry in:
29515         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
29516         * modules/msvc-inval (Depends-on):
29517         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
29518         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
29520 2016-01-01  Pádraig Brady  <P@draigBrady.com>
29522         tests: for compare_(), use cmp -s where available
29523         * tests/init.sh (compare_): Only fall back to cmp without
29524         the POSIX defined -s option, where this is not available.
29526 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29528         version-etc: new year
29529         * build-aux/gendocs.sh (version):
29530         * doc/gendocs_template:
29531         * doc/gendocs_template_min:
29532         * doc/gnulib.texi:
29533         * lib/version-etc.c (COPYRIGHT_YEAR):
29534         Update copyright dates by hand in templates and the like.
29535         * all files: Run 'make update-copyright'.
29537 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
29539         human: fix output buffer overrun by 1
29540         * lib/human.c (human_readable): Fix off-by-one typo in buffer
29541         calculation that could lead to a one-byte buffer overrun.
29543 2015-12-28  Daiki Ueno  <ueno@gnu.org>
29545         maint: fix operator precedence in mbrtowc test
29546         This is a fix for test breakage introduced by commit 45228d96; the
29547         equality expression must be parenthesized when negated with '!',
29548         otherwise we always get:
29550           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
29552         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
29553         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29555 2015-12-23  James Youngman  <jay@gnu.org>
29557         regexprops-generic: update from regex.h
29558         * doc/regexprops-generic.texi: update by running the regexprops binary
29559         from findutils (the command line is 'regexprops "Regular Expressions"
29560         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
29561         gnulib with GNU grep had made this document out-of-date.
29563 2015-12-23  Pádraig Brady  <P@draigBrady.com>
29565         strftime-tests: avoid false failure on OS X
29566         * tests/test-strftime.c (struct localtime_rz_test): Add an
29567         ahistorical member which is used to warn rather than fail
29568         when tm_isdst isn't set for such entries.  This is the case for
29569         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
29571 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
29573         fts: ensure leaf optimization is used for NFS
29574         NFS provides usable dirent.d_type but not necessarily for all entries
29575         of large directories.  See <https://bugzilla.redhat.com/1252549>
29576         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
29578 2015-12-20  Pádraig Brady  <P@draigBrady.com>
29580         fts: enable leaf optimization for XFS
29581         XFS provides usable dirent.d_type only for DT_DIR,
29582         but the noleaf optimization still applies.
29583         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
29585 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
29587         intprops: comment fix
29588         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
29589         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
29591         intprops-test: work around GCC bug 68971
29592         Problem reported by Pádraig Brady in:
29593         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
29594         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
29595         (main): Add a case that better tests 64-bit long in this area.
29597 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
29599         gnulib-tool: allow multiple --local-dir usage
29600         * gnulib-tool: Use --local-dir to construct compound
29601         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
29602         PATH_SEPARATOR early.
29603         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
29604         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
29605         func_determine_path_separator because that needs to be detected
29606         earlier now.
29607         (func_determine_path_separator): New function.
29608         (func_path_foreach, func_path_foreach_inner): New functions.
29609         (func_path_prepend, func_path_append): Likewise.
29610         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
29611         (func_lookup_file, func_all_modules): Use new functions to work
29612         with local_gnulib_path.
29613         (func_modules_in_dir, func_exists_module): New callbacks for
29614         func_path_foreach.
29615         (func_exists_module, func_get_tests_module): Likewise.
29616         (func_is_local_file, func_should_symlink): New helper methods.
29617         (func_add_file, func_update_file): Use new func_should_symlink
29618         instead, DRY.
29619         (func_reconstruct_cached_local_gnulib_path): New helper.
29620         (func_reconstruct_cached_dir): New callback.
29621         (func_import): The cached_local_gnulib_dir renamed to
29622         cached_local_gnulib_path similarly to local_gnulib_dir.
29623         Use new func_reconstruct_cached_local_gnulib_path.
29624         (func_count_relative_local_gnulib_path): New sub-method.
29625         (func_create_testdir): Use func_should_symlink, DRY.
29626         (func_create_megatestdir): Use new functions to work with
29627         local_gnulib_path correctly.
29628         (func_append_local_dir): New helper.
29630 2015-12-08  Pádraig Brady  <P@draigBrady.com>
29632         fix freadptr to work with ungetc on all uClibc configs
29633         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
29634         where GNU coreutils cut(1) generates invalid output on uClibc
29635         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
29636         * lib/freadptr.c (freadptr): Return NULL if there are
29637         ungotten chars.  In this case freadseek() will iterate
29638         again to process the ungotten character.
29640 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
29642         xalloc-oversized: improve performance with GCC 5
29643         * lib/xalloc-oversized.h (xalloc_oversized):
29644         Improve performance with GCC 5 by using __builtin_mul_overflow.
29646 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
29648         intprops: new public macro EXPR_SIGNED
29649         Emacs can use this macro, so make it public.
29650         * doc/intprops.texi (Arithmetic Type Properties): Rename from
29651         'Integer Type Determination', since some of these macros apply
29652         to non-integer types.  Clarify what kinds of constant expressions
29653         these macros return.  Say when the arguments can be non-integers.
29654         Mention newly published macro EXPR_SIGNED.
29655         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
29656         make it public.  All uses changed.
29658         intprops: fix typo in clang port
29659         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
29660         '__builtin_add_overflow' that is not caught by compiler.
29662 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
29664         test-timespec: fix typo in previous change
29665         * tests/test-timespec.c (main): Fix typo that reduced test quality.
29667         timespec-sub: fix overflow bug; add tests
29668         * lib/timespec-add.c (timespec_add):
29669         * lib/timespec-sub.c (timespec_sub):
29670         Work even if time_t is narrower than int (a theoretical
29671         possibility).  Redo code for a bit more clarity.
29672         * lib/timespec-sub.c (timespec_sub):
29673         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
29674         * modules/timespec-tests, tests/test-timespec.c: New files.
29676         intprops-test: suppress -Woverlength-strings
29677         Problem reported by Pádraig Brady in:
29678         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
29679         It is not worth the hassle to port this test to compilers that
29680         cannot handle long strings in diagnostics.
29681         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
29683 2015-11-03  Pádraig Brady  <P@draigBrady.com>
29685         quotearg: add quotearg_n_style_colon()
29686         This quotes with default options of the specified style,
29687         but with quoting enabled for instances of ':'.
29688         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
29689         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
29691 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
29693         intprops: revise _WRAPV macros, revert _OVERFLOW
29694         The incompatible changes to the _OVERFLOW macros were too much of
29695         a hassle in practice, so revert them.  Instead, change the new
29696         _WRAPV macros to make them closer in behavior to GCC 5's new
29697         builtin_add_overflow etc. functions.  No other software was using
29698         these newly-added macros yet, so this should be OK.
29699         * NEWS: Revert previous change, since the incompatible change
29700         has been reverted, and nobody used the incompatible version.
29701         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
29702         Document revised behavior.
29703         (Integer Range Overflow): Adjust example to match above revisions.
29704         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
29705         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
29706         these can be used in integer constant expressions again.
29707         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
29708         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
29709         needed.
29710         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29711         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29712         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
29713         Remove, as they did not seem that useful.
29714         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
29715         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
29716         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
29717         Support new semantics.
29718         (__has_builtin): New macro, if not alreay defined.
29719         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
29720         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29721         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29722         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29723         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
29724         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
29725         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
29726         New macros.
29727         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
29729 2015-11-03  Jim Meyering  <meyering@fb.com>
29731         intprops: add parentheses for when OP has precedence lower than "-"
29732         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
29733         "a OP b" must be parenthesized for when OP is like "<<", which has
29734         lower precedence than the following "-". Reported by Pádraig Brady.
29736 2015-11-03  Pádraig Brady  <P@draigBrady.com>
29738         quotearg: constify get_quoting_style parameters
29739         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
29740         * lib/quotearg.c (get_quoting_style): Likewise.
29742 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29744         quotearg: add support for $'' shell escaping
29745         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
29746         items and descriptions.
29747         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
29748         above types by quoting like "shell", but using $'...' syntax
29749         for non printable characters, which should provide unambiguous
29750         printable output for any input.
29751         * tests/test-quotearg-simple.c: Update accordingly.
29753 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29755         maint: use a more standard return from mbrtowc test
29756         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
29757         from the test program as this is non standard and often
29758         indicates an unhandled case in the test program.
29759         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29761 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
29763         intprops: add WRAPV and const flavors for GCC 5
29764         If available, use GCC 5's builtin functions for efficient integer
29765         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
29766         and safely compute the low-order bits of the correct answer.
29767         A downside of these efficient functions is that they cannot be
29768         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
29769         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
29770         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
29771         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
29772         Document the changes.
29773         (Wraparound Arithmetic): New section.
29774         (Integer Range Overflow):
29775         Put this subsection last, since it's least useful.
29776         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
29777         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
29778         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
29779         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29780         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29781         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
29782         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
29783         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
29784         New macros.
29785         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
29786         Generate calls to GCC builtins if available, for speed.
29787         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29788         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29789         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29790         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
29791         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
29792         (CHECK_QUOTIENT, CHECK_REMAINDER):
29793         Test WRAPV and CONST flavors (when available) too.
29795 2015-10-30  Pádraig Brady  <P@draigBrady.com>
29797         doc: use extended timezone format in iso-8601 example
29798         * doc/parse-datetime.texi: The standard states that extended format
29799         is to be used consistently throughout.
29800         Note that lib/parse-datetime.y can handle either tz format.
29802 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
29804         stdalign: port to Sun C 5.9
29805         * doc/posix-headers/stdalign.texi: Document this.
29806         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
29807         __attribute__ ((__aligned__ (...))).
29809 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
29811         time_rz: fix comment about tzalloc
29812         * lib/time_rz.c (tzalloc): Fix comment.
29814 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29816         stdalign: work around pre-4.9 GCC x86 bug
29817         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
29818         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
29819         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
29821 2015-10-18  Pádraig Brady  <P@draigBrady.com>
29823         maint.mk: sc_tight_scope: remove extraneous expressions
29824         * top/maint.mk (tight_scope): This is not really required since
29825         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
29826         that matches all nm entries.  But it does remove extraneous entries
29827         that may be confusing or cause issue in future maintenance.
29829 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29831         time_rz: return NULL if localtime_r fails
29832         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
29833         while still attempting to pacify bleeding-edge GCC.
29835         fts: port to C11 alignof
29836         * doc/posix-headers/stdalign.texi (stdalign.h):
29837         Document the C11 restriction.
29838         * lib/fts.c: Include stddef.h, for max_align_t.
29839         (fts_alloc): Align using max_align_t, not FTSENT.
29840         * modules/fts (Depends-on): Add stddef.
29842 2015-10-18  Jim Meyering  <meyering@fb.com>
29844         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
29845         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
29846         would see this:
29848         lib/time_rz.c: In function 'localtime_rz':
29849         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
29850           [-Werror=nonnull]
29851                    if (tm && !save_abbr (tz, tm))
29852                        ^
29854         That was complaining about "tm" because it is a parameter that was
29855         declared with the __nonnull__ attribute.
29856         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
29857         result of localtime_r.
29859 2015-10-17  Jim Meyering  <meyering@fb.com>
29861         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
29862         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
29863         name-extraction regexp mistakenly used \S+, and would mistakenly
29864         extract "*F" from "extern int *F()" rather than the desired "F".
29865         Use \w+ instead.
29867 2015-10-17  Jim Meyering  <meyering@fb.com>
29869         maint.mk: sc_tight_scope: factor and support OS X
29870         * top/maint.mk (_gl_tight_scope): Address three issues:
29871         - factor out four instances of code that wraps a string in "^...$"
29872         - allow nm-reported symbol names to have an optional leading "_"
29873         - add "main" to the list of ignored variable names, because on os x,
29874         "main" has nm-reported type "S" in the variable-checking section.
29876 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
29878         safe-alloc-tests: fix typo in license header
29879         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
29881 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
29883         copy-file: fix mem leak in error case
29884         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
29885         upon error opening or performing I/O to the src and dest files.
29887 2015-10-15  Mike Frysinger  <vapier@chromium.org>
29889         localename: control langinfo.h inclusion
29890         This header is only used to work around buggy behavior in old
29891         versions of glibc, so do not include it all the time.  Otherwise
29892         we get build failures on systems that do not provide langinfo.h.
29893         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
29894         in the source later on.
29895         The patch was originally submitted to gettext as:
29896         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
29898 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29900         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
29901         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
29902         * lib/u64.c, lib/unistd.c:
29903         Append 'typedef int dummy;', to pacify compilers that are picky
29904         about empty translation units.
29906 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
29908         accept4-tests: fix to avoid non portable flags
29909         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
29910         as they are the only documented ones, and passing others may trigger
29911         EINVAL (seen on FreeBSD 10.1-RELEASE).
29912         * doc/glibc-functions/accept4.texi: Mention that we don't provide
29913         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
29915 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
29917         gnulib-tool: fix tests of 'extensions' module
29918         This complements f8fe25fab60e3c687a124 commit.
29919         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
29920         emitting of initial gl_EARLY macros.
29921         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
29922         replaced with func_emit_pre_early_macros call.
29924 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
29926         unicase/locale-language: fix typo in utf-8 cookie
29927         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
29928         Problem reported by Zbigniew Jędrzejewski-Szmek.
29930 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
29932         xalloc: do not worry about GCC 5 warning on 32 bit
29933         * lib/xalloc.h: Revert previous change.
29934         I found a better way to fix this in coreutils.
29936 2015-10-02  Pádraig Brady  <P@draigBrady.com>
29938         xalloc: avoid GCC 5.1 warning on 32 bit
29939         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
29940         xalloc_oversized(), which was seen to give this warning
29941         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
29942         when simplifying conditional".
29944 2015-10-02  Daiki Ueno  <ueno@gnu.org>
29946         uniname/uniname-tests: avoid compiler warnings
29947         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
29948         unused local variables.
29949         (test_alias_lookup): Fix alias name display in failure cases.
29951 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
29953         c-ctype: do not worry about EBCDIC + char signed
29954         Drop support for EBCDIC with char being signed, as this breaks too
29955         many programs.  Problem reported by Ben Pfaff in:
29956         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
29957         * lib/c-ctype.h: Verify that we are not using EBCDIC with
29958         char being signed.
29959         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
29960         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
29961         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
29962         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
29963         * tests/test-c-ctype.c (test_all):
29964         Simplify by assuming standard char values cannot be negative.
29965         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
29967 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29969         c-ctype: port better to z/OS EBCDIC
29970         Problems reported by Daniel Richard G. in:
29971         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
29972         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
29973         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
29974         (_C_CTYPE_OTHER_CNTRL): New macro.
29975         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
29976         from SCHAR_MIN, as the functions are defined only from values
29977         promoted from char or from unsigned char, not necessarily from
29978         signed char.
29980 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
29982         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
29984         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
29985         and ARFLAGS variables.  Doing this unconditionally could break
29986         later Automake's AM_PROG_AR invocation (at least it's
29987         AC_CHECK_TOOLS call to detect correct 'ar' binary).
29989         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
29990         Amsterdam Compiler Kit, so make the previous code to have effects
29991         only on ACK, and rather automatically call the Automake's
29992         AM_PROG_AR as soon as possible to decide other cases.
29994         References:
29995         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
29997         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
29998         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
29999         is possible, keep setting AR/ARFLAGS to reasonable defaults.
30000         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
30001         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
30002         'extensions' module is used.
30003         * modules/extensions (configure.ac-early): Remove as this snippet
30004         is added to gnulib-comp.m4 earlier anyway.
30006 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30008         sockets: MS Windows initalization fixes
30009         Problem reported by Test User in:
30010         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
30011         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
30012         Correct the endianness.
30013         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
30014         number mismatch, not just on <.  Cleanup before any such failure.
30016 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
30018         gc: fix detection of installed libgcrypt version
30019         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
30020         at least as recent as 1.4.4.  The previously used macro is not
30021         available now, since modules were removed in version 1.6.0.
30023 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
30025         c-ctype: rewrite to use inline functions
30026         This simplifies maintenance, since it makes for just one
30027         implementation of each function, letting the compiler have the fun
30028         of optimization.  In practice this works well nowadays with GCC.
30029         E.g., c_isascii might need only three instructions even though the
30030         source code lists every ASCII character individually in a large
30031         switch statement.
30032         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
30033         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
30034         * NEWS: Document the API change.
30035         * lib/c-ctype.c: Drastically simplify, since this now just expands
30036         inline functions.
30037         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30038         (C_CTYPE_INLINE): New macro.
30039         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
30040         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
30041         Verify that either ASCII or EBCDIC is being used.
30042         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
30043         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
30044         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
30045         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
30046         New private macros.
30047         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
30048         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
30049         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
30050         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
30051         (c_tolower, c_toupper): When converting, return the unsigned char,
30052         as that is what z/OS does.
30053         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
30054         of some c-ctype.h macros.
30055         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
30056         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
30057         c_tolower promotion to be compatible with z/OS.
30059 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
30061         gitlog-to-changelog: trim only trailing whitespaces
30062         This is fix for --format regression introduced by commit
30063         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
30064         doubled %n string) had no effect anymore.  This format
30065         specification has been used e.g. by GNU paxuitils (commit
30066         edfd8bcc3).
30068         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
30069         newlines in commmit messages.
30071 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30073         Test that c_iscntrl agrees with iscntrl, etc.
30074         Suggested by Daniel Richard G. in:
30075         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
30076         * modules/c-ctype-tests (Depends-on): Add ctype.
30077         * tests/test-c-ctype.c: Include <ctype.h>.
30078         (NCHARS): New constant.
30079         (test_agree_with_C_locale): New function.
30080         (main): Use it.
30081         (test_all): Use named constants.
30083         c-ctype: improve c_isascii testing
30084         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
30085         Add a test to count the number of ASCII characters.
30087 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30089         savewd: remove SAVEWD_CHDIR_READABLE
30090         It was problematic in the light of file systems that ignore umask.
30091         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
30092         * NEWS: Document this.
30093         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
30094         successful, -1 (setting errno) on failure, rather than something
30095         more complicated than that.
30096         * lib/mkdir-p.c (make_dir_parents):
30097         Do not use SAVEWD_CHDIR_READABLE.
30098         * lib/savewd.c (savewd_chdir):
30099         Remove support for SAVEWD_CHDIR_READABLE.
30100         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
30102         c-ctype: port better to EBCDIC
30103         Problems reported by Daniel Richard G. in
30104         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
30105         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
30106         Include "verify.h".
30107         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
30108         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
30109         Define as enum constants with value false, if not defined, so that
30110         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
30111         code more portable, as both branches of the 'if' are compiled on
30112         all platforms.
30113         (C_CTYPE_EBCDIC): New constant.
30114         Verify that the character set is either ASCII or EBCDIC.
30115         (to_char): New static function.
30116         (c_isascii, c_iscntrl):
30117         Assume standard control-character assignments for EBCDIC.
30118         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
30119         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
30120         Rewrite to use 'if' instead of 'ifdef'.
30121         Use to_char if non-ASCII.  Prefer <= to >=.
30122         Prefer true and false to 1 and 0, for booleans.
30123         (c_iscntrl): Use 'if', not 'ifdef'.
30124         * modules/c-ctype (Depends-on): Add verify.
30125         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
30126         (to_char): New function.
30127         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
30129 2015-09-21  Pádraig Brady  <P@draigBrady.com>
30131         nanosleep: fix return code for interrupted replacement
30132         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
30133         that we return -1 in the case the call is interrupted by a signal,
30134         rather than the current value of 1.
30135         Diagnosed and tested by Daniel Richard G.
30137 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
30139         Diagnose ERE '()|\1'
30140         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
30141         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
30142         track of the set of previously-completed subexpressions available
30143         before the first alternative, and restore this set just before
30144         parsing each subsequent alternative.  This lets us diagnose the
30145         invalid back-reference in the ERE '()|\1'.
30147         regex: merge patches from libc
30149         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
30150         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
30151         * lib/regex_internal.h:
30152         Include <libc-lock.h> instead of <bits/libc-lock.h>.
30154         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
30155         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
30156         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
30157         wcscoll.
30158         * lib/regexec.c (check_node_accept_bytes): Likewise.
30160         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30161         Fix regex wcrtomb namespace (bug 18496).
30162         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
30163         instead of wcrtomb.
30165         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30166         Fix regex wctype namespace (bug 18495).
30167         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
30168         instead of towlower.
30169         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
30170         instead of iswlower.  Call __towupper instead of towupper.
30171         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
30172         instead of iswalnum.
30174         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
30175         * lib/regcomp.c (parse_bracket_exp): Initialize type to
30176         COLL_SYM in a couple of places to avoid uninitialized variable
30177         wanings on tilegx gcc 4.8.2.
30179         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
30180         * lib/regex_internal.h: Remove NOT_IN_libc.
30182         2014-11-17  Andreas Schwab  <schwab@suse.de>
30183         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
30185         2014-09-11  Roland McGrath  <roland@hack.frob.com>
30186         Move findidx nested functions to top-level.
30187         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
30188         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
30189         Pass new arguments to findidx.
30190         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
30191         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
30192         Don't #include it inside the function.  Pass new arguments to findidx.
30193         * lib/regex_internal.h:
30194         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
30195         (re_string_elem_size_at): Don't #include it inside the function.
30196         Pass new arguments to findidx.
30198         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
30199         Check if DEBUG is defined in regex_internal.c
30200         * lib/regex_internal.c: Check if DEBUG is defined and is set.
30202 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
30204         ceill: detect buggy OpenBSD implementation
30205         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
30206         which returns zero for small values.  Discussed here:
30207         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
30209 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
30211         mountlist: add me_mntroot field on Linux machines
30212         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
30213         mount_entry so Linux machines based on /proc/self/mountinfo can
30214         distinguish between bind mounts and original mounts.  In reality bind
30215         mounts aren't treated differently than mountroot=/ mounts by the
30216         kernel, but the user often wants these bind mounts distinguished.
30217         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
30218         More details at https://pad.lv/1432871
30220 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
30222         doc: Describe to use multiple instances of gnulib
30223         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
30224         instances of gnulib with different modules can be used, for example one
30225         for a lib and another one for associated tools.
30227 2015-09-01  Pádraig Brady  <P@draigBrady.com>
30229         base32: mark function as __attribute__ const
30230         * lib/base32.h (isbase32): Mark __attribute__ const as
30231         suggested by GCC, and consistent with the base64 module.
30233 2015-08-20  Daiki Ueno  <ueno@gnu.org>
30235         gnulib-tool: don't transform binary files with sed
30236         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
30237         .mo and .class files.
30238         Reported by Denis Denisov.
30240 2015-08-10  Daiki Ueno  <ueno@gnu.org>
30242         gperf: respect silent rules
30243         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
30244         V_GPERF_0 for silent rules.
30245         * modules/iconv_open (Makefile.am): Use V_GPERF.
30246         * modules/unicase/locale-language (Makefile.am): Likewise.
30247         * modules/unicase/special-casing (Makefile.am): Likewise.
30248         * modules/unictype/category-byname (Makefile.am): Likewise.
30249         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
30250         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
30251         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
30252         * modules/unictype/property-byname (Makefile.am): Likewise.
30253         * modules/unictype/scripts (Makefile.am): Likewise.
30254         * modules/uninorm/composition (Makefile.am): Likewise.
30256 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30258         Improve port of stdalign to C++11
30259         Problem reported by Sundaram in:
30260         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
30261         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
30262         (__alignas_is_defined): Define if C++11 or newer.
30264 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
30266         pmccabe2html: fix gawk regex escaping
30267         * build-aux/pmccabe2html: Add one more backslash to properly
30268         escape the gsub replacement value.  Fixes this error:
30269         gawk: ./build-aux/pmccabe2html:425: \
30270         warning: escape sequence `\&' treated as plain `&'
30272 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
30274         time_rz: port to pedantic memcpy
30275         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
30276         that reject memcpy (..., NULL, 0).
30278 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
30280         time_rz: port better to MinGW
30281         Don't change tzname, as this makes MinGW dump core (Bug#21020).
30282         Instead, store the tzname copy in the struct tm_zone object.
30283         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
30284         * lib/strftime.c [!_LIBC]:
30285         * lib/time_rz.c: Include time-internal.h.
30286         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
30287         name from *TZ rather than from TZNAME, doable because *TZ now has
30288         a tzname_copy member.
30289         * lib/time-internal.h: New file, with contents taken from
30290         lib/time_rz.c.  It's separate because strftime.c now accesses
30291         struct tm_zone members.
30292         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30293         New member tzname_copy.
30294         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
30295         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30296         Initialize tzname_copy member.
30297         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
30298         in tzname_copy member.
30299         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
30300         (restore_tzname): Remove; no longer needed.  All calls removed.
30301         * modules/time_rz (Files): Add lib/time-internal.h.
30303         time: port __need_time_t to MinGW
30304         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
30305         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
30307 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
30309         strftime: fix newly-introduced bug on Solaris
30310         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
30311         consistently at the start, rather than doing some of the setup at
30312         the start and some in the %Z format spec.  This is cleaner, and
30313         works better with time_rz on platforms like Solaris where struct
30314         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
30315         mktime_z and localtime_rz can mess up the tzname cache.
30317         test-strftime: test for Solaris bug
30318         * modules/strftime-tests (Depends-on): Add strerror.
30319         * tests/test-strftime.c: Include <errno.h>.
30320         (posixtm_test): New function, containing the old 'main'.
30321         (struct tzalloc_test, struct localtime_rz_test): New types.
30322         (TZ, LT): New static vars.
30323         (tzalloc_test): New function.
30324         (main): Rewrite in terms of posixtm_test and tzalloc_test.
30326         time_rz: port to Solaris etc.
30327         Works around a tzname problem on platforms like Solaris that have
30328         tzname but not tm_zone, by setting tzname at the appropriate time
30329         and restoring it later.
30330         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
30331         New static vars.
30332         (save_abbr) [HAVE_TZNAME]: Set them.
30333         (revert_tz) [HAVE_TZNAME]: Clear or use them.
30334         (restore_tzname): New function.
30335         (localtime_rz, mktime_z): Use it.
30337         time_rz: now LGPL
30338         * modules/time_rz (License): Now LGPL, because strftime depends on it.
30340         time_rz: make a constant 'const'
30341         * lib/time_rz.c (local_tz): Now const.
30343         time_rz: fix off-by-one typo
30344         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
30346 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
30348         fprintftime, strftime: use timezone_t args
30349         * NEWS: Document the change.
30350         * lib/fprintftime.h (fprintftime):
30351         * lib/strftime.c (extra_args) [my_strftime]:
30352         * lib/strftime.h (nstrftime):
30353         Time zone arg is now of type timezone_t, not int.
30354         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
30355         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
30356         (my_strftime) [emacs && !my_strftime]:
30357         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
30358         Remove; Emacs doesn't need this any more.
30359         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
30360         fprintftime and nstrftime to call tzset.
30361         (ut) [!my_strftime]: Remove, replacing with ...
30362         (tz) [!my_stftime]: ... this new macro.  All uses changed.
30363         (strftime_case_): Use localtime_rz and mktime_z instead
30364         of localtime_r and mktime.
30365         * modules/fprintftime (Depends-on): Add time_rz.
30366         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
30367         * tests/test-strftime.c (main): Adjust to new nstrftime API.
30369         time_rz: new module
30370         * MODULES.html.sh: Add time_rz.
30371         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
30372         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
30373         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
30374         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
30375         New var HAVE_TIMEZONE_T (default 0).
30376         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
30377         New var GNULIB_TIME_RZ (default 0).
30378         * modules/time (time.h): Substitute the new vars.
30380         flexmember: license is now unlimited
30381         * modules/flexmember (License): Change to unlimited,
30382         since its only source file gives an unlimited license.
30384 2015-07-15  Eric Blake  <eblake@redhat.com>
30386         maint: update copyright paper procedures
30387         * config/srclist.txt: Drop outdated files.
30388         * doc/Copyright/conditions.txt: Update to latest.
30389         * doc/Copyright/assign.changes.manual: Delete.
30390         * doc/Copyright/assign.future.manual: Likewise.
30391         * doc/Copyright/assign.manual: Likewise.
30392         * doc/Copyright/assign.translation.manual: Likewise.
30393         * doc/Copyright/disclaim.changes.manual: Likewise.
30394         * doc/Copyright/disclaim.manual: Likewise.
30395         * doc/Copyright/disclaim.program: Likewise.
30397 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30399         localename: fix link error on Illumos
30400         Illumos defines __sun, but does not have getlocalename_l nor the
30401         equivalent.  This partially reverts commit 387c214.
30402         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
30403         available, as well as uselocale.
30404         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
30405         use getlocalename_l if it is not available.
30407 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30409         unistr/uN-strtok-tests: avoid a trivial leak
30410         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
30411         input and delim after the multibyte delimiter tests.
30413 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
30415         file-has-acl, acl-permissions: fix HP-UX typos
30416         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
30417         * lib/file-has-acl.c (file_has_acl):
30418         * lib/set-permissions.c (context_acl_from_mode)
30419         (context_aclv_from_mode, set_acls):
30420         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
30421         They were introduced by the recent ACL changes.
30423         regex: match current GNU grep behavior
30424         These symbols have not matched GNU grep behavior for quite some time.
30425         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
30426         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
30427         Change to match current GNU behavior.
30428         Simplify by expressing it as differences from POSIX BREs and EREs.
30429         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
30431 2015-07-03  Jim Meyering  <meyering@fb.com>
30433         set-permissions.c: adjust acl_from_mode's cpp guard
30434         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
30435         directives identical to those guarding the sole use.
30436         Otherwise, on some systems, we'd get a warning about
30437         the function being defined but not used.
30438         Also, filter through cppi to correct misleading indentation
30439         of cpp directives.
30441 2015-07-03  Pádraig Brady  <P@draigBrady.com>
30443         tests: restrict shells to those that support 'local'
30444         The local keyword is very widely supported and used
30445         in tests in coreutils and grep at least.  Therefore
30446         restrict to testing with shells that support it.
30447         This mainly excludes /bin/sh on Solaris.
30448         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
30450 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
30451         and Daiki Ueno  <ueno@gnu.org>
30453         unistr/uN-strtok: handle multibyte delimiters
30454         Previously, uN_strtok moved PTR to the next unit to the token end.
30455         When DELIM contained a multibyte character, the new position could
30456         be a middle of a multibyte character.
30457         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
30458         after the token.
30459         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
30460         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
30461         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
30462         * modules/unistr/u8-strtok (Depends-on): Depend on
30463         unistr/u8-strmblen.
30464         * modules/unistr/u16-strtok (Depends-on): Depend on
30465         unistr/u16-strmblen.
30466         * modules/unistr/u32-strtok (Depends-on): Depend on
30467         unistr/u32-strmblen.
30468         * tests/unistr/test-u-strtok.h: New file.
30469         * tests/unistr/test-u8-strtok.c: New file.
30470         * tests/unistr/test-u16-strtok.c: New file.
30471         * tests/unistr/test-u32-strtok.c: New file.
30472         * modules/unistr/u8-strtok-tests: New file.
30473         * modules/unistr/u32-strtok-tests: New file.
30474         * modules/unistr/u16-strtok-tests: New file.
30476 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
30478         update-copyright: fix test failure with perl >= 5.22 (trivial)
30479         * build-aux/update-copyright: Escape a literal left curly bracket,
30480         required with perl >= 5.22
30482 2015-07-02  Daiki Ueno  <ueno@gnu.org>
30484         u{16,32}-strstr-tests: relax timeout condition
30485         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
30486         tests can take longer than 5 seconds to complete.
30487         Reported by Dagobert Michelsen in:
30488         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
30489         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
30490         seconds to 10 seconds.
30491         * tests/unistr/test-u32-strstr.c (main): Likewise.
30493 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30495         gnulib-common.m4: change the ARFLAGS default to 'cr'
30496         In some GNU/Linux distributions people started to compile 'ar'
30497         binary with --enable-deterministic-archives (binutils project).
30498         That, however, in combination with previous autotools long time
30499         working default AR{_,}FLAGS=cru causes warnings on such
30500         installations:
30501         ar: `u' modifier ignored since `D' is the default (see `U')
30502         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
30503         set already.
30505 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30507         selinux-h: avoid double free after *getfilecon()
30508         Originally reported by Ben Shelton on bug-tar:
30509         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
30510         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
30511         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
30512         param should be freed by freecon(3) (regardless the return value).
30514 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
30516         fix pty related tests issues on Windows (trivial)
30517         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
30518         however it's still present in tests/ subdirectory of the final project.
30519         Therefore avoid it to pass `make check`.
30520         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
30521         will just return -ENOSYS, so avoid this non applicable test allowing
30522         the build to proceed.
30524 2015-07-01  Pádraig Brady  <P@draigBrady.com>
30526         acl: fix definition of acl_from_mode on FreeBSD
30527         This was causing basic coreutils copy operations to fail
30528         with ENOTSUP or ENOENT error messages.
30529         * lib/acl-internal.h (acl_from_mode): Only define when
30530         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
30531         of acl_from_mode() defined in lib/set-permissions.c to
30532         be used on FreeBSD at least.
30533         * lib/set-permissions.c: Fix up comment spelling,
30534         and a redundant variable assignment; noticed in passing.
30536 2015-06-30  Pádraig Brady  <P@draigBrady.com>
30538         readutmp: port to FreeBSD >= 9
30539         * lib/readutmp.h: Map utmpxname() to setutxdb().
30540         With that coreutils who(1) and pinky(1) tests pass.
30542 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
30544         mgetgroups: port to strict OS X
30545         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
30546         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
30547         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
30548         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
30550 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
30552         mgetgroups: port to strict OS X
30553         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
30554         Document the getgrouplist problem.
30555         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
30556         New macro.
30557         (mgetgroups): Use it.
30558         * m4/mgetgroups.m4 (gl_MGETGROUPS):
30559         Check for OS X signature for getgrouplist.
30561 2015-06-29  Jim Meyering  <meyering@fb.com>
30563         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
30564         It started like this when building coreutils' latest on OS X,
30565         invoking ./configure with a nonempty --cache=.cache:
30567           lib/linkat.c:46:42: error: operator '||' has no right operand
30568           lib/linkat.c: In function 'rpl_linkat':
30569           lib/linkat.c:330:27: error: #if with no expression
30571         Here's linkat.c's line 46:
30573           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
30575         Here's some context:
30577           $ grep linkat_nofoll .cache
30578           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
30579           $ grep LINKAT_SYM lib/config.h
30580           #define LINKAT_SYMLINK_NOTSUP
30582         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
30583         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
30584         but that violates a tenet of AC_CACHE_CHECK: it must
30585         have no side effect other than setting its cache variable.
30587         What happens is that when the cache is set, we'd skip the
30588         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
30589         defined to whatever value it happened to have in configure's
30590         environment.  In my case, it was not defined, so this later code:
30592           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
30593             [Define to 1 if linkat can create hardlinks to symlinks])
30595         would emit code with an empty RHS.
30597         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
30598         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
30600 2015-06-28  Jim Meyering  <meyering@fb.com>
30602         mountlist: avoid an unused-label warning on OS X
30603         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
30604         Building on OS X, I saw a warning about the "free_then_fail" label
30605         being unused.  Give it the _GL_UNUSED_LABEL attribute.
30607         error.c: correct printf-style format: %d -> %u
30608         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
30609         rather than %d, to match the type of "line_number", unsigned int.
30611 2015-06-25  Pádraig Brady  <P@draigBrady.com>
30613         fts: avoid reading beyond the heap allocation
30614         GCC 5.1.1 with -O2 and -fsanitize=address reports
30615         a read of size 4 from a heap object of size 3 is indeed invalid,
30616         though this may be due to incorrect padding assumptions by GCC, see:
30617         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
30618         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
30619         * modules/fts: Depend on stdalign.
30621 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30623         savedir: avoid undefined behavior in qsort call
30624         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30625         "runtime error: null pointer passed as argument 1,
30626          which is declared to never be null"
30627         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
30629 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30631         userspec: avoid undefined behavior in gettext call
30632         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30633         "runtime error: null pointer passed as argument 2,
30634          which is declared to never be null"
30635         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
30637 2015-06-20  Glenn Morris  <rgm@gnu.org>
30639         gitlog-to-changelog: improve gitmerge.el commits
30640         Let the Emacs ChangeLog generation process exclude "skipped"
30641         messages from merge commits (Bug#20717).
30642         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
30644 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30646         wchar: fix MinGW compilation warnings
30647         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
30648         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
30649         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
30651 2015-06-20  Daiki Ueno  <ueno@gnu.org>
30653         uniname/uniname-tests: use pristine data files
30654         For copyright and maintenance reasons, use the data files from UCD
30655         without modification.
30656         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
30657         (getfield): Remove.
30658         (aliases_count): New global variable.
30659         (fill_names): Skip comments and empty lines in the input.  Don't
30660         use getfield.
30661         (fill_aliases): Likewise.
30662         (main): Change the expected command line arguments to:
30663         NAMES... ["--" ALIASES...].
30664         * tests/uniname/test-uninames.sh: Adjust to the change in
30665         test-uninames.c.
30666         * tests/uniname/UnicodeDataNames.txt: Remove.
30667         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
30668         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
30669         file from Unicode 8.0.0.
30671 2015-06-19  Pádraig Brady  <P@draigBrady.com>
30673         linked-list, linkedhash-list: avoid compiler warnings
30674         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
30675         -Werror=suggest-attribute=pure (from GCC 5.1.1).
30677 2015-06-19  Daiki Ueno  <ueno@gnu.org>
30679         libunistring: bump minimum version to 0.9.6
30680         * all modules depending on updated Unicode data: Regenerate.
30681         The modules are listed by a script that does:
30682         - for each file listed by: git show --oneline --name-only 705f4efc
30683           - deduce the containing modules, based on "Files:"
30684         - deduce the modules which depend on the containing modules, based
30685           on "Depends-on:"
30687 2015-06-18  Daiki Ueno  <ueno@gnu.org>
30689         uniname/uniname: update to Unicode 8.0.0
30690         * lib/uniname/uninames.h: Regenerate.
30691         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
30692         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
30694 2015-06-18  Daiki Ueno  <ueno@gnu.org>
30696         libunistring: update to Unicode 8.0.0
30697         * lib/gen-uni-tables.c (SIZEOF): New macro.
30698         (output_numeric): Increase the maximum number of fractions from
30699         128 to 160.  Increase the level3 value width from 7 bits to 8
30700         bits.  Use SIZEOF instead of a hard-coded integer.
30701         (output_blocks): Decrease the cut-off threshold from 0x30000 to
30702         0x28000.
30703         (fill_blocks): Increase the maximum number of blocks from 256 to
30704         384.  Use SIZEOF instead of a hard-coded integer.
30705         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
30706         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
30707         value width.
30708         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
30709         a new case added to LBP22.
30710         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
30711         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
30712         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
30713         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
30714         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
30715         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30716         lib/uniwidth/width.c.
30717         * all generated files under lib/uni* and tests/uni*: Regenerate.
30719 2015-06-16  Pádraig Brady  <P@draigBrady.com>
30721         gnu-web-doc-update: add --mirror to remove stale files
30722         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
30723         out of date files from the CVS server.  Since this is usually
30724         appropriate, a prompt is given when the option is not specified,
30725         along with the `cvs remove` command that would be run.
30727 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
30729         acl-permissions: pacify -Wsuggest-attribute=const
30730         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
30731         * lib/acl-internal.h (free_permission_context):
30732         Declare with attribute const if ! (defined USE_ACL &&
30733         (HAVE_ACL_GET_FILE || defined GETACL)).
30735         fsync: document AIX misbehavior
30736         * doc/posix-functions/fsync.texi (fsync):
30737         Document failure on AIX with read-only file descriptor.
30739 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
30741         stdio: Don't redefine gets when using C++
30742         * lib/stdio.in.h (gets): Disable warning on C++.
30744 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
30746         acl-permissions: port to AIX, C89 HP-UX
30747         Problems reported by Michael Felt.
30748         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
30749         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
30750         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
30751         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
30752         Add cast for AIX, whose system calls are declared to accept
30753         char * even though the arguments are really char const *.
30754         * lib/get-permissions.c (get_permissions):
30755         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
30756         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
30757         that broke a build.
30758         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
30759         Rework types to pacify xlc.
30761 2015-06-03  Pádraig Brady  <P@draigBrady.com>
30763         vasprintf-posix: avoid compiling vasnprintf where possible
30764         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
30765         module where not required.  For example on a GNU/Linux system
30766         when gnulib-tool is run with the --conditional-dependencies option.
30768 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30770         file-has-acl: fix build on Mac OS X 10
30771         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
30772         which has an incompatible 6 parameter getxattr() call.
30773         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
30774         call on Mac OS X >= 10.4.
30775         * doc/glibc-functions/fgetxattr.texi: Likewise.
30776         * lib/file-has-acl.c: Revert to more complete combined check.
30777         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
30778         Reported by Jack Howarth.
30780 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30782         prefix-gnulib-mk: remove no longer needed special case
30783         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
30784         continued lib_SOURCES lines are no longer present,
30785         so special case handling of such entries is not required.
30787 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30789         acl: don't depend on the deprecated qacl module
30790         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
30792 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30794         gnulib-tool: concatenate lib_SOURCES to a single line
30795         * gnulib-tool: Refactor the line merging sed logic,
30796         and use that to output a single lib_SOURCES line for each module.
30797         gnulib using projects often postprocess this output to prepend
30798         subdir paths to each item, and having a single line simplifies this
30799         processing allowing better decoupling from the gnulib-tool output.
30801 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
30803         pthread_sigmask: discount system version if a simple macro (trivial)
30804         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
30805         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
30806         function to ensure it's available.
30808 2015-05-31  Pádraig Brady  <P@draigBrady.com>
30810         readlinkat: avoid OS X 10.10 trailing slash bug
30811         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
30812         has this bug.
30813         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
30814         that OS X 10.10 has this function.
30815         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
30816         as done for readlink().
30817         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
30818         trailing slash bug, and assume readlinkat() has the same issue.
30819         Also fix a typo where $gl_cv_decl_readlink_works was tested,
30820         rather than the correct $gl_cv_decl_readlinkat_works.
30822 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30824         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
30825         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
30826         module rewrite.
30828         acl-permissions: Fix build on Solaris and Cygwin
30829         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
30830         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
30831         ace_entries variables have moved into struct permission_context but
30832         they were still accessed as local variables here.
30834 2015-05-29  Pádraig Brady  <P@draigBrady.com>
30836         linkat: avoid OS X 10.10 trailing slash with symlink bug
30837         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
30838         causes the symlink to be dereferenced, and if it points
30839         to a non existent file, that file will be created as
30840         a hard link to "path1".
30841         This fixes a test failure in test-linkat.c.
30842         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
30843         this case.  The existing workaround in linkat.c for
30844         trailing slash issues, suffices for this case.
30845         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
30846         the list of platforms with trailing slash issues.
30848 2015-05-28  Pádraig Brady  <P@draigBrady.com>
30850         unlinkat: handle ignoring of ".." on Darwin 14
30851         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
30852         on Mac OS X 10.10, where it ignores paths with a trailing "..",
30853         so handle in the same manner.
30854         * m4/unlinkat.m4: Comment on this Darwin issue.
30855         * doc/posix-functions/unlink.texi: Update the latest version
30856         where the issue was seen.
30857         * doc/posix-functions/unlinkat.texi: Mention this issue.
30858         Fixes a test failure in test-unlinkat.c.
30860 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
30862         qacl: split into qcopy-acl and qset-acl
30863         Emacs needs the former, but not the latter.
30864         * modules/acl-permissions: New file, containing most of the old qacl.
30865         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
30866         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
30867         * modules/qcopy-acl, modules/qset-acl: New files.
30868         * MODULES.html.sh (File system functions):
30869         Mention the new modules, and mention qacl while we're at it.
30871 2015-05-27  Glenn Morris  <rgm@gnu.org>
30873         gitlog-to-changelog: new option --ignore-line
30874         (This patch is imported from the GNU Emacs master.)
30875         This option ignores individual commit lines matching a pattern.
30876         * build-aux/gitlog-to-changelog: Add --ignore-line option.
30878 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
30880         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
30881         Implement get_permissions and set_permissions primitives for getting all
30882         the permissions of a file, storing them, and later setting them. (In the
30883         minimal case, the permissions consist only of a file mode.) Reimplement
30884         qset_acl and qcopy_acl based on these new primitives: this avoids code
30885         duplication and makes error handling more consistent.
30886         The Solaris and Cygwin code still uses duplicate code paths for setting
30887         a file mode while making sure that no acls exist and setting an explicit
30888         acl; this is no worse than before, but could be cleaned up.  The AIX
30889         code still doesn't read ACLs, it only makes sure that acls don't get in
30890         the way when setting a file mode.
30891         * lib/acl-internal.h (struct permission_context): New data structure.
30892         (get_permissions, set_permissions, free_permission_context): Declare.
30893         * lib/acl-internal.c (free_permission_context): New helper function.
30894         * lib/get-permissions.c (get_permissions): New helper function split off
30895         from qcopy_acl.
30896         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
30897         AIX, set a file's permissions based only on a file mode.
30898         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
30899         other platforms construct a temporary acl from the file mode and set
30900         that acl in the same way as setting an acl read from the source file.
30901         This should help avoid code duplication and inconsistent / buggy
30902         behavior.
30903         (set_acls): New helper function Split off from qcopy_acl.
30904         (chmod_or_fchmod): Moved here from qset-acl.c.
30905         (set_permissions): New helper function.
30906         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
30907         set_permissions.
30908         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
30909         * modules/qacl: Add get-permissions.c and set-permissions.c.
30911         file-has-acl: Split feature tests again (Bug#20667)
30912         * lib/file-has-acl.c: Instead of testing for
30913         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
30914         define them when needed.
30915         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
30916         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
30918 2015-05-27  Pádraig Brady  <P@draigBrady.com>
30920         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
30921         This avoids a conflict with "FORTIFY_SOURCE" variants
30922         of the string functions when they're replaced on NetBSD-6.0.1
30923         and Darwin-14.3.0 at least.
30924         * lib/string.in.h: Avoid including our "lib/string.h" while
30925         including the system <string.h>.
30927 2015-05-26  Eric Blake  <eblake@redhat.com>
30929         stdio: limit __gnu_printf__ witness to gcc 4.4+
30930         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
30931         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
30933         error: use correct printf attributes on mingw
30934         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
30936         inttypes: force correct mingw PRIdMAX even without <stdio.h>
30937         * modules/inttypes (Depends-on): Require extensions, so that mingw
30938         always uses GNU style inttypes.
30939         * lib/inttypes.in.h: On mingw, include <stdio.h>.
30941         stdio: fix probe on mingw under gcc 5.1
30942         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
30943         around new gcc preprocessor rules.
30945 2015-05-07  Glenn Morris  <rgm@gnu.org>
30947         gitlog-to-changelog: parse "Tiny-change"
30948         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
30949         "Copyright-paperwork-exempt".  (Bug#20324)
30951 2015-05-06  Pádraig Brady  <P@draigBrady.com>
30953         doc: document glibc posix_fallocate() issues
30954         * doc/posix-functions/posix_fallocate.texi: Mention the
30955         glibc efficiency problems and issues with NFS.
30957 2015-05-05  Karl Berry  <karl@freefriends.org>
30959         * build-aux/gendocs.sh (usage): document new css default
30960         for HTML (--htmlarg).
30962 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
30964         extern-inline: no need for workaround in GCC 5.1
30965         * doc/extern-inline.texi (extern inline):
30966         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
30967         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
30968         around these bugs in GCC 5.1 and later.  Maybe in a decade or
30969         two we can remove these workarounds.
30971 2015-04-28  Pádraig Brady  <P@draigBrady.com>
30973         eealloc, pagealign_alloc, xalloc: avoid clang warnings
30974         Avoid [-Wunknown-attributes] warnings like:
30975         warning: unknown attribute '__alloc_size__' ignored
30976         * lib/xalloc.h: Don't use the __alloc_size__  attribute
30977         with clang, as support has been fully removed as of clang 3.5:
30978         https://github.com/llvm-mirror/clang/commit/c047507a
30979         * lib/eealloc.h: Likewise.
30980         * lib/pagealign_alloc.h: Likewise.
30982 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
30984         tests: pacify GCC 5.1's stricter printf checking
30985         * tests/test-dirname.c (main):
30986         * tests/test-getaddrinfo.c (simple):
30987         * tests/test-getlogin.c (main):
30988         * tests/test-getndelim2.c (main):
30989         * tests/test-inttostr.c (CK):
30990         * tests/test-md5.c (main):
30991         * tests/test-read-file.c (main):
30992         * tests/test-sha1.c (main):
30993         Fix mismatches between printf format and value signedness.
30994         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
30995         Remove, as CAST_VAL always returned a value of type uintmax_t.
30997         fts: port to GCC 5.1 with --enable-gcc-warnings
30998         Without this fix, GCC 5.1 (correctly) warns about a subscript
30999         error on the fts_name component of FTSENT.  It's actually a
31000         flexible member, so define it that way on C99 or later hosts.
31001         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
31002         structure that now has a flexible array member.
31003         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
31004         (FTSENT): fts_name is now flexible on C99-or-later platforms.
31005         * modules/fts (Depends-on): Add flexmember.
31007 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
31009         file-has-acl: port to CentOS 6
31010         Problem reported by Tom G. Christensen in:
31011         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
31012         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
31013         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
31014         HAVE_GETXATTR.
31015         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
31016         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
31017         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
31018         file-has-acl.c actually needs.
31020 2015-04-26  Pádraig Brady  <P@draigBrady.com>
31022         file-has-acl: always return false when ACLs aren't supported
31023         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
31024         change the GNU/Linux getxattr path, to transform "not supported"
31025         errors to a false return rather than an error.  This is handled
31026         within file_has_acl() due to the platform specific tests to
31027         determine if ACLs are not supported.
31029 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
31031         gettext: propagate po/Makefile.in.in too
31032         * build-aux/po/Makefile.in.in: Copy from latest gettext.
31033         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
31034         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
31035         between Makefile.in.in and the gettext-runtime m4 files.
31037 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
31039         file-has-acl: new module, split from acl
31040         And add a new module file-has-acl-tests to match.
31041         I ran into a problem with the recent changes to the acl module,
31042         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
31043         When using the fixed version with Emacs, I discovered that
31044         file-has-acl wasn't separated out well enough for Emacs (e.g., it
31045         had multiple libraries, but needed only one), so I fixed that too.
31046         * NEWS: Document this incompatible change.
31047         * modules/file-has-acl, modules/file-has-acl-tests: New files.
31048         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
31049         Initialize gl_need_lib_has_acl.
31050         (gl_FUNC_ACL): Require it.
31051         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
31052         Move the file-has-acl.c-relevant stuff to ...
31053         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
31054         use_xattrs = 0' typo, and omit some needless work.  Set
31055         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
31056         when gl_FUNC_ACL is called.
31057         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
31058         (Link): Remove $(LIB_HAS_ACL).
31059         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
31060         (check_PROGRAMS): Move stuff relevant to file-has-acl to
31061         modules/file-has-acl-tests.
31062         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
31064         manywarnings: add GCC 5.1 warnings
31065         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
31066         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
31067         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
31068         -Wsuggest-override, -Wuse-without-only.  Change
31069         -Wnormalized=... operands to match 5.1.
31070         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
31071         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
31072         -Wdiscarded-qualifiers, -Wformat-signedness,
31073         -Wincompatible-pointer-types, -Wint-conversion,
31074         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
31075         -Wshift-count-negative, -Wshift-count-overflow,
31076         -Wsizeof-array-argument, -Wsuggest-final-methods,
31077         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
31078         and add -Warray-bounds=2 as a special case.
31080 2015-04-21  Simon Josefsson  <simon@josefsson.org>
31082         doc: update FDL template to match FDL examples.
31083         * doc/alloca-opt.texi:
31084         * doc/alloca.texi:
31085         * doc/c-ctype.texi:
31086         * doc/c-strcase.texi:
31087         * doc/c-strcaseeq.texi:
31088         * doc/c-strcasestr.texi:
31089         * doc/c-strstr.texi:
31090         * doc/c-strtod.texi:
31091         * doc/c-strtold.texi:
31092         * doc/ctime.texi:
31093         * doc/error.texi:
31094         * doc/gcd.texi:
31095         * doc/gnulib-tool.texi:
31096         * doc/inet_ntoa.texi:
31097         * doc/intprops.texi:
31098         * doc/lib-symbol-visibility.texi:
31099         * doc/maintain.texi:
31100         * doc/parse-datetime.texi:
31101         * doc/quote.texi:
31102         * doc/regexprops-generic.texi:
31103         * doc/standards.texi: Remove spurious 'with' in FDL license
31104         template.
31106 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
31108         lstat: fix cross-compilation 'ln -s' problem
31109         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
31110         Have the test program call 'symlink' rather than a separate
31111         script run 'ln -s'; this is more likely to work in
31112         cross-compilation environments.  Reported by Pavel Fedin in:
31113         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
31115 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
31117         gendocs.sh: default to a common CSS style sheet for HTML output
31118         * build-aux/gendocs.sh (htmlarg): Change default value.
31120 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
31122         gnulib-tool: output bold attribute more portably
31123         * gnulib-tool (func_show_module_list): Change hexadecimal
31124         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
31125         encoded numbers as arguments to `printf' is not portable,
31126         and is not claimed by POSIX.  This is the case with FreeBSD.
31128 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
31130         qacl: Simplify HP-UX acl_nontrivial check
31131         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
31132         acl_nontrivial. Check if the acl has at most three entries instead (it must
31133         have exactly three entries according to the HP-UX documentation). Ignore
31134         uids and gids as long as an entry is either for a user (i.e., the owner),
31135         a group (i.e., the owning group), or others.
31136         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
31137         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
31139 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
31141         acl: On Linux, check for acls without libacl
31142         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
31143         library function to check for the presence of acls, avoiding a library.
31144         * lib/file-has-acl.c: Include xattr headers if we have them.
31145         (file_has_acl): On Linux, use getxattr().
31146         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
31147         file_has_acl(). Check for xattr headers and getxattr().
31149 2015-04-14  Ángel González  <keisial@gmail.com>
31151         tempname: avoid unused parameter warnings (trivial)
31152         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
31153         (try_nocreate): Likewise.
31155 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
31157         fseeko: fix build failure on NetBSD >= 6 (trivial)
31158         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
31159         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
31161 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31163         gitlog-to-changelog: port to MS-Windows
31164         * build-aux/gitlog-to-changelog (git_dir_option):
31165         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
31166         MS-Windows Perl.  Reported by Eli Zaretskii in:
31167         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
31169 2015-04-07  Karl Berry  <karl@gnu.org>
31171         gendocs: new option --tex for passing args to texi2dvi.
31172         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
31173         (TEXI2DVI): cut to just command name.
31174         (usage): mention new option, and update copyright.
31175         <generate_tex>: use it.
31177 2015-04-07  Karl Berry  <karl@gnu.org>
31179         * config/srclistvars.sh (GETTEXT): new definition.
31180         * config/srclist.txt: use it for gettext .m4 files.
31181         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
31182         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
31183         and continuing into April.
31185 2015-04-07  Daiki Ueno  <ueno@gnu.org>
31187         uniname/uniname-tests: fix failure due to alias
31188         Reported by Jack Howarth in:
31189         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
31190         * tests/uniname/test-uninames.c (name_has_alias): New function.
31191         (test_inverse_lookup): Exclude character name with valid alias,
31192         from randomly generated character names.
31193         (main): Fill unicode_aliases before calling test functions.
31195 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
31197         hash: remove deprecated hash_insert0 function
31198         * lib/hash.h (hash_insert0): Remove deprecated function.
31199         * lib/hash.c (hash_insert0): Likewise.
31201 2015-04-02  Pádraig Brady  <P@draigBrady.com>
31203         mountlist: remove dependency on libmount
31204         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
31205         directly, rather than depending on libmount, which has many
31206         dependencies due to its dependence on libselinux, as detailed at:
31207         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
31208         Note we restrict this to __linux__ as that's probably where this
31209         interface will remain.  If ever porting, it would be best
31210         to first pull the makedev() wrapper from coreutils to a gnulib module.
31211         Note also we don't add a getline dependency to the mountlist module,
31212         as all Linux versions are sufficient.
31214 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31216         stddef: port to pre-C11 GCC on x86
31217         On this platform, max_align_t should have an alignment of 8 even
31218         though the storage alignments of double, long, etc. max out at 4.
31219         Inspired by a comment of Andreas Schwab's here:
31220         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
31221         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
31222         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
31223         * tests/test-stddef.c: Test __alignof__ too, if available.
31225 2015-03-24  Pádraig Brady  <P@draigBrady.com>
31227         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
31228         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
31230 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
31232         yesno: make EOL optional in ENABLE_NLS case also (trival)
31233         * lib/yesno.c (yesno): Check for EOL before replacing.
31234         * tests/test-yesno.sh: Add a test case (test along with gettext).
31236 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
31238         fdopendir-tests: test it does not close its arg
31239         * tests/test-fdopendir.c (main): Test that fdopendir does not
31240         close its argument.  From a suggestion by David Grayson in:
31241         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
31243 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
31245         gitlog-to-changelog: trim trailing white space
31246         * build-aux/gitlog-to-changelog (main):
31247         Trim trailing white space from commit message lines.
31248         This is helpful for processing the GNU Emacs repository,
31249         which dates back to 1985 and contains a lot of such lines.
31251         gitlog-to-changelog: new option --ignore-matching
31252         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
31253         Support new option --ignore-matching=PAT, which ignores all
31254         commit messages whose first line matches PAT.
31256 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31258         fdopendir: port better to MinGW
31259         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
31260         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
31261         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
31262         * modules/fdopendir (Depends-on): Add dirfd.
31264 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
31266         fdopendir: fix typo in comment
31267         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
31269 2015-03-09  Eric Blake  <eblake@redhat.com>
31271         error: document all entry points provided
31272         * doc/glibc-functions/error_print_progname.texi
31273         (error_print_progname): Mention the error module.
31274         * doc/glibc-functions/error_at_line.texi (error_at_line):
31275         Likewise.
31276         * doc/glibc-functions/error_message_count.texi
31277         (error_message_count): Likewise.
31278         * doc/glibc-functions/error_one_per_line.texi
31279         (error_one_per_line): Likewise.
31281 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
31283         vasnprintf: pacify clang 3.5.0
31284         Problem reported by Werner Lemberg in:
31285         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
31286         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
31287         The casts aren't needed, since the characters in question are ASCII.
31289 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
31291         glob, etc.: port to MSVC v18 on MS-Windows 8.1
31292         * lib/dirent--.h (GNULIB_defined_opendir):
31293         * lib/dirent.in.h (GNULIB_defined_opendir)
31294         (GNULIB_defined_closedir):
31295         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
31296         #undef only if Gnulib defined it.
31298         poll: port to MSVC v18 on MS-Windows 8.1
31299         Problem reported by Gisle Vanem in:
31300         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
31301         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
31302         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
31303         Add sys_socket.
31305 2015-02-24  Pádraig Brady  <P@draigBrady.com>
31307         tests: support stderr verification with returns_()
31308         * tests/init.sh (returns_): Disable tracing for this wrapper
31309         function, so that stderr of the wrapped command is unchanged,
31310         allowing for verification of the contents.
31312 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
31314         passfd: avoid valgrind uninitalised data warning
31315         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
31316         to include just the fd we've initialized, rather than including
31317         the extra space used for alignment.
31319 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31321         uniwbrk/u32-wordbreaks-tests: fix copyright
31322         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
31324         dup2: doc and test for Android bug
31325         Reported by Kevin Cernekee in:
31326         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
31327         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31328         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
31330 2015-02-23  Kevin Cernekee  <cernekee@google.com>
31332         Replace dup2() on Android
31333         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
31334         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
31335         fails.  Using rpl_dup2() fixes this because it has an explicit test
31336         for this condition.
31338 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31340         Android doesn't define RLIM_SAVED_*
31341         Portability problem reported by Kevin Cernekee in:
31342         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
31343         * doc/posix-headers/sys_resource.texi (sys/resource.h):
31344         Mention the portability problem.
31345         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
31346         Define if not defined.
31347         * m4/dup2.m4 (gl_FUNC_DUP2):
31348         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31349         Likewise.
31351 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
31353         vasnprintf-posix-tests: use consistent test
31354         * tests/test-vasnprintf-posix.c (test_function):
31355         Use "<" in assert instead of "<=", for consistency with other tests.
31357 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31359         printf, isinf, etc.: noncanonical != NaN
31360         Do not require that isinf, printf, etc. treat noncanonical
31361         values as NaNs.  Instead, require only that they do not crash.
31362         Problem reported by Joseph Myers in:
31363         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
31364         * doc/posix-functions/dprintf.texi (dprintf):
31365         * doc/posix-functions/fprintf.texi (fprintf):
31366         * doc/posix-functions/isfinite.texi (isfinite):
31367         * doc/posix-functions/isinf.texi (isinf):
31368         * doc/posix-functions/isnan.texi (isnan):
31369         * doc/posix-functions/printf.texi (printf):
31370         * doc/posix-functions/snprintf.texi (snprintf):
31371         * doc/posix-functions/sprintf.texi (sprintf):
31372         * doc/posix-functions/vdprintf.texi (vdprintf):
31373         * doc/posix-functions/vfprintf.texi (vfprintf):
31374         * doc/posix-functions/vprintf.texi (vprintf):
31375         * doc/posix-functions/vsnprintf.texi (vsnprintf):
31376         * doc/posix-functions/vsprintf.texi (vsprintf):
31377         Document this.
31378         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
31379         * m4/isinf.m4 (gl_ISINFL_WORKS):
31380         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
31381         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
31382         * tests/test-isfinite.c (test_isfinitel):
31383         * tests/test-isinf.c (test_isinfl):
31384         * tests/test-isnan.c (test_long_double):
31385         * tests/test-isnanl.h (main):
31386         * tests/test-snprintf-posix.h (test_function):
31387         * tests/test-sprintf-posix.h (test_function):
31388         * tests/test-vasnprintf-posix.c (test_function):
31389         * tests/test-vasprintf-posix.c (test_function):
31390         Test only that noncanonical values do not cause crashes, not that
31391         they are treated as NaNs.  In some cases this means a larger
31392         output buffer is needed.
31394 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
31396         fts: remove redundant close() (trivial)
31397         * lib/fts.c (fts_read): Remove redundant call to close().
31398         Spotted by coverity.
31400 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31402         getdtablesize: port better for Android
31403         Problem reported by Kevin Cernekee in:
31404         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
31405         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
31406         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
31407         Instead, just use getrlimit, taking care to avoid Cygwin bug.
31409         poll: fixes for large fds
31410         * lib/poll.c (poll): Don't check directly for NFD too large.
31411         Don't rely on undefined behavior in FD_SET when an arg exceeds
31412         FD_SETSIZE.  Always set revents afterwards, even if to zero.
31413         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
31414         as that makes the test a bit stricter.
31416 2015-02-19  Kevin Cernekee  <cernekee@google.com>
31418         fcntl: Fix cross compiling
31419         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
31420         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
31422 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31424         dup2, fcntl: cross-compile better for Android
31425         Problem reported by Kevin Cernekee in:
31426         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
31427         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
31428         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
31429         there's little need to cross-compile for older kernels nowadays.
31430         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
31431         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
31433 2015-02-18  Pádraig Brady  <P@draigBrady.com>
31435         getopt: don't crash on memory exhaustion
31436         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
31437         memory exhaustion.  In the _LIBC case we use alloca() as is
31438         already done in glibc, so we don't need to consider the separate
31439         error path in that awkward case.  Also fix a memory leak when
31440         ambiguous options are present.
31441         Reported by Tobias Stoeckmann
31443 2015-02-17  Mike Miller  <mtmiller@ieee.org>
31445         tempname: allow compilation with C++ (trivial)
31446         * lib/tempname.h [C++]: Specify extern "C" linkage.
31447         * lib/tempname.h (try_tempname):
31448         * lib/tempname.c (__try_tempname, __gen_tempname):
31449         Rename 'try' to 'tryfunc'.
31451 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31453         dup2, fcntl: port to AIX
31454         * m4/dup2.m4 (gl_FUNC_DUP2):
31455         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31456         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
31457         The former works on AIX 7.1 but the latter does not.
31458         Also, this may work better with Android; see:
31459         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
31461 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31463         getdtablesize, dup2, fcntl: port to Android
31464         Problem reported by Kevin Cernekee in:
31465         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
31466         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
31467         Mention that getdtablesize doesn't work on Android.
31468         * lib/getdtablesize.c: Use getrlimit substitute only if
31469         getdtablesize is declared.  This should suffice for Cygwin
31470         while not breaking Android.
31471         * m4/dup2.m4 (gl_FUNC_DUP2):
31472         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31473         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
31474         standardized but the latter is not, and sysconf works on Android.
31475         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
31476         Also check that getdtablesize is declared.
31477         This removes the need for a special case for Android.
31479 2015-02-16  Kevin Cernekee  <cernekee@google.com>
31481         localename: Implement gl_locale_name_thread_unsafe for Android
31482         * lib/localename.c: Android API level >= 21 supports two hardcoded
31483         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
31484         the internal __locale_t struct.
31486 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
31488         fts: avoid crash when a cycle is added while traversing
31489         This could be triggered by auto-mounting a recursive bind mount.
31490         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
31491         * lib/fts.c (fts_read): Avoid removing the original hash table item
31492         when leaving a directory that caused a cycle, and preserve the FTS_DC
31493         flag.
31495 2015-02-16  Daiki Ueno  <ueno@gnu.org>
31497         uniname/uniname: support character alias
31498         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
31499         Generate one-way mapping from aliases to codepoints in the
31500         generated tables.  Special case variation selectors to reduce
31501         table size.
31502         * lib/uniname/uniname.c (unicode_character_name): Special case
31503         variation selectors.
31504         (unicode_name_character): Special case variation selectors and
31505         their aliases.
31506         * lib/uniname/uninames.h: Regenerate.
31507         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
31508         * modules/uniname/uniname-tests (Files): Add
31509         tests/uniname/NameAliases.txt.
31510         * tests/uniname/test-uninames.c: Mark as static.
31511         (ALIASLEN): Define.
31512         (struct unicode_alias): New struct.
31513         (unicode_aliases): New variable.
31514         (fill_aliases): New function.
31515         (test_alias_lookup): New test function.
31516         (main): Run the 'test_alias_lookup' test if the second argument is
31517         given.
31518         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
31519         second argument.
31521 2015-02-11  Kevin Cernekee  <cernekee@google.com>
31523         Fix FILE struct compatibility with Android API level >= 21
31524         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
31525         __sferror.  Recent versions of Bionic's stdio.h no longer define
31526         __sferror.
31527         * lib/fbufmode.c: Likewise.
31528         * lib/fflush.c: Likewise.
31529         * lib/fpurge.c: Likewise.
31530         * lib/freadable.c: Likewise.
31531         * lib/freadahead.c: Likewise.
31532         * lib/freading.c: Likewise.
31533         * lib/freadptr.c: Likewise.
31534         * lib/freadseek.c: Likewise.
31535         * lib/fseeko.c: Likewise.
31536         * lib/fseterr.c: Likewise.
31537         * lib/fwritable.c: Likewise.
31539         Assume unbroken ungetc() on Android
31540         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
31541         test case passed when running on an Android host, and the code
31542         hasn't really changed since 2009.
31544         getdtablesize: Fix Android build
31545         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
31546         versions have this symbol in the .so library (at least 32-bit
31547         platforms) but are missing the declaration in the header file,
31548         causing the m4 logic to guess incorrectly.
31550         localename: Fix Android build
31551         * modules/localename (Depends-on): Add langinfo.
31553         getugroups: Fix Android build
31554         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
31555         functions.
31557         euidaccess: Fix Android build
31558         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
31559         AT_EACCESS gets declared.
31561         linkat_nofollow: Add fallback case for cross compiling
31562         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
31564         net_if: Handle content-free <net/if.h> system headers
31565         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
31566         struct if_nameindex.  If not, enable the replacement header.
31568         signal_h: Fix Android build
31569         * lib/signal.in.h: Add Android to the list of platforms that declare
31570         pthread_sigmask() in <pthread.h> instead of <signal.h>.
31572         duplocale: Fix Android build of duplocale-tests
31573         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
31574         is included by test-duplocale.c (but not by duplocale.c).
31575         * modules/duplocale-tests (configure.ac): Check for monetary.h.
31576         * tests/test-duplocale.c: Skip test if monetary.h is absent.
31577         * doc/posix-headers/monetary.texi: Add Android to the list of
31578         platforms missing monetary.h.
31580 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31582         tests: avoid recent -Werror=unused-variable regression in test-locale
31583         * tests/test-locale.c (main): Reference the variable to avoid the
31584         "unused variable" warning.
31586 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31588         maint: various whitespace cleanups in tempname
31589         * lib/tempname.c: Normalize spacing and line length.
31590         * lib/tempname.h: Likewise.
31591         * modules/tempname: Likewise.
31593 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31595         tests: provide returns_() to simplify exit status checking
31596         * tests/init.sh (returns_): A new function for use in tests,
31597         to allow for easier checking of return values, where you expect
31598         a command to exit with failure status.  By checking for a particular
31599         exit code, you don't hide any crashes for example.
31601 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31603         mountlist: only use libmount when specified
31604         There are currently many shared libs dependencies introduced by
31605         libmount with associated runtime and virt mem overhead.
31606         Therefore don't enable by default.
31607         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
31609 2015-02-08  Daiki Ueno  <ueno@gnu.org>
31611         uniname/unimame-tests: don't link with -lunistring
31612         * modules/uniname/uniname-tests (Makefile.am): Don't link against
31613         $(LIBUNISTRING).  Document the rationale why we need to
31614         conditionalize the test.
31616 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
31618         fstrcmp: don't assume strlen < INT_MAX
31619         * lib/fstrcmp.c: Include stddef.h and stdint.h.
31620         (uintptr_t): Remove, as we're now assuming stdint.
31621         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
31622         Prefer ptrdiff_t to int when the value could exceed INT_MAX
31623         if the input string is long.
31624         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
31625         uintptr_t to size_t when the underlying value is a pointer casted
31626         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
31627         * modules/fstrcmp (Depends-on): Add stdint.
31629         diffseq: prefer ptrdiff_t to ssize_t
31630         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
31631         ptrdiff_t is the natural type for signed indexes.
31632         On a few older platforms, ssize_t is narrower than size_t.
31634         xalloc: fix typo that suppressed warnings
31635         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
31636         This typo, introduced a couple of years ago, mistakenly suppressed
31637         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
31638         -Wmissing-declarations warnings.
31640         full-read: fix license notice typo
31641         * lib/full-read.h: Remove a stray line in the license notice.
31642         Reported by Sam Ellis in: http://bugs.gnu.org/19808
31644         crypto/gc: fix a -Wswitch warning
31645         Reported by Bruce Korb in:
31646         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
31647         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
31649 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31651         gnulib-tool: fix handling of patch(1) diagnostics
31652         * gnulib-tool: Send diagnostics from patch(1) to stderr,
31653         as otherwise gnulib-tool will reparse that output and attempt
31654         to lookup modules.
31656 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31658         bootstrap: exit immediately upon gnulib-tool failure
31659         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
31660         This was noticed when gnulib-tool exited early due to failure
31661         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
31662         but various confusing errors were then given as the build proceeded.
31664 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
31666         symlinkat: include all required header files
31667         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
31668         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
31669         Reported at https://savannah.gnu.org/bugs/index.php?44151
31670         and by Jack Howarth.
31672 2015-01-29  Pádraig Brady  <P@draigBrady.com>
31674         localename: support Solaris 12 and illumos
31675         * lib/localename.c (gl_locale_name_thread_unsafe): call
31676         getlocalename_l() on newer __sun platforms.
31677         Reported by Alexander Pyhalov.
31678         Fix suggested by Rich Burridge.
31680 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
31682         locale: fix tests on illumos (trivial)
31683         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
31684         so move from global scope to main().
31686 2015-01-24  Daiki Ueno  <ueno@gnu.org>
31688         unictype: avoid undefined left-shift behavior
31689         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
31690         gcc's -fsanitize=shift and running its tests triggered:
31691           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
31692             places cannot be represented in type 'int'
31693         Cast LHS to 'unsigned int' after integer promotion.
31694         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
31695         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
31697 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31699         libunistring: bump version of unitypes dependants
31700         Due to the header file search order, all the headers which depend
31701         on unitypes.h need to be generated, when the preinstalled
31702         libunistring is older.
31703         * modules/unicase/base (configure.ac): Bump minimum version to
31704         0.9.4.
31705         * modules/uniconv/base (configure.ac): Likewise.
31706         * modules/unilbrk/base (configure.ac): Likewise.
31707         * modules/uninorm/base (configure.ac): Likewise.
31708         * modules/unistdio/base (configure.ac): Likewise.
31709         * modules/unistr/base (configure.ac): Likewise.
31710         * modules/uniwbrk/base (configure.ac): Likewise.
31711         * modules/uniwidth/base (configure.ac): Likewise.
31713 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31715         unictype/category-none: fix link with libunistring
31716         Since _UC_CATEGORY_NONE is not a public symbol, it will be
31717         prefixed with "libstring_" when compiled as part of libunistring.
31718         To avoid undefined symbol at link time, increase the minimum
31719         version when the dependant modules are updated.
31720         * modules/unictype/category-none (configure.ac): Bump minimum
31721         version to 0.9.5.
31723 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31725         unitypes: fix build with installed libunistring
31726         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
31727         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
31728         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
31730 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31732         time: port to MinGW32 3.21
31733         Problem reported by Eli Zaretskii in:
31734         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
31735         * lib/time.in.h:
31736         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
31737         * modules/time (Depends-on):
31738         Fall back on unistd.h if the other include files don't define
31739         struct timespec.
31741         update-copyright: apply to self
31742         * build-aux/update-copyright: Fix copyright date.  How ironic!
31744 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31746         libunistring: update to Unicode 7.0.0
31747         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
31748         Manichaean names.
31749         * lib/unictype/joininggroup_name.h: Likewise.
31750         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
31751         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
31752         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
31753         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
31754         (fill_arabicshaping, joining_group_as_c_identifier): Support those
31755         enum values.
31756         (is_property_alphabetic): Accept newly added characters to
31757         cuneiform numeric signs.
31758         (is_property_default_ignorable_code_point): Reject U+0605.
31759         (FIELDLEN): Increase from 120 to 160.
31760         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
31761         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
31762         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
31763         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
31764         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
31765         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
31766         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
31767         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
31768         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
31769         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
31770         U+1E8D0..U+1E8D6.
31771         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
31772         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31773         lib/uniwidth/width.c.
31774         * all generated files under lib/uni* and tests/uni*: Regenerate.
31776 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31778         libunistring: update to Unicode 6.3.0
31779         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31780         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
31781         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
31782         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
31783         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
31784         Update WB5, WB9, WB10, WB13a, and WB13b.
31785         * tests/uniwbrk/test-uc-wordbreaks.c
31786         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
31787         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31788         (UC_BIDI_PDI): New enumeration values.
31789         (bidi_category_byname): Support those enum values.
31790         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
31791         dedicated property assigned.
31792         (is_property_case_ignorable): Check 0x0027.
31793         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31794         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31795         (output_wbp): Support those enum values.
31796         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31797         (UC_BIDI_PDI): New enumeration values.
31798         * lib/unictype/bidi_byname.gperf: Add those property names.
31799         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
31800         U+180E, U+1A1B, and U+2066..U+2069.
31801         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31802         lib/uniwidth/width.c.
31803         * all generated files under lib/uni* and tests/uni*: Regenerate.
31805 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31807         libunistring: update to Unicode 6.2.0
31808         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
31809         (unilbrk_table): Adjust table size.
31810         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31811         for LBP_RI.
31812         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
31813         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
31814         Normalize table index skipping ignored properties.
31815         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
31816         WBP_EXTEND and WBP_FORMAT, which are now computed without using
31817         the table.
31818         * lib/uniwbrk/wbrktable.h: Adjust table size.
31819         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
31820         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
31821         Support rule GB8a.
31822         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
31823         * tests/unigbrk/test-uc-is-grapheme-break.c
31824         (graphemebreakproperty_to_string): Support GBP_RI.
31825         * tests/uniwbrk/test-uc-wordbreaks.c
31826         (wordbreakproperty_to_string): Support WBP_RI.
31827         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
31828         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
31829         (output_lbp): Support LBP_RI.  Adjust some characters changed from
31830         LBP_AL to LBP_ID.
31831         (output_lbp): Support LBP_RI.
31832         (WBP_RI): New enumeration value.
31833         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31834         (output_wbp): Support WBP_RI.
31835         (GBP_RI): New enumeration value.
31836         (output_gbp_test, fill_org_gbp): Support GBP_RI.
31837         * all generated files under lib/uni* and tests/uni*: Regenerate.
31839 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31841         libunistring: update to Unicode 6.1.0
31842         * lib/gen-uni-tables.c (output_joining_group): Switch to
31843         3-level table to accommodate joining groups defined with higher
31844         codepoint value.  Since there are only 88 groups defined in
31845         Unicode 7.0.0, use 7-bit packed format for level3 entries.
31846         (get_lbp): Update for Unicode 6.1.0.
31847         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
31848         3-level table.
31849         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
31850         joining group name.
31851         * lib/unictype/joininggroup_name.h: Likewise.
31852         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
31853         (unilbrk_table): Adjust table size.
31854         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31855         for LBP_HL.
31856         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
31857         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
31858         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
31859         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
31860         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
31861         U+302E..U+302F.
31862         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31863         lib/uniwidth/width.c.
31864         * all generated files under lib/uni* and tests/uni*: Regenerate.
31865         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
31867 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31869         uniwbrk/u32-wordbreaks-tests: add conformance test
31870         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
31871         tests/uniwbrk/test-uc-wordbreaks.c,
31872         tests/uniwbrk/test-uc-wordbreaks.sh, and
31873         tests/uniwbrk/WordBreakTest.txt.
31874         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
31875         test-uc-wordbreaks to $(check_PROGRAMS), and define
31876         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
31877         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
31878         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
31880 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31882         uniwbrk: ignore Extended/Format characters at BOL not BOS
31883         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
31884         characters if the previous character property is one of
31885         WBP_NEWLINE, WBP_CR, and WBP_LF.
31887 2015-01-11  Jim Meyering  <meyering@fb.com>
31889         test-strstr.c: avoid a trivial leak
31890         * tests/test-strstr.c (main): Free haystack.
31892         update-copyright: recognize groff's \(co marker
31893         * build-aux/update-copyright (circle_c_re): Also accept
31894         uses of \(co, as found in gzip.1.
31896 2015-01-08  Pádraig Brady  <P@draigBrady.com>
31898         maint.mk: fix compatibility with OS X nm
31899         * top/maint.mk (_gl_tight_scope): Use the -g option to
31900         show exported items rather than the -e option which is
31901         ignored on all platforms except OS X where it gives an error.
31902         Reported by Assaf Gordon.
31904 2015-01-07  KO Myung-Hun  <komh@chollian.net>
31906         localcharset: improve charset detection on OS/2
31907         Use system codepage when appropriate.  Map OS/2 codepages to
31908         GNU canonical charset names if possible.
31909         * lib/config.charset: Don't output aliases if "$os" is os2*.
31910         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
31911         result for OS/2.
31912         (locale_charset) [OS2]: Use system codepage if codeset is omitted
31913         from the locale name which is neither "C" nor "POSIX".
31915 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
31917         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
31918         This reverts the last patch but one, as it shouldn't be needed now
31919         that the typo is fixed.
31920         * lib/count-leading-zeros.h (count_leading_zeros_ll):
31921         * lib/count-trailing-zeros.h:
31922         * lib/count-one-bits.h:
31923         Go back to using 64-bit intrinsics.
31925         count-leading-zeros: fix pragma typos
31926         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
31927         Fix typos in declaration of intrinsics when _MSC_VER.
31929 2015-01-06  Pádraig Brady  <P@draigBrady.com>
31931         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
31932         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
31933         intrinsics in this case.
31934         * lib/count-trailing-zeros.h: Likewise.
31935         * lib/count-one-bits.h: Likewise.
31937 2015-01-06  Daiki Ueno  <ueno@gnu.org>
31939         uniname/uniname: update to Unicode 7.0.0
31940         To accommodate new characters added since Unicode 5.1.0, this
31941         changes the internal representation of codepoint ranges.
31942         Previously, we grouped codepoint ranges by manually assigned 4-bit
31943         tag, which only allowed 16 groups.  This removes the limitation by
31944         switching to binary search on a table.  For the detail rationale
31945         and the benchmark results, see:
31946         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
31947         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
31948         to INDEX, as it no longer represents a codepoint.
31949         (range): New struct.
31950         (main): Switch to intervals list from a bit-pattern based
31951         classification.
31952         * lib/uniname/uninames.h: Regenerate.
31953         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
31954         * modules/uniname/base (configure.ac): Bump minimum version to
31955         0.9.5.
31956         * modules/uniname/uniname (configure.ac): Bump minimum version to
31957         0.9.5.
31959 2015-01-05  Eric Blake  <eblake@redhat.com>
31961         doc: update INSTALL from autoconf
31962         * doc/install.texi: Resync from autoconf.
31963         * doc/INSTALL: Reflect recent autoconf update.
31964         * doc/INSTALL.ISO: Likewise.
31965         * doc/INSTALL.UTF-8: Likewise.
31967         stdio: fix use of PRIdMAX on modern mingw
31968         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
31969         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
31970         to work with modern mingw.
31972 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
31974         pthread: detect git mingw builds with only partial pollution
31975         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
31976         pollution, as seen temporarily in Fedora 21.
31978 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
31980         lib-symbol-versions: cache script check
31981         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
31982         Cache the check for linker version scripts.
31983         From a suggestion by Christophe Curis in:
31984         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
31986 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
31988         maint: fix grammar nits in propername (trivial change)
31989         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
31990         and use an adequate verb and tense.
31992 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
31994         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
31995         * module/gendocs: Add 'doc/gendocs_template_min'.
31997         * build-aux/gendocs.sh: Change email addresses and upstream URLs
31998         from to Gnulib's.
31999         (scripturl, templateurl): Adjust accordingly.
32001 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32003         gendocs: copyright date and version fix
32004         Reported by Karl Berry in:
32005         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
32006         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
32007         Fix copyright date.
32008         * build-aux/gendocs.sh (scriptversion): Update.
32010 2015-01-01  Karl Berry  <karl@gnu.org>
32012         * doc/install.texi,
32013         * build-aux/mdate-sh,
32014         * build-aux/depcomp,
32015         * build-aux/config.guess,
32016         * build-aux/config.sub,
32017         * build-aux/ar-lib,
32018         * build-aux/compile: revert copyright updates (some from last
32019         year) in slaved files.
32021 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
32023         version-etc: new year
32024         * doc/gnulib.texi:
32025         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
32026         * all files: Run 'make update-copyright'.
32028 2014-12-30  Pádraig Brady  <P@draigBrady.com>
32030         xstrtol: ensure errno is reset
32031         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
32032         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
32034         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
32036 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32038         utimens: fix dependency typo
32039         * modules/utimens (Depends-on): Remove 'assure'.
32040         This bug was introduced in the recent 'assure' patch.
32042 2014-12-22  Eric Blake  <eblake@redhat.com>
32044         docs: mention why libgen.h is bad
32045         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
32047 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
32049         assure: new module
32050         This works better than 'assert' when compiling with -DNDEBUG,
32051         as it avoids some compiler diagnostics in that case.
32052         Reported by Norihiro Tanaka in:
32053         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
32054         * MODULES.html.sh (func_all_modules): Add 'assure'.
32055         * lib/assure.h, modules/assure: New files.
32056         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
32057         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
32058         Prefer 'assure' to 'assert'.
32059         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
32060         * modules/chdir-long, modules/cycle-check, modules/fchdir:
32061         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
32062         Depend on 'assure'.
32064 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
32066         stdalign: port better to HP compilers
32067         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
32068         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
32070         stdalign: work around Apple GCC 4.0 bug
32071         Reported by David Fang in:
32072         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
32073         * lib/stdalign.in.h (_Alignas):
32074         * m4/stdalign.m4 (gl_STDALIGN_H):
32075         Do not use aligned attribute with GCC 4.0 on Apple.
32077 2014-12-16  Pádraig Brady  <P@draigBrady.com>
32079         getcwd: fix test failure on OS X 10.9
32080         * m4/getcwd-path-max.m4: Avoid the replacement if it
32081         won't be effective due to the PATH_MAX limitation of lstat().
32082         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
32083         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
32084         for this case for use in tests, and also exclude this
32085         case when setting REPLACE_GETCWD.
32086         * tests/test-getcwd.c (test_long_name): Restrict the
32087         tested path length so that lstat() will not be passed
32088         a path greater than PATH_MAX.
32089         Also key a test condition on HAVE_OPENAT_SUPPORT rather
32090         than AT_FDCWD, since the latter is set unconditionally
32091         since Sep 2009 in commit 52c658e9.
32093 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
32095         parse-datetime: avoid a compiler warning with byacc (trivial)
32096         * lib/parse-datetime.y (yylex): Use the same prototype in the
32097         function definition as the declaration, to avoid a -Wstrict-prototypes
32098         warning seen when using byacc.
32100 2014-12-12  Daiki Ueno  <ueno@gnu.org>
32102         unicase/locale-language-tests: fix LOCALE_FR test
32103         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
32104         a French locale with traditional encoding.
32105         Reported by umerqayam in:
32106         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
32108 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32110         stddef: support C11's max_align_t
32111         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
32112         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
32113         Do not undef, as that might cause max_align_t to be defined twice.
32114         Instead, change use to check for _GL_STDDEF_WINT_T too.
32115         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
32116         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
32117         Check for max_align_t.
32118         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
32119         * modules/stddef-tests (Depends-on): Add stdalign.
32120         * tests/test-stddef.c: Test max_align_t.
32122 2014-12-11  Daiki Ueno  <ueno@gnu.org>
32124         unistd: fix iOS check conditional
32125         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
32126         as 0 or 1 in <TargetConditionals.h>, and the previous check always
32127         yielded true on non-iOS environment.
32128         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
32129         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
32130         they are defined.
32132 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
32134         posixtm: avoid compiler warning in a better way
32135         * lib/posixtm.c (IF_LINT): Remove.
32136         (year, posix_time_parse):
32137         Return true (not 0) if successful.  All callers changed.
32138         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
32140 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32142         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
32143         started with '/' on EMX.
32145 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
32147         freopen: workaround freopen() on OS/2 kLIBC
32148         * lib/freopen.c (rpl_freopen): Workaround.
32149         * m4/freopen.m4: Add os2* case.
32151         get_shared_library_fullname: port to EMX
32152         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
32153         on EMX, respectively.
32154         (_DLL_InitTerm): New on EMX.
32155         (get_shared_library_fullname): Implement on EMX.
32157         find_executable: port to EMX
32158         * lib/progreloc.c (find_executable): Implement on EMX.
32160         sched: check struct sched_param in spawn.h as well
32161         * lib/sched.in.h: Include spawn.h on kLIBC.
32162         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
32164 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
32166         bootstrap: Allow perl modules in $buildreq
32167         * build-aux/bootstrap: Add case for perl modules.
32169 2014-12-08  Pádraig Brady  <P@draigBrady.com>
32171         apply _GL_ATTRIBUTE_PURE to some inline functions
32172         clang 3.4.2 flagged these inline functions as pure
32173         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
32174         * lib/sig-handler.h (get_handler): Likewise.
32175         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
32176         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
32178 2014-12-06  Pádraig Brady  <P@draigBrady.com>
32180         vasnprintf: fix potential use after free
32181         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
32182         flagged by clang-analyzer 3.4.2.
32184 2014-12-05  Pádraig Brady  <P@draigBrady.com>
32186         filevercmp, posixtm: avoid compiler warnings with -O3
32187         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
32188         * lib/posixtm.c: (IF_LINT): Define.
32189         (posix_time_parse): Use it to void a "may be used uninitialized"
32190         warning, seen only with -O3.
32192 2014-12-05  Bruno Haible  <bruno@clisp.org>
32194         Fix LDBL80_WORDS macro on big endian platforms.
32195         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
32196         LDBL80_WORDS macro.
32197         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32198         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32199         * tests/test-isfinite.c (test_isfinitel): Likewise.
32200         * tests/test-isinf.c (test_isinfl): Likewise.
32201         * tests/test-isnan.c (test_long_double): Likewise.
32202         * tests/test-isnanl.h (main): Likewise.
32203         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
32204         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
32205         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
32206         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
32207         Reported by Pádraig Brady.
32209 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
32211         git-version-gen: do not print new line characters
32212         * build-aux/git-version-gen: Use printf instead of echo and tr.
32214         gnulib-tool: recognize x:* as an absolute path
32215         * gnulib-tool (func_gnulib_dir): Add ?:* case.
32216         (func_relconcat): Likewise.
32218 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
32220         argp: avoid extraneous translation and mem leak with empty pre doc
32221         * lib/argp-help.c (argp_doc): Never translate the empty string,
32222         when "\v" is the first or last character of the string, as that
32223         has a reserved meaning to return the header info from a po file.
32224         This also fixes a small memory leak in the !post case.
32225         The issue can be seen with this command for example:
32226         LC_MESSAGES=en_US grub2-mknetdir --help
32228 2014-11-27  Daiki Ueno  <ueno@gnu.org>
32230         uniname/uniname-tests: skip if system's libunistring is used
32231         * modules/uniname/uniname-tests (Makefile.am): Skip test if
32232         uniname/uniname module is not compiled.
32234 2014-11-27  Pádraig Brady  <P@draigBrady.com>
32236         printf: fix configure check on big endian systems
32237         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
32239 2014-11-22  Daiki Ueno  <ueno@gnu.org>
32241         pipe-filter-gi, pipe-filter-ii: port to AIX
32242         On AIX 7.1, 'select' is defined as static and cannot be referred
32243         to from inline function.
32244         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
32245         the definition...
32246         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
32247         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
32249 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32251         gitlog-to-changelog: add --until
32252         * build-aux/gitlog-to-changelog: Support new --until option.
32253         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
32255 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32257         extern-inline: update commentary about GCC bugs
32258         * m4/extern-inline.m4: Add another GCC bug number to comments.
32260 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32262         gen-uni-tables: untabify
32263         * lib/gen-uni-tables.c: Untabify.
32265 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32267         gen-uni-tables: check out-of-range values added to 3-level tables
32268         * lib/gen-uni-tables.c (output_category, output_bidi_category)
32269         (output_joining_type, output_ident_category): Check out-of-range
32270         values added to 3-level tables.
32272 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32274         gen-uni-tables: utilize 'assert'
32275         * lib/gen-uni-tables.c: Include <assert.h>.
32276         (output_category, output_combclass, output_decimal_digit_test)
32277         (output_decimal_digit, output_digit_test, output_digit)
32278         (output_numeric, get_mirror_value, fill_properties)
32279         (fill_property30, is_property_alphabetic)
32280         (is_property_default_ignorable_code_point)
32281         (is_property_uppercase, is_property_lowercase)
32282         (is_property_cased, is_property_case_ignorable)
32283         (is_property_changes_when_lowercased, is_property_iso_control)
32284         (is_property_math, fill_arabicshaping, output_joining_group)
32285         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
32286         (output_wbp, fill_org_gbp, get_decomposition)
32287         (output_decomposition, fill_composition_exclusions)
32288         (debug_output_composition_tables, output_composition_tables)
32289         (redistribute_casefolding_rules, output_casing_rules): Use
32290         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
32291         reporting.
32293 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32295         gen-uni-tables: cosmetic improvements
32296         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
32297         variables specification.
32298         (is_outdigit): Remove unused function.
32300 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
32302         fcntl-h-tests: port to PA-RISC GNU/Linux
32303         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
32305 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
32307         fts: port to C89
32308         Problem reported for MSVC 16 by Gisle Vanem in:
32309         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
32310         * lib/fts.c (fts_build): Avoid declaration before statement.
32312 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
32314         unistd: port to iOS
32315         Problem reported by André Klitzing in:
32316         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
32317         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
32319 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
32321         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
32322         Problem reported by Alan Modra in:
32323         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
32324         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
32325         Always cast the function arg, reverting this part of the previous
32326         change.
32328 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
32330         obstack: avoid potentially-nonportable function casts
32331         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
32332         Remove, replacing with ...
32333         (call_chunkfun, call_freefun): New static functions.
32334         All uses changed.  Avoid potentially-nonportable casts.
32335         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
32336         (_obstack_begin_worker): Omit last two args, since they
32337         rely on potentially-nonportable casts.  All callers changed.
32338         * lib/obstack.h (_OBSTACK_CAST): New macro.
32339         Use it everywhere the old API used a potentially-nonportable cast.
32340         The new API doesn't cast.
32341         (struct obstack): Use unions rather than requiring
32342         potentially-nonportable casts.
32343         (obstack_chunkfun, obstack_freefun): Return void.
32345 2014-11-03  Alan Modra  <amodra@gmail.com>
32347         obstack: fix macro return values
32348         * lib/obstack.h (obstack_next_free): Return void *.
32349         (obstack_1grow_fast, obstack_blank_fast): Return void.
32350         For __GNUC__ macros:
32351         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
32352         For !__GNUC__ macros:
32353         (obstack_make_room, obstack_grow, obstack_grow0)
32354         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
32356 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32358         obstack: do not assume system-supplied obstack is size_t safe
32359         * m4/obstack.m4: New file.
32360         * modules/obstack (Files): Add it.
32362         obstack: port to platforms that #define __alignof__
32363         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
32364         not if !_LIBC.  We don't know of any platforms that #define
32365         __alignof__, but it might be useful in tests.  Conversely,
32366         glibc assumes GCC.
32368 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32370         linkat: don't unconditionally replace on GNU/Linux
32371         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
32372         was redundant for a few reasons.  It was present to support compiling
32373         on new systems but running on the old narrow window of Linux 2.6.1[67].
32374         It setup and cleaned up test files which weren't actually used.
32375         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
32376         implicit in the following check.
32378 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32380         linkat: wrap to handle symlinks on OS X 10.10
32381         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
32382         but not usable because it doesn't support creating hardlinks
32383         to symlinks.  Therefore add a generic test for this capability
32384         and fallback to our emulation if linkat() fails with ENOTSUP.
32386 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32388         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
32389         * doc/posix-functions/open.texi (open):
32390         * doc/posix-functions/openat.texi (openat):
32391         Document that these functions do not set errno to ELOOP when
32392         a symlink is opened with O_NOFOLLOW.
32394 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32396         obstack: add NEWS entry for recent incompatible changes
32397         * NEWS: Describe recent changes.
32399 2014-10-30  Pádraig Brady  <P@draigBrady.com>
32401         mountlist: don't use libmount to decide on dummy/remote
32402         * lib/mountlist.c (read_file_system_list): Don't use the libmount
32403         routines to determine whether a file system is dummy or remote,
32404         as they're not currently compatible.  For example the remoteness
32405         is determined on file system type (for which the list seems incomplete),
32406         rather than simply checking for a ':' in the device name.
32407         Also libmount currently determines that 'tmpfs' is a dummy file system
32408         even though it has associated storage.
32410 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
32412         obstack: prefer __alignof__ to alignof
32413         This is for portability to pre-4.7 GCC when compiling glibc.
32414         See Joseph S. Myers in:
32415         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
32416         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
32417         New macro, defined by including and using <alignof.h>.
32418         (MAX): New macro.
32419         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
32420         Do not use enums as they are not portable to some broken compilers.
32421         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
32423         obstack: prefer alignof to calculating alignments by hand
32424         * lib/obstack.c: Include <stdalign.h>.
32425         (struct fooalign): Remove.
32426         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
32427         * modules/obstack (Depends-on): Add stdalign.
32429 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
32431         obstack: use size_t alignments and check for overflow
32432         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
32433         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
32434         * lib/obstack.h (struct obstack.alignment_mask):
32435         Use _OBSTACK_SIZE_T, not int, for alignments.
32436         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
32437         overflows, e.g., when adding the alignment.
32439 2014-10-29  Alan Modra  <amodra@gmail.com>
32441         obstack: 64-bit obstack support, part 3
32442         This finally enables full 64-bit obstack support.  The glibc
32443         shared library specific code is removed from obstack.c too, and
32444         the error handling code conditionally compiled under control of
32445         another macro, _OBSTACK_NO_ERROR_HANDLER.
32446         * lib/obstack.h: Include string.h earlier.
32447         (_OBSTACK_INTERFACE_VERSION): Define.
32448         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
32449         * lib/obstack.c: Don't include shlib-compat.h.
32450         (OBSTACK_INTERFACE_VERSION): Delete.
32451         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
32452         glibc code is compatible with version 2.  Don't include stdio.h for
32453         __GNU_LIBRARY.
32454         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
32455         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
32456         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
32457         glibc shared library specific source.
32459         obstack: 64-bit obstack support, part 2
32460         This gets us 4G obstack support, without changing ABI
32461         compatibility, apart from possibly introducing some
32462         signed/unsigned comparison warnings in code that uses obstack.h.
32463         a) Replace "int" size parameters, return values, and macro local vars
32464            with _OBSTACK_SIZE_T, an "unsigned int" for now.
32465         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
32466         c) Make all obstack macros checking available room use obstack_room.
32467            "next_free + desired > chunk_limit" may wrap the lhs for chunks
32468            allocated near the top of memory.
32469         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
32470         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
32471         in place of "int" size parameters, return values and local vars.
32472         (_CHUNK_SIZE_T): Define.
32473         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
32474         union use an _OBSTACK_SIZE_T integer type.
32475         For __GNUC__ versions of the following macros...
32476         (obstack_room): Rename local var.
32477         (obstack_make_room): Use obstack_room.
32478         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32479         obstack_int_grow, obstack_blank): Likewise.
32480         (obstack_finish): Use unsigned comparison when comparing aligned
32481         next_free against chunk_limit.
32482         (obstack_free): Cast OBJ to remove possible const qualifier.
32483         For !__GNUC__ versions of the following macros...
32484         (obstack_make_room): Use obstack_room.
32485         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32486         obstack_int_grow, obstack_blank): Likewise.
32487         (obstack_finish): Use unsigned comparision when comparing aligned
32488         next_free against chunk_limit.
32489         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
32490         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
32491         _OBSTACK_SIZE_T.
32492         (_obstack_begin, _obstack_begin_1): Likewise.
32493         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
32494         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
32496         obstack: 64-bit obstack support, part 1
32497         a) Correct calls to alloc function, to use a size_t arg.  "long" is
32498            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
32499            and "size_t" 64 bits.
32500         b) Consolidate _obstack_begin and _obstack_begin1 code.
32501         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
32502         use "size_t" rather than "long".
32503         (_obstack_begin, _obstack_begin1): Likewise.
32504         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
32505         obstack_chunkfun): Update alloc function casts.
32506         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
32507         (chunkfun_type, freefun_type): New typdefs.
32508         (_obstack_begin_worker): Split out from ..
32509         (_obstack_begin, _obstack_begin_1): ..here.
32511         obstack: tidy part 2
32512         a) Don't be concerned about "not polluting the namespace with stddef.h
32513            symbols" in obstack.h, since gnulib string.h includes stddef.h
32514            anyway, and it seems unlikely that anyone would care.
32515         b) Don't roll our own slow memcpy in _obstack_newchunk.
32516         c) Rename obstack_free to _obstack_free.  This makes the naming
32517            consistent with other obstack functions and obviates the need for
32518            __obstack_free.  Ancient obstack.c defined both obstack_free and
32519            _obstack_free.  We continue to do that for _LIBC via an alias.
32520         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
32521            is clever, but nowadays gcc warns on undefined macros.  You'll get
32522            an undefined macro warning if simulating an old gcc with -U__GNUC__
32523            -U__GNUC_MINOR__ -D__GNUC__=1.
32524         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
32525         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
32526         (__obstack_free): Delete, update refs.
32527         (_obstack_free): Rename from obstack_free.
32528         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
32529         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
32530         * lib/obstack.c: Don't include stddef.h.
32531         (COPYING_UNIT): Delete.
32532         (_obstack_begin): Formatting fix.
32533         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
32534         (_obstack_free): Rename from __obstack_free, update alias.  Move
32535         undef of obstack_free to where it is needed.
32537         obstack: tidy part 1
32538         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
32539            to me, and result in overlong lines after later patches.
32540         b) Move error handling code, to avoid a forward declaration and to
32541            simplify later patches in this series.
32542         * lib/obstack.h (struct obstack <temp>): Rename fields of union
32543         and update all uses.
32544         * lib/obstack.c: Include stdlib.h earlier.
32545         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
32546         in file.
32547         (print_and_abort): Remove now redundant forward declaration.
32549 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32551         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
32552         Without this change, in bleeding-edge fileutils Autoconf complains
32553         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
32554         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
32555         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
32556         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
32558 2014-10-24  Daiki Ueno  <ueno@gnu.org>
32560         iconv: avoid false detection of non-working iconv
32561         The INBUF arguments of iconv can be either 'const char **'
32562         or 'char **'.  If CC is g++, the difference causes a compile error
32563         and thus leads to a false detection of non-working iconv.
32564         Reported by Eli Zaretskii and Werner LEMBERG in:
32565         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
32566         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
32567         iconv.  Bump serial number.
32569 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32571         bootstrap: print more diagnostics for missing programs
32572         * build-aux/bootstrap: only suppress stderr when checking for
32573         alternative program names.  This supports programs issuing non
32574         standard error messages.
32576 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32578         bootstrap: only update the gnulib submodule
32579         * build-aux/bootstrap: Restrict the "submodule update" command
32580         to the gnulib path.
32582 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
32584         symlinkat: port to AIX 7.1
32585         * doc/posix-functions/symlinkat.texi (symlinkat):
32586         Mention AIX porting problem.
32587         * lib/symlinkat.c: Always include errno.h.
32588         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
32589         * lib/unistd.in.h (symlinkat): Add replacement machinery.
32590         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
32591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
32592         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
32593         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
32594         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
32596         readlinkat: port to AIX 7.1
32597         * doc/posix-functions/readlink.texi (readlink):
32598         * doc/posix-functions/readlinkat.texi (readlinkat):
32599         Mention AIX porting problem.
32600         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
32601         New function.
32602         * lib/unistd.in.h (readlinkat): Add replacement machinery.
32603         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
32604         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
32605         * modules/readlinkat (configure.ac): Also compile replacement
32606         if REPLACE_READLINKAT.
32607         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
32609 2014-10-12  Karl Berry  <karl@gnu.org>
32611         * doc/posix-functions/dirname.texi: remove spurious {.
32613 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
32615         basename, dirname: Improve documentation.
32616         * doc/posix-functions/basename.texi: Mention dirname module and
32617         base_name() function.
32618         * doc/posix-functions/dirname.texi: Mention dir_name() and
32619         mdir_name() functions.
32620         Suggested by Werner LEMBERG <wl@gnu.org>.
32622 2014-09-24  Jim Meyering  <meyering@fb.com>
32624         exclude: declare exclude_patopts static
32625         * lib/exclude.c (exclude_patopts): Declare static,
32626         to avoid triggering a -Wmissing-prototypes warning.
32627         The alternative (declaring it in the .h file) would
32628         require publicizing the private "struct patopts".
32630 2014-09-21  Werner Lemberg  <wl@gnu.org>
32632         dirname: support compilation with C++
32633         * lib/dirname.h: Add necessary C linkage declarations.
32635 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
32637         qsort_r: include <config.h>
32638         Problem reported by Tom G. Christensen in:
32639         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
32640         * lib/qsort.c [!_LIBC]: Include <config.h> first.
32642 2014-09-16  Dylan Cali  <calid1984@gmail.com>
32644         avltree-list: avoid compiler warnings (trivial)
32645         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
32646         -Werror=suggest-attribute=pure.
32647         * lib/gl_array_list.c: Likewise.
32648         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
32649         declaration to avoid -Werror=missing-prototypes.  This is not added
32650         to a header as only exported for tests.  Add (void) to the
32651         check_invariants() call to indicate we're discarding the result
32652         in this context which avoids -Werror=unused-value.  Note we don't
32653         use ignore_value here to avoid a dependency as we know we'll not
32654         be adding __attribute__((warn_unused_result)) to check_invariants().
32655         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
32657 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32659         qsort_r: new module, for GNU-style qsort_r
32660         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
32662 2014-09-15  Werner LEMBERG  <wl@gnu.org>
32664         strerror_r-posix: support compilation with C++
32665         * lib/strerror_r.c: Add necessary C linkage declarations.
32667 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
32669         fcntl-h: fix compilation with Intel C++ compiler (trivial)
32670         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
32672 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
32674         mountlist: use /proc/self/mountinfo when available
32675         Use libmount to propagate device IDs provided by Linux in
32676         /proc/self/mountinfo.  This will give more accurate output when
32677         using df in chroot'ed environments as the device IDs are not
32678         determined by stat() which may be inaccurate within the chroot.
32679         * lib/mountlist.c (read_file_system_list): Use the libmount routines
32680         from util-linux to parse "/proc/self/mountinfo" or fall back to
32681         standard getmntent() processing.
32682         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
32683         getmntent() is used, as is the case on GNU/Linux.
32685 2014-09-07  Eric Wong  <normalperson@yhbt.net>
32687         users.txt: add cmogstored
32688         cmogstored has used gnulib since the beginning in 2012 to support
32689         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
32691 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
32693         Trivial change.
32694         * gnulib-tool: Use same options as build-aux/bootstrap to download
32695         PO files.
32697 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
32699         Trivial change.
32700         * gnulib-tool: Fallback to wget when rsync of PO files fails.
32702 2014-09-04  Eric Blake  <eblake@redhat.com>
32704         maintainer-makefile: add syntax check for useless ';;'
32705         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
32707 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
32709         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
32710         Problem reported by Assaf Gordon in:
32711         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
32712         Apparently Ubuntu is doing some fancy link-time optimization
32713         that doesn't work with -lpthread but does work with -pthread.
32714         Work around the bug by preferring -pthread to -lpthread.
32715         * m4/pthread.m4 (gl_PTHREAD_CHECK):
32716         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
32717         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32718         Treat -pthread like -lpthread.
32720 2014-09-04  Eric Blake  <eblake@redhat.com>
32722         error: drop spurious semicolon
32723         * lib/error.c (__error_at_line): Fix ';;'.
32725 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
32727         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
32728         * m4/gnulib-common.m4 (AC_C_RESTRICT):
32729         Override AC_C_RESTRICT unconditionally.
32730         Update from autoconf, incorporating:
32731         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
32732         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
32734 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32736         manywarnings: add GCC 4.9 warnings
32737         Also, make it easier to maintain this in the future.
32738         * build-aux/gcc-warning.spec: Add -Wabi-tag,
32739         -Wconditionally-supported, -Wdelete-incomplete,
32740         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
32741         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
32742         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
32743         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
32744         only for older GCC versions that need them.  Handle
32745         -Wnormalized=nfc specially, so that the 'comm' command used
32746         for maintenance doesn't get confused.
32748 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
32750         vasnprintf: fix bugs in width computation
32751         * lib/vasnprintf.c (VASNPRINTF):
32752         Rework previous change, which introduced a bug,
32753         to avoid the warning in a different way.
32754         Avoid undefined behavior if the width arg is less than -INT_MAX.
32755         Avoid unnecessary use of HAS_WIDTH local.
32757 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
32759         vasnprintf: Avoid signed/unsigned comparison warning.
32760         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
32761         compare end addr of generated string w/ maximum end addr.
32763 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
32765         parse-datetime: Avoid pointer difference.
32766         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
32767         instead of calculating difference of pointers.  This removes an
32768         annoying warning, devoid of any use.
32770 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32772         qsort_r: new module, for GNU-style qsort_r
32773         This works even on FreeBSD, which has an incompatible qsort_r API.
32774         * MODULES.html.sh: Add it.
32775         * doc/glibc-functions/qsort_r.texi: It's now supported.
32776         * lib/qsort.c: New file, taken from glibc with minor changes
32777         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
32778         removed.
32779         * lib/qsort_r.c: New file, compiled only on FreeBSD.
32780         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
32781         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
32782         * modules/qsort_r, modules/qsort_r-tests: New files.
32783         * modules/stdlib (Makefile): Set up its defaults.
32784         * tests/test-qsort_r.c: New file.
32786 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
32788         vla: new module
32789         GNU RCS can use this, mostly for documentation I expect.  See:
32790         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
32791         * MODULES.html.sh: Add vla.
32792         * lib/vla.h, modules/vla: New files.
32794 2014-08-07  Daiki Ueno  <ueno@gnu.org>
32796         localename: make gl_locale_name_thread really thread-safe on Windows
32797         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
32798         "glthread/lock.h".
32799         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
32800         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
32802 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
32804         getpass: don't assume struct termios
32805         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
32806         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
32807         * lib/getpass.c (getpass): Port to systems lacking struct termios.
32809         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
32810         Problem reported by Jonas 'Sortie' Termansen in:
32811         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
32812         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
32813         Implement via sysconf for platforms that lack getdtablesize.
32815         vararrays: modernize AC_C_VARARRAYS for C11
32816         This backports a change I recently made to Autoconf.
32817         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
32818         VLAs are not supported, as this is what C11 does.  The old macro
32819         HAVE_C_VARARRAYS is still defined if they are supported, but is
32820         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
32822 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
32824         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
32825         * build-aux/install-reloc (func_create_wrapper): Also wrap
32826         strerror-override, stat, stat.
32828 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
32830         sys_select: fix FD_ZERO problem on Solaris 10
32831         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
32832         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
32833         to expand to an expression that invoked memset without necessarily
32834         including <string.h>.  The problem was that the first include
32835         defined _SYS_TIME_H, causing the second include to short-circuit.
32836         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
32837         Also, fix what appears to be a cut-and-paste typo, by replacing
32838         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
32839         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
32841         accept: document Solaris 10 type glitch
32842         * doc/posix-functions/accept.texi (accept): Mention that
32843         Solaris 10 'accept' takes void * last arg, not socklen_t *.
32845 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
32847         extern-inline: port to FreeBSD, DragonFly
32848         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
32849         is present if either __DragonFly__ or __FreeBSD__ is defined.
32850         FreeBSD problem reported by Andrey Borzenkov in:
32851         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
32852         Also, worry about __APPLE__ only if __MACH__ is also defined,
32853         as this is more consistent with the rest of gnulib.
32854         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
32855         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
32857 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
32859         regex: Make #if/#ifdef usage consistent for DEBUG
32860         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
32861         of the inconsistent usage of #if and #ifdef as that works with
32862         both Glibc and Gnulib's style.
32864 2014-07-31  Eric Blake  <eblake@redhat.com>
32866         openat-die: use _Noreturn markup
32867         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
32868         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
32869         _Noreturn.
32871 2014-07-30  Eric Blake  <eblake@redhat.com>
32873         test-open: port to cygwin, which lacks Fortify
32874         * tests/test-open.h (ALWAYS_INLINE): New macro.
32875         (__always_inline): Don't abuse internal symbol on non-glibc.
32877 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
32879         localename: Enforce declarations before statements.
32880         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
32881         first statement.
32883 2014-07-18  Jim Meyering  <meyering@fb.com>
32885         test-userspec: don't look up numeric user names
32886         * tests/test-userspec.c: I found a system for which getpwnam("0")
32887         returned a pointer to a non-root user's entry, and that made the
32888         test fail.
32889         (T): Prefix each numeric input with "+", to inhibit lookup.
32891 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
32893         localcharset, localename: MS-Windows support for non-default locales
32894         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
32895         falling back on the default system codepage, try extracting
32896         the codepage from what 'setlocale' returns.  This allows to
32897         take into account changes of the codeset due to non-default
32898         locale set by a previous call to 'setlocale'.
32899         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
32900         Define if not already defined.
32901         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
32902         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
32903         current locale by calling 'setlocale', then converting the
32904         locale name into LCID by calling 'get_lcid'.  This allows to
32905         take into account changes in the current locale from the
32906         default one, in contrast to GetThreadLocale.
32908 2014-07-14  Daiki Ueno  <ueno@gnu.org>
32910         announce-gen: avoid failure when Digest::SHA is installed
32911         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
32912         Digest::SHA1->new in print_checksums fails.
32913         * build-aux/announce-gen (digest_classes): New associative array
32914         for available message digest implementations.
32915         (print_locations): Use it.
32917 2014-07-13  Pádraig Brady  <P@draigBrady.com>
32919         gettext: revert "update macros to version 0.19"
32920         This reverts commit 9b9370ca, as it currently requires that
32921         developers of any project that explicitly uses the gettext module
32922         or implicitly uses it through the utimens-tests or
32923         futimens-tests modules, use gettext >= 0.19.
32924         However there are some stability and availablity issues with
32925         that version at present.  We can reinstate this soon, when stability
32926         is addressed and packages are more readily available.
32928 2014-07-12  Jim Meyering  <meyering@fb.com>
32930         regex: don't deref NULL upon heap allocation failure
32931         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
32932         failure in one more place.
32933         To trigger the segfault, configure grep -with-included-regex,
32934         build it, and run these commands:
32935         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
32936         I discovered this while replying to a private report from
32937         Jens Schleusener about excessive memory consumption by grep
32938         when using a regular expression like the one above.
32940 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
32942         regex: fix memory leak in compiler
32943         Fix by Andreas Schwab in:
32944         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
32945         * lib/regcomp.c (parse_reg_exp): Deallocate partially
32946         constructed tree before returning error.
32948 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32950         announce-gen: avoid perl warnings
32951         * build-aux/announce-gen: add two minor checks to avoid
32952         "use of uninitialized value" warnings when command-line parameters are
32953         missing.
32955 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32957         localename: avoid -Wsuggest-attribute={const,pure} warnings
32958         * lib/localename.c (string_has): Tag internal function as pure.
32959         * lib/localename.h (gl_locale_name_default): Tag extern declaration
32960         as const when appropriate.
32962 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
32964         nl_langinfo: Fix last change.
32965         * lib/nl_langinfo.c (includes): Drop redundant include.
32967 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
32969         error: Fix -Wundef warnings in glibc
32970         * lib/error.c [_LIBC]: Define default macros for
32971         glibc.
32972         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
32973         Check _LIBC before STRERROR_R_CHAR_P.
32975         error: Sync from glibc master
32976         * lib/error.c [_LIBC]: Remove INTUSE usage.
32977         (error_tail): Remove unused macro ALLOCA_LIMIT.
32978         Fix potential buffer overflow.  Fix potential NULL dereference
32979         in strcmp.
32981 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
32983         nl_langinfo: fix build under mingw
32984         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
32986 2014-07-09  Andrew D Warshall  <warshall@99main.com>
32988         mountlist: do not classify a bind-mounted dir entry as "dummy"
32989         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
32990         1-argument getmntent() (instead of assuming absence).
32992 2014-07-08  Eric Blake  <eblake@redhat.com>
32994         maint.mk: less syntax-check noise when SIGPIPE is ignored
32995         * top/maint.mk (_sc_header_without_use)
32996         (sc_require_config_h_first): Parse full list.
32998 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
32999             Paul Eggert  <eggert@cs.ucla.edu>
33001         nl_langinfo: CODESET on MS-Windows and more items from localeconv
33002         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
33003         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
33004         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
33005         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
33006         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
33007         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
33008         Include <stdio.h> if Microsoft Windows.
33009         Include <time.h> if !REPLACE_NL_LANGINFO.
33010         (ctype_codeset): New function, taken from rpl_nl_langinfo,
33011         and with improvements for Microsoft Windows.
33012         (rpl_nl_langinfo): Use it.
33013         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
33014         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
33015         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
33016         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
33017         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
33018         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
33019         corresponding values returned by 'localeconv'.  Compute the values
33020         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
33021         'strftime' with a suitable struct tm value.
33023 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33025         Bruno Haible has stepped down as maintainer.
33026         See Karl Berry in:
33027         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
33028         Daiki Ueno has volunteered to maintain libunistring; see:
33029         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
33030         * modules/gen-uni-tables, modules/libunistring:
33031         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
33032         * modules/unicase/base, modules/unicase/cased:
33033         * modules/unicase/empty-prefix-context:
33034         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
33035         * modules/unicase/locale-language, modules/unicase/special-casing:
33036         * modules/unicase/tocasefold, modules/unicase/tolower:
33037         * modules/unicase/totitle, modules/unicase/toupper:
33038         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
33039         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
33040         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
33041         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
33042         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
33043         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
33044         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
33045         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
33046         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
33047         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
33048         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
33049         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
33050         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
33051         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
33052         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
33053         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
33054         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
33055         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
33056         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
33057         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
33058         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
33059         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
33060         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
33061         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
33062         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
33063         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
33064         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
33065         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
33066         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
33067         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
33068         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
33069         * modules/unicase/ulc-casexfrm, modules/unicodeio:
33070         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
33071         * modules/uniconv/u16-conv-to-enc:
33072         * modules/uniconv/u16-strconv-from-enc:
33073         * modules/uniconv/u16-strconv-from-locale:
33074         * modules/uniconv/u16-strconv-to-enc:
33075         * modules/uniconv/u16-strconv-to-locale:
33076         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
33077         * modules/uniconv/u32-strconv-from-enc:
33078         * modules/uniconv/u32-strconv-from-locale:
33079         * modules/uniconv/u32-strconv-to-enc:
33080         * modules/uniconv/u32-strconv-to-locale:
33081         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
33082         * modules/uniconv/u8-strconv-from-enc:
33083         * modules/uniconv/u8-strconv-from-locale:
33084         * modules/uniconv/u8-strconv-to-enc:
33085         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
33086         * modules/unictype/bidicategory-all:
33087         * modules/unictype/bidicategory-byname:
33088         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
33089         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
33090         * modules/unictype/bidiclass-byname:
33091         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
33092         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
33093         * modules/unictype/block-all, modules/unictype/block-list:
33094         * modules/unictype/block-of, modules/unictype/block-test:
33095         * modules/unictype/category-C, modules/unictype/category-Cc:
33096         * modules/unictype/category-Cf, modules/unictype/category-Cn:
33097         * modules/unictype/category-Co, modules/unictype/category-Cs:
33098         * modules/unictype/category-L, modules/unictype/category-LC:
33099         * modules/unictype/category-Ll, modules/unictype/category-Lm:
33100         * modules/unictype/category-Lo, modules/unictype/category-Lt:
33101         * modules/unictype/category-Lu, modules/unictype/category-M:
33102         * modules/unictype/category-Mc, modules/unictype/category-Me:
33103         * modules/unictype/category-Mn, modules/unictype/category-N:
33104         * modules/unictype/category-Nd, modules/unictype/category-Nl:
33105         * modules/unictype/category-No, modules/unictype/category-P:
33106         * modules/unictype/category-Pc, modules/unictype/category-Pd:
33107         * modules/unictype/category-Pe, modules/unictype/category-Pf:
33108         * modules/unictype/category-Pi, modules/unictype/category-Po:
33109         * modules/unictype/category-Ps, modules/unictype/category-S:
33110         * modules/unictype/category-Sc, modules/unictype/category-Sk:
33111         * modules/unictype/category-Sm, modules/unictype/category-So:
33112         * modules/unictype/category-Z, modules/unictype/category-Zl:
33113         * modules/unictype/category-Zp, modules/unictype/category-Zs:
33114         * modules/unictype/category-all, modules/unictype/category-and:
33115         * modules/unictype/category-and-not, modules/unictype/category-byname:
33116         * modules/unictype/category-longname, modules/unictype/category-name:
33117         * modules/unictype/category-none, modules/unictype/category-of:
33118         * modules/unictype/category-or, modules/unictype/category-test:
33119         * modules/unictype/category-test-withtable:
33120         * modules/unictype/combining-class:
33121         * modules/unictype/combining-class-all:
33122         * modules/unictype/combining-class-byname:
33123         * modules/unictype/combining-class-longname:
33124         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
33125         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
33126         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
33127         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
33128         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
33129         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
33130         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
33131         * modules/unictype/digit, modules/unictype/joininggroup-all:
33132         * modules/unictype/joininggroup-byname:
33133         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
33134         * modules/unictype/joiningtype-all:
33135         * modules/unictype/joiningtype-byname:
33136         * modules/unictype/joiningtype-longname:
33137         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
33138         * modules/unictype/mirror, modules/unictype/numeric:
33139         * modules/unictype/property-all, modules/unictype/property-alphabetic:
33140         * modules/unictype/property-ascii-hex-digit:
33141         * modules/unictype/property-bidi-arabic-digit:
33142         * modules/unictype/property-bidi-arabic-right-to-left:
33143         * modules/unictype/property-bidi-block-separator:
33144         * modules/unictype/property-bidi-boundary-neutral:
33145         * modules/unictype/property-bidi-common-separator:
33146         * modules/unictype/property-bidi-control:
33147         * modules/unictype/property-bidi-embedding-or-override:
33148         * modules/unictype/property-bidi-eur-num-separator:
33149         * modules/unictype/property-bidi-eur-num-terminator:
33150         * modules/unictype/property-bidi-european-digit:
33151         * modules/unictype/property-bidi-hebrew-right-to-left:
33152         * modules/unictype/property-bidi-left-to-right:
33153         * modules/unictype/property-bidi-non-spacing-mark:
33154         * modules/unictype/property-bidi-other-neutral:
33155         * modules/unictype/property-bidi-pdf:
33156         * modules/unictype/property-bidi-segment-separator:
33157         * modules/unictype/property-bidi-whitespace:
33158         * modules/unictype/property-byname:
33159         * modules/unictype/property-case-ignorable:
33160         * modules/unictype/property-cased:
33161         * modules/unictype/property-changes-when-casefolded:
33162         * modules/unictype/property-changes-when-casemapped:
33163         * modules/unictype/property-changes-when-lowercased:
33164         * modules/unictype/property-changes-when-titlecased:
33165         * modules/unictype/property-changes-when-uppercased:
33166         * modules/unictype/property-combining:
33167         * modules/unictype/property-composite:
33168         * modules/unictype/property-currency-symbol:
33169         * modules/unictype/property-dash:
33170         * modules/unictype/property-decimal-digit:
33171         * modules/unictype/property-default-ignorable-code-point:
33172         * modules/unictype/property-deprecated:
33173         * modules/unictype/property-diacritic:
33174         * modules/unictype/property-extender:
33175         * modules/unictype/property-format-control:
33176         * modules/unictype/property-grapheme-base:
33177         * modules/unictype/property-grapheme-extend:
33178         * modules/unictype/property-grapheme-link:
33179         * modules/unictype/property-hex-digit:
33180         * modules/unictype/property-hyphen:
33181         * modules/unictype/property-id-continue:
33182         * modules/unictype/property-id-start:
33183         * modules/unictype/property-ideographic:
33184         * modules/unictype/property-ids-binary-operator:
33185         * modules/unictype/property-ids-trinary-operator:
33186         * modules/unictype/property-ignorable-control:
33187         * modules/unictype/property-iso-control:
33188         * modules/unictype/property-join-control:
33189         * modules/unictype/property-left-of-pair:
33190         * modules/unictype/property-line-separator:
33191         * modules/unictype/property-logical-order-exception:
33192         * modules/unictype/property-lowercase, modules/unictype/property-math:
33193         * modules/unictype/property-non-break:
33194         * modules/unictype/property-not-a-character:
33195         * modules/unictype/property-numeric:
33196         * modules/unictype/property-other-alphabetic:
33197         * modules/unictype/property-other-default-ignorable-code-point:
33198         * modules/unictype/property-other-grapheme-extend:
33199         * modules/unictype/property-other-id-continue:
33200         * modules/unictype/property-other-id-start:
33201         * modules/unictype/property-other-lowercase:
33202         * modules/unictype/property-other-math:
33203         * modules/unictype/property-other-uppercase:
33204         * modules/unictype/property-paired-punctuation:
33205         * modules/unictype/property-paragraph-separator:
33206         * modules/unictype/property-pattern-syntax:
33207         * modules/unictype/property-pattern-white-space:
33208         * modules/unictype/property-private-use:
33209         * modules/unictype/property-punctuation:
33210         * modules/unictype/property-quotation-mark:
33211         * modules/unictype/property-radical:
33212         * modules/unictype/property-sentence-terminal:
33213         * modules/unictype/property-soft-dotted:
33214         * modules/unictype/property-space:
33215         * modules/unictype/property-terminal-punctuation:
33216         * modules/unictype/property-test, modules/unictype/property-titlecase:
33217         * modules/unictype/property-unassigned-code-value:
33218         * modules/unictype/property-unified-ideograph:
33219         * modules/unictype/property-uppercase:
33220         * modules/unictype/property-variation-selector:
33221         * modules/unictype/property-white-space:
33222         * modules/unictype/property-xid-continue:
33223         * modules/unictype/property-xid-start:
33224         * modules/unictype/property-zero-width, modules/unictype/scripts:
33225         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
33226         * modules/unictype/syntax-c-whitespace:
33227         * modules/unictype/syntax-java-ident:
33228         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
33229         * modules/unigbrk/u16-grapheme-breaks:
33230         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
33231         * modules/unigbrk/u32-grapheme-breaks:
33232         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
33233         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
33234         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
33235         * modules/unigbrk/uc-is-grapheme-break:
33236         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
33237         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
33238         * modules/unilbrk/u16-width-linebreaks:
33239         * modules/unilbrk/u32-possible-linebreaks:
33240         * modules/unilbrk/u32-width-linebreaks:
33241         * modules/unilbrk/u8-possible-linebreaks:
33242         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
33243         * modules/unilbrk/ulc-possible-linebreaks:
33244         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
33245         * modules/uniname/uniname, modules/uninorm/base:
33246         * modules/uninorm/canonical-decomposition:
33247         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
33248         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
33249         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
33250         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
33251         * modules/uninorm/nfkc, modules/uninorm/nfkd:
33252         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
33253         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
33254         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
33255         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
33256         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
33257         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
33258         * modules/unistdio/base, modules/unistdio/u-printf-args:
33259         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
33260         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
33261         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
33262         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
33263         * modules/unistdio/u16-u16-sprintf:
33264         * modules/unistdio/u16-u16-vasnprintf:
33265         * modules/unistdio/u16-u16-vasprintf:
33266         * modules/unistdio/u16-u16-vsnprintf:
33267         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
33268         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
33269         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
33270         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
33271         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
33272         * modules/unistdio/u32-u32-asnprintf:
33273         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
33274         * modules/unistdio/u32-u32-sprintf:
33275         * modules/unistdio/u32-u32-vasnprintf:
33276         * modules/unistdio/u32-u32-vasprintf:
33277         * modules/unistdio/u32-u32-vsnprintf:
33278         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
33279         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
33280         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
33281         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
33282         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
33283         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
33284         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
33285         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
33286         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
33287         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
33288         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
33289         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
33290         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
33291         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
33292         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
33293         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
33294         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
33295         * modules/unistr/u16-check, modules/unistr/u16-chr:
33296         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
33297         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
33298         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
33299         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
33300         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
33301         * modules/unistr/u16-move, modules/unistr/u16-next:
33302         * modules/unistr/u16-prev, modules/unistr/u16-set:
33303         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
33304         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
33305         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
33306         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
33307         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
33308         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
33309         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
33310         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
33311         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
33312         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
33313         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
33314         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
33315         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
33316         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
33317         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
33318         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
33319         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
33320         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
33321         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
33322         * modules/unistr/u32-next, modules/unistr/u32-prev:
33323         * modules/unistr/u32-set, modules/unistr/u32-startswith:
33324         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
33325         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
33326         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
33327         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
33328         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
33329         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
33330         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
33331         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
33332         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
33333         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
33334         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
33335         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
33336         * modules/unistr/u8-check, modules/unistr/u8-chr:
33337         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
33338         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
33339         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
33340         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
33341         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
33342         * modules/unistr/u8-next, modules/unistr/u8-prev:
33343         * modules/unistr/u8-set, modules/unistr/u8-startswith:
33344         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
33345         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
33346         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
33347         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
33348         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
33349         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
33350         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
33351         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
33352         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
33353         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
33354         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
33355         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
33356         * modules/uniwbrk/base, modules/uniwbrk/table:
33357         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
33358         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
33359         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
33360         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
33361         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
33362         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
33363         * modules/uniwidth/width, modules/utf16-ucs4:
33364         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
33365         * modules/utf8-ucs4-unsafe:
33366         Change maintainer from Bruno Haible to Daiki Ueno.
33367         This is my guess at the libunistring modules; please feel free
33368         to fix if I guessed incorrectly.
33369         * modules/accept4, modules/acl, modules/acos, modules/acosf:
33370         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
33371         * modules/areadlink, modules/array-list, modules/array-mergesort:
33372         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
33373         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
33374         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
33375         * modules/binary-io, modules/bison-i18n, modules/btowc:
33376         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
33377         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
33378         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
33379         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
33380         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
33381         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
33382         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
33383         * modules/closedir, modules/concat-filename, modules/copy-file:
33384         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
33385         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
33386         * modules/csharpcomp-script, modules/csharpexec:
33387         * modules/csharpexec-script, modules/ctype, modules/diffseq:
33388         * modules/dprintf, modules/dprintf-posix, modules/dup:
33389         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
33390         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
33391         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
33392         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
33393         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
33394         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
33395         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
33396         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
33397         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
33398         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
33399         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
33400         * modules/findprog, modules/findprog-lgpl, modules/floor:
33401         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
33402         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
33403         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
33404         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
33405         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
33406         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
33407         * modules/freadable, modules/freadahead, modules/freadptr:
33408         * modules/freadseek, modules/freopen, modules/frexp:
33409         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
33410         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
33411         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
33412         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
33413         * modules/ftello, modules/full-read, modules/full-write:
33414         * modules/fwritable, modules/fwriteerror, modules/gcd:
33415         * modules/get-rusage-as, modules/get-rusage-data:
33416         * modules/getdtablesize, modules/getrusage, modules/gettext:
33417         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
33418         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
33419         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
33420         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
33421         * modules/iconv, modules/iconv-h, modules/iconv_open:
33422         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
33423         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
33424         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
33425         * modules/integer_length_ll, modules/ioctl, modules/isatty:
33426         * modules/isblank, modules/isnand, modules/isnand-nolibm:
33427         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
33428         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
33429         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
33430         * modules/javaexec, modules/javaexec-script, modules/javaversion:
33431         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
33432         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
33433         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
33434         * modules/lib-symbol-visibility, modules/libsigsegv:
33435         * modules/linked-list, modules/linkedhash-list, modules/list:
33436         * modules/localcharset, modules/locale, modules/localeconv:
33437         * modules/localename, modules/lock, modules/log, modules/log-ieee:
33438         * modules/log10, modules/log10-ieee, modules/log10f:
33439         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
33440         * modules/log1p, modules/log1p-ieee, modules/log1pf:
33441         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
33442         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
33443         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
33444         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
33445         * modules/logf, modules/logf-ieee, modules/login_tty:
33446         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
33447         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
33448         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
33449         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
33450         * modules/mbscspn, modules/mbsinit, modules/mbslen:
33451         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
33452         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
33453         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
33454         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
33455         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
33456         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
33457         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
33458         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
33459         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
33460         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
33461         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
33462         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
33463         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
33464         * modules/posix_spawn, modules/posix_spawn-internal:
33465         * modules/posix_spawn_file_actions_addclose:
33466         * modules/posix_spawn_file_actions_adddup2:
33467         * modules/posix_spawn_file_actions_addopen:
33468         * modules/posix_spawn_file_actions_destroy:
33469         * modules/posix_spawn_file_actions_init:
33470         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
33471         * modules/posix_spawnattr_getpgroup:
33472         * modules/posix_spawnattr_getschedparam:
33473         * modules/posix_spawnattr_getschedpolicy:
33474         * modules/posix_spawnattr_getsigdefault:
33475         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
33476         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
33477         * modules/posix_spawnattr_setschedparam:
33478         * modules/posix_spawnattr_setschedpolicy:
33479         * modules/posix_spawnattr_setsigdefault:
33480         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
33481         * modules/pow, modules/powf, modules/printf-frexp:
33482         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
33483         * modules/progname, modules/propername, modules/pselect:
33484         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
33485         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
33486         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
33487         * modules/read, modules/readdir, modules/readlink:
33488         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
33489         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
33490         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
33491         * modules/relocatable-script, modules/remainder:
33492         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
33493         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
33494         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
33495         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
33496         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
33497         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
33498         * modules/setlocale, modules/sh-quote, modules/shutdown:
33499         * modules/signal, modules/signbit, modules/sigpipe:
33500         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
33501         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
33502         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
33503         * modules/snippet/link-warning, modules/snippet/unused-parameter:
33504         * modules/snprintf, modules/snprintf-posix, modules/spawn:
33505         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
33506         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
33507         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
33508         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
33509         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
33510         * modules/streq, modules/strerror_r-posix, modules/striconv:
33511         * modules/striconveh, modules/striconveha, modules/strncat:
33512         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
33513         * modules/sublist, modules/sys_resource, modules/sys_utsname:
33514         * modules/sys_wait, modules/system-posix, modules/system-quote:
33515         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
33516         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
33517         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
33518         * modules/truncf, modules/truncf-ieee, modules/truncl:
33519         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
33520         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
33521         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
33522         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
33523         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
33524         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
33525         * modules/wait-process, modules/waitpid, modules/wcpcpy:
33526         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
33527         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
33528         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
33529         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
33530         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
33531         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
33532         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
33533         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
33534         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
33535         * modules/write, modules/xconcat-filename, modules/xlist:
33536         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
33537         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
33538         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
33539         * modules/y0, modules/y1, modules/yn:
33540         Remove Bruno Haible as maintainer; if he's the sole maintainer,
33541         change the maintainer to 'all'.  Let's hope someone volunteers.
33543 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
33545         mktime: merge #if/#ifdef usage from glibc
33546         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
33547         as that works with both Glibc's and Gnulib's style.
33548         See thread starting at Siddhesh Poyarekar's bug report at:
33549         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
33551 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
33553         git-version-gen: improve option descriptions
33554         * build-aux/git-version-gen: Mention that --prefix and --fallback
33555         have a mandatory argument.
33557 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33559         regex: fix memory leak in compiler
33560         Fix by Andreas Schwab in:
33561         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
33562         * lib/regcomp.c (parse_expression): Deallocate partially
33563         constructed tree before returning error.
33565         regex: merge patch from libc
33566         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
33567         Combine __USE_BSD and __USE_SVID into __USE_MISC.
33568         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
33570 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
33572         acl: port to gcc -Wredundant-decls
33573         From a request by Dmitry Antipov in:
33574         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
33575         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
33576         "#ifndef _GL_ACL_H".
33578 2014-06-11  Bruce Korb  <bkorb@gnu.org>
33579         Jim Meyering  <meyering@fb.com>
33581         parse-duration: eliminate 68-year duration limit
33582         * lib/parse-duration.c: Include "intprops.h".
33583         (TIME_MAX): Rename to MAX_DURATION and define to
33584         TYPE_MAXIMUM(time_t).
33585         * modules/parse-duration (Depends-on): Add intprops.
33586         Reported by Jonas 'Sortie' Termansen.
33588 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
33590         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
33591         * modules/pthread (Depends-on): Add 'extensions', as it defines
33592         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
33593         (configure.ac-early): New section.
33594         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
33595         it is no longer needed.
33597 2014-06-14  Pádraig Brady  <P@draigBrady.com>
33599         pthread: define thread-safe macros on some platforms
33600         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
33601         for thread-safe operation on some platforms.
33603 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
33605         regex: don't be multithreaded if USE_UNLOCKED_IO.
33606         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
33607         * lib/regex_internal.h: Do not use multithreaded version if
33608         USE_UNLOCKED_IO is defined.  This is a hack, but it works
33609         around a porting bug with coreutils 8.22 on AIX 7.1.
33611 2014-06-11  Daiki Ueno  <ueno@gnu.org>
33613         gettext: update macros to version 0.19
33614         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
33615         depend on gl_EXTERN_INLINE and drop support for older Bison
33616         versions.
33618 2014-06-10  Pádraig Brady  <P@draigBrady.com>
33620         select,poll: fix console handle check on windows 8
33621         lib/poll.c (IsConsoleHandle): Change from testing the lower
33622         2 bits of the handle to the more expensive but accurate syscall.
33623         lib/select.c: Likewise.
33625 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33627         select: fix waiting on anonymous pipes on MS-Windows
33628         * lib/select.c (rpl_select): Fall back to polling when select()
33629         indicates there is nothing to check, while due to the timeout not
33630         expiring, activity is indicated on one of the handles.
33631         Also clear the TIMEOUT argument if the timer does expire.
33633 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33635         times: fix to return non constant value on MS-Windows
33636         * lib/times.c (times): Don't use the process creation time,
33637         rather clock() which on windows returns the number of
33638         clock ticks since the process started.
33640 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
33642         isatty: fix to work on windows 8
33643         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
33644         2 bits of the handle to the more expensive but accurate syscall.
33646 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33648         maint: fix typo in fdl.texi
33649         * doc/fdl.texi: Fix typo (missing '@').
33650         Somehow this was in fdl.texi but not fdl-1.3.texi.
33652 2014-06-06  Ben Walton  <bdwalton@gmail.com>
33654         mountlist: avoid hasmntopt const type warning on solaris
33655         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
33656         with char * instead of const char *.  Passing the constant string
33657         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
33658         to avoid the warning.
33660 2014-06-04  Eric Blake  <eblake@redhat.com>
33662         maintainer-makefile: delete obsolete code
33663         * top/maint.mk (build_aux): Drop old code, as threatened.
33665         maintainer-makefile: avoid spurious error messages
33666         * top/maint.mk (syntax-check): Guard definition and use of
33667         $(shell) by whether Makefile is present.
33669 2014-06-03  Ben Walton  <bdwalton@gmail.com>
33671         rename: avoid unused-but-set-variable compiler warning
33672         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
33673         it is possible that dst_exists may be set but not used.  Mark it with
33674         the unused attribute to avoid compiler warnings.
33676 2014-06-02  Ben Walton  <bdwalton@gmail.com>
33678         rename: mark a label as potentially unused
33679         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
33680         by marking the out label as potentially unused.
33681         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
33683 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
33685         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
33686         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
33688 2014-06-02  Ben Walton  <bdwalton@gmail.com>
33690         acl: apply pure attribute to two functions
33691         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
33692         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
33694 2014-06-01  Pádraig Brady  <P@draigBrady.com>
33696         gnulib-common.m4: add _GL_UNUSED_LABEL
33697         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
33698         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
33700 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
33702         dup2, fcntl, fcntl-h: port to AIX 7.1
33703         This fixes some porting problems discovered when testing the latest
33704         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
33705         in grep but it could be important for other applications.
33706         * doc/posix-functions/dup2.texi:
33707         * doc/posix-functions/fcntl.texi:
33708         * doc/posix-headers/fcntl.texi:
33709         Document AIX bugs.
33710         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
33711         Define to 0 if outside 'int' range.
33712         * m4/dup2.m4 (gl_FUNC_DUP2):
33713         * m4/fcntl.m4 (gl_FUNC_FCNTL):
33714         Check for getdtablesize.  If it's available, test a value just
33715         outside its range instead of testing 1000000.  When cross-compiling,
33716         guess that AIX will fail this improved test.
33718 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
33720         printf, config.rpath: Port to FreeBSD 10.
33721         Problem reported by Tijl Coosemans in:
33722         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
33723         * build-aux/config.rpath (hardcode_libdir_flag_spec)
33724         (hardcode_direct): Simplify FreeBSD configuration.
33725         (library_names_spec): Don't mishandle FreeBSD 10+.
33726         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
33727         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
33728         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
33729         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
33730         Don't mishandle FreeBSD 10+ when cross-compiling.
33732         ftoastr: work around compiler bug in IBM xlc 12.1
33733         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
33734         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
33735         around a compiler bug in IBM xlc 12.1.0.0: it complains
33736         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
33737         _GL_FLT_PREC_BOUND.'
33739 2014-05-30  Kieran Colford  <colfordk@gmail.com>
33741         valgrind-tests: fixed misleading help message
33742         * m4/valgrind-tests.m4: The help message generated by configure
33743         implied that valgrind was disabled by default, which it wasn't.
33744         Adjusted the help message using s/enable/disable/ to clarify.
33746 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
33748         isfinite, isinf, isnan tests: fix for little-endian PowerPC
33749         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
33750         first double of a PowerPC "double double" pair.
33751         * tests/test-isinf.c (test_isinfl): Likewise.
33752         * tests/test-isnan.c (test_long_double): Likewise.
33753         * tests/test-isnanl.h (main): Likewise.
33754         * tests/test-signbit.c (test_signbitl): Likewise.
33756 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
33758         exclude-tests: port to AIX 7.1
33759         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
33760         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
33761         the regex code uses locks.
33763 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
33765         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
33766         Without this fix, Emacs would sometimes call sigprocmask instead
33767         of pthread_sigmask, which is a no-no in multithreaded applications.
33768         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
33769         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33770         Suppress check for pthread_sigmask working without -lpthread if
33771         the application always links with -lpthread.  Do not link with
33772         $LIBMULTITHREAD if gl_THREADLIB is not defined.
33773         * m4/timer_time.m4 (gl_TIMER_TIME):
33774         Require gl_THREADLIB only if it is defined.  Do not append
33775         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
33777 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
33779         gnulib-tool: wget translations using --no-verbose rather than --quiet
33780         This allows the user to see error messages if any (--quiet hides them)
33781         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
33783 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
33785         gnulib-tool: adjust translation wget to avoid a https redirection
33786         Context: http://translationproject.org/latest/gnulib redirects to
33787            https://translationproject.org/latest/gnulib/
33788         Rationale: if the user falls back to wget, she doesn't have rsync and
33789         is probably in a minimal build environment, where packages such as
33790         'ca-certificates' are missing as well, resulting in a failed (and
33791         difficult to detect since ignored) translation initial fetch.
33792         Consequently let's avoid https if possible, and add the missing
33793         trailing slash.  This also avoids an unnecessary 302 redirection.
33794         * gnulib-tool: Add trailing slash to gnulib URL.
33796 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33798         getlogin_r-tests: check return value rather than errno
33799         * tests/test-getlogin_r.c (main): As per POSIX we should be
33800         verifying the return value from getlogin_r() rather than errno.
33802 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33804         getlogin_r-tests: fix various issues in recent change
33805         * tests/test-getlogin_r.c: Include required headers that were
33806         missed in recent commit eec20b4e.
33807         Also consistently check the errno rather than the return value from
33808         getlogin_r as POSIX only specifies that non zero is returned on error.
33809         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
33811 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
33813         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
33814         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
33815         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
33816         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
33817         * lib/spawn-pipe.c:
33818         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
33819         and then 'int open64(const char *, int, ...);', which means the
33820         declaration for 'open' gets lost if we later '#undef open'.
33821         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
33822         where the compilation reported the non-fatal error "In function
33823         'openat_proc_name' ... warning: implicit declaration of function
33824         'open'".  In this case the error is relatively harmless, but in
33825         other cases it might not be so minor.
33827 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
33829         xalloc: don't potentially generate invalid code for xmemdup calls
33830         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
33831         this function can initialize the newly-allocated storage with new
33832         pointers, which means this function is not malloc-like.  See:
33833         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
33835 2014-05-19  Pádraig Brady  <P@draigBrady.com>
33837         getlogin_r-tests: avoid false failure under sudo/ssh etc.
33838         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
33839         changes from commit 97249cf29 to not depend on environment variables.
33841 2014-05-18  Pádraig Brady  <P@draigBrady.com>
33843         getlogin-tests: avoid false failure under cron
33844         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
33845         since that's not what's under test.  Centos 6 was seen to return
33846         EINVAL for ttyname() when run from cron.
33848 2014-05-16  Jim Meyering  <meyering@fb.com>
33850         mbrtowc.m4: fix a comment typo
33851         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
33852         emitted documentation string.
33854 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
33856         mbrlen, mbrtowc: fix bug with empty input
33857         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
33858         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
33859         so this is mainly for documentation.
33860         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
33861         (gl_FUNC_MBRTOWC): Use it.
33862         * tests/test-mbrtowc.c (main): Test for the bug.
33864 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
33866         doc: document mbrtowc and mbrlen problem with empty input
33867         * doc/posix-functions/mbrlen.texi (mbrlen):
33868         * doc/posix-functions/mbrtowc.texi (mbrtowc):
33869         Document portability problem when the input string is empty.  See:
33870         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
33872         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
33873         Problem reported by Eli Zaretskii in:
33874         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
33875         * doc/posix-functions/execl.texi (execl):
33876         * doc/posix-functions/execle.texi (execle):
33877         * doc/posix-functions/execlp.texi (execlp):
33878         * doc/posix-functions/execv.texi (execv):
33879         * doc/posix-functions/execve.texi (execve):
33880         * doc/posix-functions/execvp.texi (execvp):
33881         Mention spawn+exit problem on non-Cygwin Windows platforms.
33883 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
33885         getlogin-tests: avoid false failure under sudo/ssh etc.
33886         * modules/getlogin-tests (configure.ac): Check for ttyname().
33887         * tests/test-getlogin.c (main): Don't depend on environment variables
33888         to correlate with getlogin(), since sudo and ssh etc. can tamper
33889         with the LOGNAME and USER env vars.  Instead lookup the name from
33890         the uid associated with the stdin tty.
33892 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
33894         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
33895         These were found when building the latest grep snapshot on IRIX 6.5.
33896         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
33897         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
33898         never used later.
33899         * lib/quotearg.c (quoting_options_from_style):
33900         * lib/xstrtol.c (__xstrtol):
33901         Use enum instead of 0, to pacify IRIX 6.5 cc.
33903 2014-04-18  Pádraig Brady  <P@draigBrady.com>
33905         gitlog-to-changelog: revert inclusion of git-log-fix file
33906         * build-aux/git-log-fix: Delete dummy file.
33907         * modules/gitlog-to-changelog: Don't reference (overwrite)
33908         the project specific git-log-fix file.
33910 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
33912         maint.mk: Relax the copyright check to cater for non FSF projects
33913         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
33914         to not require the "Free" suffix after the copyright years.
33916 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
33918         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
33919         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
33920         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
33921         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
33922         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
33924 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
33926         exclude: port to strict C99
33927         Strict C does not allow converting a function pointer to void *
33928         and vice versa.  Pass a pointer to a function pointer instead.
33929         * lib/exclude.c (add_exclude_file):
33930         Pass the address of the function pointer.
33931         (call_addfn): And deference the address here, to match.
33933 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
33935         regex: do not depend on malloc-gnu
33936         * modules/regex (Depends-on): Remove malloc-gnu.
33937         It's no longer needed, because of the 2012-12-29 patch
33938         "regex: port to hosts where malloc (0) == NULL".
33939         Reported by Nathan Kennedy in:
33940         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
33942 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
33944         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
33945         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
33946         * doc/posix-functions/expl.texi: Mention the workaround.
33948 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
33950         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
33951         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
33952         size to be zero even when the pointer is nonnull.  This
33953         accommodates the use case where P is malloc (0) and *PN is 0 on a
33954         host where malloc (0) yields nonnull.
33956 2014-04-09  Eric Blake  <eblake@redhat.com>
33958         fts: avoid unnecessary strlen calls
33959         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
33961 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33963         fts: avoid unnecessary strlen calls
33964         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
33965         when that can be faster than strlen.
33967 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33969         fts: avoid unnecessary strlen calls
33970         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
33971         (fts_build): Store the length of the dp->d_name entry in a local variable
33972         instead of calling strlen() several times via the above, removed macro.
33973         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
33974         run by ~4%, yet this reduces the execution time by about a third if run
33975         via "ltrace -c rm -rf some-dir".
33977 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33979         obstack: Remove ancient NeXTSTEP gcc support conditional
33980         This change will ease merging with glibc.  The "#if ... __NEXT__"
33981         causes a warning with -Wundef which glibc now enables by default.
33982         Problem reported by Will Newton in
33983         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
33984         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
33985         so go with that.
33986         * lib/obstack.h (__extension__):
33988 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33990         obstack: merge with glibc changes
33991         * lib/obstack.c, lib/obstack.h: Merge from glibc.
33992         This is mostly indenting and commentary changes.
33993         Instances of 'register' have been removed.
33995 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33997         strftime: wrap macros in "do {...} while(0)"
33998         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
33999         this macro in "do {...} while(0)" to prevent false use as a
34000         single statement, e.g., in an un-braced "{}" else-block.
34001         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
34002         (strftime_case_): Remove 'else' after 'goto' - which was the
34003         only non-fatal, un-braced use of one of the above macros.
34004         Spotted by coverity (NESTING_INDENT_MISMATCH).
34006 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
34008         modechange: avoid memory leaks for invalid octal modes
34009         * lib/modechange.c (mode_compile): During the parsing of
34010         notations like +40, free the 'mc' buffer for invalid mode
34011         strings like +17777 (greater than the maximum octal mode),
34012         =18 (bad octal mode characters) or u=1 ('affected' with
34013         octal modes).
34014         Reproducer, e.g.:
34015             $ valgrind --leak-check=full chmod +17777 file
34016         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
34017         add notations +40, 00440, etc.".
34018         Spotted by coverity (RESOURCE_LEAK).
34020 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
34022         gitlog-to-changelog: include a dummy git-log-fix file
34023         Problem reported by Nathan Stratton Treadway in:
34024         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
34025         * build-aux/git-log-fix: New file.
34027 2014-03-13  Jim Meyering  <meyering@fb.com>
34029         gitlog-to-changelog: also include the file, git-log-fix
34030         * modules/gitlog-to-changelog (Files): Add git-log-fix.
34031         Reported by Assaf Gordon.
34033 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
34035         regex: port to OS X 10.8.5 en_US.UTF-8 locale
34036         This fixes a bug when ignoring case and when comparing the
34037         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
34038         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
34039         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
34040         titlecase letter is neither lowercase nor uppercase, but
34041         uppercasing the titlecase letter (via towupper) yields the
34042         uppercase letter, so the two letters should match when ignoring case.
34043         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
34044         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
34045         Don't test whether a character is lowercase before uppercasing it.
34047 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
34049         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
34050         This is basically one of the options Bruno Haible proposed in:
34051         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
34052         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
34053         * lib/stdint.in.h: Use it.
34054         * modules/stdint (Depends-on): Add sys_types.
34056 2014-02-26  Pádraig Brady  <P@draigBrady.com>
34058         parse-datetime: fix crash or infloop in TZ="" parsing
34059         * lib/parse-datetime.y (parse_datetime): Break out of the
34060         TZ="" parsing loop once the second significant " is found.
34061         Also skip over any subsequent whitespace to be consistent
34062         with the non TZ= case.
34063         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
34065 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
34067         savedir: new symbol for fast-read version
34068         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
34069         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
34070         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
34071         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
34073 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
34075         unistd: port readlink to Mac OS X 10.3.9
34076         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
34077         around self-include problem in Mac OS X 10.3.9 when combined with
34078         readlink module.  Problem reported by Klaus Zietler in
34079         <http://bugs.gnu.org/16825>.
34081 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
34083         diffseq: remove TOO_EXPENSIVE heuristic
34084         Problem with diffutils reported by Vincent Lefevre in
34085         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
34086         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
34087         Although appropriate for circa-1993 hardware, these days the heuristic
34088         seems to be more trouble than it's worth.
34089         * lib/diffseq.h: Modernize citations.
34090         (struct context): Remove member too_expensive.
34091         All uses changed.
34092         (struct partition): Remove members lo_minimal, hi_minimal.
34093         All uses changed.
34094         (diag, compareseq): Remove arg find_minimal.  All uses changed.
34095         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
34096         1993 to make 'diff' run faster (but not as well) on large inputs.
34097         These days, computers are fast enough that it's typically better
34098         to run slower but more accurately.
34099         * lib/fstrcmp.c: Remove duplicate comment.
34100         * lib/fstrcmp.c (strcmp_bounded):
34101         * lib/git-merge-changelog.c (compute_differences):
34102         Adjust to diffseq.h changes.
34103         * NEWS: Document the change.
34105         savedir: simplify by using stpcpy
34106         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
34107         (streamsavedir): Use stpcpy instead.
34108         * modules/savedir (Depends-on): Add stpcpy.
34110 2014-02-21  Pádraig Brady  <P@draigBrady.com>
34112         spawn: fix link error on uclibc
34113         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
34114         to incorporate -lrt if needed (on uclibc for example).
34115         * modules/posix_spawn: Reference the substituted LIB.
34117 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
34118         timer: fix uClibc detection of threading
34119         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
34120         enabled in uClibc.
34122 2014-02-21  Eric Blake  <eblake@redhat.com>
34124         maintainer-makefiles: provide AC_PROG_SED for older autoconf
34125         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
34127 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
34129         exclude: add support for posix regexps
34131         This commit adds support for POSIX extended regular expressions
34132         and fixes a long-standing memory leak (pattern buffer was never
34133         freed).  It also implements a new interface function to read
34134         exclude patterns from a FILE, which passes an additional parameter
34135         to its callback function, thereby allowing to preserve its state
34136         between invocations.
34138         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
34139         (pattern_buffer): New struct.
34140         (exclude): New member patbuf.
34141         (exclude_add_pattern_buffer): New function.
34142         (free_exclude_segment): Free regexps.
34143         (free_exclude): Free allocated pattern buffers.
34144         (exclude_patopts): New function.
34145         (file_pattern_matches): Use exclude_patopts.
34146         (add_exclude): support regexps.
34147         (add_exclude_fp): New function.
34148         (add_exclude_file): Rewrite using add_exclude_fp.
34149         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34150         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34151         (add_exclude_fp)
34152         (add_exclude_file): Rewrite using add_exclude_fp.
34153         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
34154         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
34155         (add_exclude_fp)
34156         (exclude_add_pattern_buffer): New prototypes.
34157         * modules/exclude: Depends on regex and filename.
34159 2014-02-20  Eric Blake  <eblake@redhat.com>
34161         maintainer-makefiles: use $(SED) for syntax check
34162         * modules/maintainer-makefile (configure.ac): Check for sane sed.
34163         * top/maint.mk: Change sed to $(SED).
34165 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
34166             Paul Eggert  <eggert@cs.ucla.edu>
34168         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
34169         Patch based on an idea by Dick Streefland in
34170         <https://savannah.gnu.org/patch/?7892>.
34171         * NEWS: Document this.
34172         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
34173         (direntry_t, comparison_function): New types.
34174         (direntry_cmp_name): New function.
34175         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
34176         (streamsavedir, savedir): New arg OPTION.
34177         (streamsavedir): Simplify memory allocation.
34178         (fdsavedir): Remove.
34179         * lib/savedir.h (enum savedir_option): New type.
34180         (streamsavedir, savedir): New arg OPTION.
34181         (fdsavedir): Remove.
34183 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
34185         file-type: add support for doors and other less-common file types
34186         Problem with S_ISDOOR reported by Rich Burridge.
34187         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
34188         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
34189         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
34191 2014-01-23  Eric Blake  <eblake@redhat.com>
34193         pthread: work around winpthread header pollution on mingw
34194         * lib/time.in.h: Move pthread workarounds...
34195         * lib/pthread.in.h: ...here.
34196         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
34197         detect macro pollution on mingw.
34198         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
34200 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34202         qacl: check for fchmod
34203         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
34204         and qset-acl.c both use HAVE_FCHMOD.
34206 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
34208         fdopen-tests: port to Tru64
34209         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
34210         descriptor that is not open, as POSIX doesn't specify the
34211         resulting behavior and the test does not work on Tru64.
34212         Problem reported by Steven M. Schweda in:
34213         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
34215         stdalign: port to HP-UX compilers
34216         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
34217         if __HP_cc or __HP_aCC are nonzero.
34219 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
34221         strtoimax: port to platforms lacking 'long long'
34222         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
34223         check whether strtoll is declared, which causes the C file to
34224         wrongly report an error.  Problem reported by Steven M. Schweda in:
34225         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
34226         * lib/strtoimax.c (strtoull):
34227         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
34228         (strtoll): Declare only if HAVE_LONG_LONG_INT.
34230 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
34232         relocatable-perl: fix texi syntax
34233         * doc/relocatable-maint.texi: Escape braces.
34235 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
34237         relocatable-perl: like relocatable-script, but for Perl scripts
34238         * build-aux/relocatable.pl.in: Add.
34239         * doc/relocatable-maint.texi: Add documentation.
34240         * modules/relocatable-perl: Add.
34242 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
34244         tests: fix export bug in previous patch
34245         Problem reported by Jim Meyering.
34246         * tests/init.sh (re_shell): New var, which is exported instead of
34247         re_shell_.
34249         tests: simplify porting to Solaris 10 /bin/sh
34250         Some test cases in 'grep' need a shell that groks '$(';
34251         export re_shell_ for their benefit.  Problem reported for 'grep'
34252         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
34253         * tests/init.sh (re_shell_): Export if it's used.
34255 2014-01-06  Eric Blake  <eblake@redhat.com>
34257         md5, sha1, sha256, sha512: support older autoconf
34258         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
34259         for autoconf < 2.63b.
34261         include_next: port to autoconf 2.63
34262         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
34264 2014-01-04  Jim Meyering  <meyering@fb.com>
34266         maint: add a gnulib-local rule to keep non-ascii out of .texi files
34267         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
34268         so that "make sc_maint" will ding anyone who puts non-ascii
34269         in any of gnulib's .texi files.
34271 2014-01-03  Jim Meyering  <meyering@fb.com>
34273         freadable, fwritable, fwriting: declare with the "pure" attribute
34274         * lib/freadable.h (freadable): Declare with the "pure" attribute.
34275         * lib/fwritable.h (fwritable): Likewise.
34276         * lib/fwriting.h (fwriting): Likewise.
34277         Suggested by Bruno Haible.
34279         maint.mk: adapt openat.h-include-without-use test
34280         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
34281         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
34282         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
34283         With this change, running "make sc_maint" in gnulib's top-level
34284         directory now passes for me.
34286 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34288         doc: use ASCII in .texi files where UTF-8 isn't needed
34289         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
34290         * doc/posix-functions/setkey.texi, doc/regex.texi:
34291         Use ASCII input, not UTF-8.
34293 2014-01-02  Jim Meyering  <meyering@fb.com>
34295         freading: declare with the "pure" attribute
34296         * lib/freading.h (freading): Declare with the "pure" attribute.
34298         manywarnings: remove -Wmudflap
34299         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
34300         it is no longer supported in gcc-4.9-to-be.
34302 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34304         relocatable-script: remove unused code
34305         Problem reported by Reuben Thomas in:
34306         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
34307         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
34309 2014-01-01  Jim Meyering  <meyering@fb.com>
34311         maint: fix public-submodule-commit to work with newer git
34312         * top/maint.mk (public-submodule-commit): Remove excess quoting.
34313         We were over-quoting the test arguments, and somewhere prior to
34314         version 1.8.5.2.229, git stopped removing those excess quotes,
34315         which made the test fail, since the unexpanded strings would
34316         always differ; using GIT_TRACE=1 confirmed that the git merge-base
34317         command wasn't even being run.
34319 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34321         doc: update main copyright year
34322         * doc/gnulib.texi: Update copyright date.
34324 2014-01-01  Eric Blake  <eblake@redhat.com>
34326         version-etc: new year
34327         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
34328         * all files: run 'make update-copyright'
34330 2013-12-24  Eric Blake  <eblake@redhat.com>
34332         passfd: give nicer error for recvfd at eof
34333         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
34334         * tests/test-passfd.c (main): Enhance test to cover this.
34336 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34338         gettimeofday: port recent C++ fix to Emacs
34339         Without this further patch, Emacs won't build due to
34340         the portcheck failing.  Also, this simplifies the patch a bit.
34341         * lib/time.in.h (localtime, gmtime): Don't replace unless
34342         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
34343         * lib/time.in.h (localtime, gmtime):
34344         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
34345         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34346         * modules/time (time.h):
34347         Don't worry about the possibility of localtime and gmtime
34348         being absent; they're present in all C libraries we know about.
34349         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34350         Don't assume sys_time is present and has been initialized.
34351         Instead, use a hack that should work even if it hasn't been.
34352         Don't use a portcheck for gmtime or localtime; this supports
34353         the hack.
34354         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
34356 2013-12-17  John W. Eaton  <jwe@gnu.org>
34358         gettimeofday: fix C++ crosscompilation
34360         Never replace gmtime and localtime by macros when compiling with
34361         C++, this prevents <ctime> from being included.
34363         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
34364         define gmtime and localtime as preprocessor macros.  Instead
34365         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
34366         REPLACE_LOCALTIME substitutions.
34367         * lib/time.in.h: Declare gmtime and localtime when needed.
34368         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
34369         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
34370         * modules/time: Depend on gettimeofday, and substitute the above
34371         variables in time.h.
34373 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34375         qacl: port to Windows better
34376         See Eli Zaretskii in
34377         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
34378         * lib/file-has-acl.c (acl_access_nontrivial):
34379         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
34380         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
34382 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
34384         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
34385         * lib/gl_openssl.h: Cast void pointers to a specific type.
34387 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34389         open-tests: fix build failure with -Werror=old-style-declaration
34390         * tests/test-open.h: Reorder the inline to avoid the issue.
34392 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34394         md5, sha1, sha256, sha512: fix link error with partial libcrypto
34395         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
34396         init time, so that if early checks find crypto routines,
34397         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
34398         avoiding link failures.
34400 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34402         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
34403         This provides a new way to specify the default for
34404         gl_CRYPTO_CHECK, one that is reflected in the --help message.
34405         Emacs uses this, as well as the old way.
34406         This attempts to implement a suggestion by Pádraig Brady in
34407         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
34408         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
34409         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
34411         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
34412         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
34413         Add support for a new option, --with-openssl=auto, which causes
34414         the library to be used if available and silently ignored if not.
34415         Add support to allow configure.ac to specify its own
34416         default, by setting with_openssl_default before invoking gl_INIT.
34418 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34420         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
34421         Problem reported by Daiki Ueno in:
34422         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
34423         * tests/test-open.h (__always_inline):
34424         New macro, if not already defined.
34425         (test_open): Use it.
34427 2013-12-04  Eric Blake  <eblake@redhat.com>
34429         include_next: minimize code duplication
34430         * modules/include_next (Depends-on): Add absolute-header.
34431         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
34432         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
34434 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34436         getcwd: fix compile error in configure check
34437         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
34439 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34441         regex: suppress core dumps from detection code
34442         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
34443         to suppress core dumps that may well occur on glibc systems.
34444         These core dumps might not be cleaned up automatically, or could
34445         trigger some system core dump handling logic.
34447 2013-12-03  Pádraig Brady  <P@draigBrady.com>
34449         md5, sha1, sha256, sha512: support mandating use of openssl
34450         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
34451         description, to list the now 3 separate options.  also don't
34452         mention the default=no, since this is implicit given the option
34453         is described as --with-openssl rather than --without-openssl.
34454         If projects change the default they're free to document that.
34455         with --with-openssl[=yes] we now error out when the specified
34456         hash algorithm is not available in libcrypto.
34458 2013-12-03  Ivailo  <xakepa10@gmail.com>
34460         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
34461         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
34462         -Wformat-nonliteral checks, as these edge cases are part of the test.
34464 2013-12-03  Eric Blake  <eblake@redhat.com>
34466         regex: avoid glibc deadlock during configure
34467         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
34468         glibc bug 15078 in turn triggers bug 16159.
34469         Reported by Michal Privoznik.
34471 2013-12-02  Pádraig Brady  <P@draigBrady.com>
34473         md5, sha1, sha256, sha512: use openssl routines if available.
34474         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
34475         routines will be used if available, requiring apps to link @LIB_CRYPTO@
34476         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
34477         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
34478         in the standard system location.
34479         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
34480         * m4/sha256.m4: Likewise with SHA256.
34481         * m4/sha512.m4: Likewise with SHA512.
34482         * m4/md5.m4: Likewise with MD5.
34483         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
34484         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
34485         * lib/sha256.h: Likewise with SHA256.
34486         * lib/sha512.h: Likewise with SHA512.
34487         * lib/md5.h: Likewise with MD5.
34488         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
34489         * lib/sha256.c: Likewise with SHA256.
34490         * lib/sha512.c: Likewise with SHA512.
34491         * lib/md5.c: Likewise with MD5.
34492         * modules/crypto/sha1 (Link:): Add the new optional lib.
34493         (Depends-on:): Add dependency on extern-inline.
34494         * modules/crypto/sha256: Likewise.
34495         * modules/crypto/sha512: Likewise.
34496         * modules/crypto/md5: Likewise.
34497         * modules/crypto/sha1-tests: Reference the lib here too.
34498         * modules/crypto/md5-tests: Likewise.
34499         * modules/crypto/gc-des-tests: Likewise.
34500         * modules/crypto/gc-hmac-md5-tests: Likewise.
34501         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34502         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34503         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34504         * modules/crypto/gc-md5-tests: Likewise.
34505         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34506         * modules/crypto/gc-sha1-tests: Likewise.
34507         * modules/crypto/gc-tests: Likewise.
34508         * modules/crypto/hmac-md5-tests: Likewise.
34509         * modules/crypto/hmac-sha1-tests: Likewise.
34510         * modules/crypto/hmac-sha256-tests: Likewise.
34511         * modules/crypto/hmac-sha512-tests: Likewise.
34513 2013-11-29  RV1971  <rv1971@web.de>
34515         base64: (trivial) fix compilation regression on some compilers
34516         * lib/base64.c: Don't return the void function,
34517         instead split to a separate return statement.
34519 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34521         ignore-value: revert previous code change
34522         * lib/ignore-value.h (ignore_value): Use __extension__ and
34523         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
34524         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
34525         Change the comment to try to explain this better.
34527 2013-11-27  Pádraig Brady  <P@draigBrady.com>
34529         selinux-h: improve stub types and add more stub functions
34531         * lib/se-selinux.in.h: Change security_context_t to a typedef
34532         rather than a define, as it's a pointer type and so is better
34533         as a typedef to avoid issues declaring multiple variables
34534         with the comma operator.  Also add stub for string_to_security_class().
34535         * lib/se-context.in.h: Add stub functions for
34536         context_{type,range,role,user}_get().
34538 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34540         ignore-value: prefer GCC version back through 2.0
34541         The code didn't match the comments, so I did a bit of software
34542         archaeology.  GCC 2.0 seems to support __extension__ and
34543         __typeof__, so fix both code and comments to use 2.0.
34544         * lib/ignore-value.h (ignore_value): Use __extension__ and
34545         __typeof__ for GCC 2.0 through 3.3, too.
34547 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
34549         pty: Activate the signature wrapper of forkpty.
34550         The intended preprocessor macro HAVE_FORKPTY is
34551         never defined, yet `lib/forkpty.c' depends on it.
34553         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
34554         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
34555         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
34557 2013-11-18  Jim Meyering  <meyering@fb.com>
34558         and Paul Eggert  <eggert@cs.ucla.edu>
34560         quotearg: don't attempt to store 1 << 31 into an "int"
34561         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
34562         gcc's new -fsanitize=undefined and running its tests triggered some
34563         new test failures due to undefined behavior, all with this diagnostic:
34564           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
34565             cannot be represented in type int
34566         Rather than shifting "1" left to form a mask, shift the bits right and
34567         simply use "1" as the mask.
34569 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34571         error: depend on stdio
34572         Problem reported by Nikos Mavrogiannopoulos in
34573         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
34574         * modules/error (Depends-on): Add stdio.
34576 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
34578         * doc/relocatable-maint.texi (Supporting Relocation): Improve
34579         wording.
34580         Reported by Reuben Thomas <rrt@sc3d.org>.
34582 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
34584         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
34585         New function and macro, to work around _DARWIN_C_SOURCE problem.
34586         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
34588 2013-11-11  Pádraig Brady  <P@draigBrady.com>
34590         base64: provide a fast path for encoding well sized buffers
34591         Avoid conditionals in the base64 encoding loop,
34592         which was seen to give 60% better throughput.
34593         * lib/base64.c (base64_encode_fast): A new function to be called
34594         when we don't want to NUL terminate, and we have enough space
34595         in the output to encode the given input.
34596         (base64_encode): Call the _fast() version when appropriate.
34597         Also remove a redundant mask with 0x3F on the first encoded byte.
34599 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
34601         extern-inline: port better to OS X 10.9
34602         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
34603         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
34604         OS X 10.9, except for g++ where the bug is still present.
34605         See <http://trac.macports.org/ticket/41033>.
34607 2013-11-08  Eric Blake  <eblake@redhat.com>
34609         fpending: fix regression on DragonFly BSD
34610         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
34611         * lib/fpending.h (__fpending): Don't declare twice.
34612         Reported by GW in
34613         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
34615 2013-11-05  Jim Meyering  <meyering@fb.com>
34617         hash: relax license to LGPLv2+, for libguestfs
34618         * modules/hash (License): Change from GPL to LGPLv2+.
34620 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
34622         intprops: port to Oracle Studio c99
34623         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
34624         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
34626 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
34628         obstack: pacify HP C
34629         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
34630         warning "conversion from pointer to smaller integer" from HP
34631         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
34632         C89 or later nowadays, so cast to void instead of int.  Privately
34633         reported by H.Merijn Brand.  Also, change header to match glibc's,
34634         to make checking against glibc easier.
34636 2013-10-29  Jim Meyering  <meyering@fb.com>
34638         maint.mk: prefer gpgv2 over gpgv
34639         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
34640         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
34641         Reported by Gary Vaughan.
34643 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
34645         isnan: port to VAX
34646         Reported by John Klos for NetBSD-5/VAX in
34647         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
34648         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
34649         (FUNC): Use it.
34651 2013-10-28  Jim Meyering  <meyering@fb.com>
34653         gnulib-tool: protect against CDPATH
34654         * gnulib-tool: Many "cd" built-in functions print a directory name
34655         to stdout when CDPATH is set, e.g.,
34656           $ bash -c 'CDPATH=/; cd tmp'
34657           /tmp
34658         Unset it, when possible.  Prompted by a comment from Bruce Korb.
34660         maint.mk: restore functionality removed by recent change...
34661         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
34662         the context of a shallow-cloned gnulib repository: "git describe"
34663         would fail in such a directory.  However, that change made it so
34664         the reported gnulib revision no longer includes the version number
34665         or a commit count, even when run from a full clone.
34666         * top/maint.mk (gnulib-version): Use the full "git describe"
34667         output when possible, e.g., the form above, rather than the
34668         abbreviated, no-tag, no-commit-count string, and fall back to
34669         using a 10-byte hash, rather than the default minimal-length
34670         hash prefix, since while the minimal-length one may be fine today,
34671         it is likely not to be unique for very long.
34673 2013-10-26  Jim Meyering  <meyering@fb.com>
34675         maint.mk: fix "release" target to build _version
34676         This fixes a bug in README-release whereby following the outlined
34677         steps, one would publish a tarball whose programs would report
34678         --version output not consistent with the package version number.
34679         This bug caused grep-2.15 to produce a grep program whose
34680         --version option made it print 2.14.56-1e3d rather than 2.15.
34681         * top/maint.mk (release): Making this target build "_version"
34682         ensures that the new version number is reflected in configure.
34684 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
34686         install-reloc: Support multi-binary installation.
34687         * build-aux/install-reloc: Support installing multiple programs in
34688         one invocation, as done by Automake starting with commit
34689         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
34690         Haible <bruno@clisp.org>, archived at
34691         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
34692         Reported by Sylvain <beuc@gnu.org>.
34694 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
34696         selinux-h: Really build without selinux when library is missing.
34697         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
34698         continue without selinux, as already told in the warning message.
34700 2013-10-21  Jim Meyering  <meyering@fb.com>
34702         regex: also remove dependency on HAVE_WCSCOLL
34703         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
34705 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
34707         xfreopen: Fix typo. s/frepoen/freopen/
34708         * lib/xfreopen.c: Fix description.
34709         * modules/xfreopen: Likewise.
34711 2013-10-21  Jim Meyering  <meyering@fb.com>
34713         regex: don't depend on wcscoll
34714         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
34715         It is no longer used.
34717 2013-10-20  Jim Meyering  <meyering@fb.com>
34719         error: add the printf attribute to a static function
34720         * lib/error.c (error_tail): Add the printf attribute, to placate
34721         gcc's -Werror=suggest-attribute=format option.
34723 2013-09-30  Jim Meyering  <meyering@fb.com>
34725         fpending, obstack, strerror-override: use pure+const function attrs
34726         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
34727         * lib/obstack.c (_obstack_allocated_p): Likewise.
34728         * lib/obstack.h (_obstack_memory_used): Likewise.
34729         (_obstack_memory_used): Likewise.
34730         * lib/strerror-override.h (strerror_override): Declare with
34731         the "const" attribute.
34733 2013-10-18  Eric Blake  <eblake@redhat.com>
34735         extern-inline: make safe for -Wundef usage
34736         Reported by Vladimir 'phcoder' Serbinenko in
34737         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
34738         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
34740 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34742         mkfifo-tests, etc.: allow HP-UX 11.11 bug
34743         Problem reported by Daniel Richard G. in
34744         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
34745         * doc/posix-functions/mkfifo.texi (mkfifo):
34746         * doc/posix-functions/mkfifoat.texi (mkfifoat):
34747         * doc/posix-functions/mknod.texi (mknod):
34748         * doc/posix-functions/mknodat.texi (mknodat):
34749         Document the HP-UX 11.11 bug.
34750         * tests/test-mkfifo.h (test_mkfifo):
34751         Allow the HP-UX 11.11 bug.
34753 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34755         acl: allow cross-compilation to Gentoo
34756         Problem reported by Gabriel Marcano in
34757         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
34758         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
34759         test only whether it links.
34761 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
34763         mgetgroups: remove dependency on realloc-gnu
34764         The dependency violates the comment in realloc-gnu, which
34765         says that tests can't depend on realloc-gnu; some tests depend
34766         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
34767         Problem reported by Daniel Richard G. in
34768         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
34769         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
34770         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
34771         not realloc-gnu.
34773 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34775         regex-tests: port to HP-UX 11.11
34776         Problem reported by Daniel Richard G. in
34777         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
34778         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
34780 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34782         verify: document some 'assume' pitfalls
34783         * doc/verify.texi (Compile-time Assertions):
34784         Mention that 'assume (E)' can sometimes slow things down.
34785         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
34787 2013-10-10  Eric Blake  <eblake@redhat.com>
34789         strtoumax: fix typo in previous commit.
34790         * modules/strtoumax (Depends-on): Fix typo.
34791         * modules/strtoimax (Depends-on): Likewise.
34793 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34795         strtoumax: port to Solaris 8
34796         This problem was introduced in the recent HP-UX patch.
34797         Reported by Tom G. Christensen in
34798         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
34799         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
34800         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
34802 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34804         strtoimax, strtoumax: port to HP-UX 11.11
34805         Problem reported by Daniel Richard G. in
34806         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
34807         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
34808         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
34809         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
34810         REPLACE_STRTOUMAX.
34811         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
34812         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
34813         Replace the function if defined as a macro but not as a function.
34814         * modules/inttypes-incomplete (inttypes.h): Substitute
34815         REPLACE_STRTOUMAX.
34816         * modules/strtoumax (configure.ac): Replace strtoumax if
34817         REPLACE_STRTOUMAX.
34819 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34821         strtoimax: port to HP-UX 11.11
34822         Problem reported by Daniel Richard G.
34823         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
34824         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
34825         they might clash with inttypes.h.
34827 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34829         New module 'count-trailing-zeros'.
34830         * MODULES.html.sh: Mention it.
34831         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
34832         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
34833         * modules/count-trailing-zeros-tests:
34834         * tests/test-count-trailing-zeros.c:
34835         New files.
34837         count-leading-zeros: port to MSC; support types wider than 64 bits
34838         The ideas behind the MSC port are stolen from Emacs.
34839         * lib/count-leading-zeros.h:
34840         Don't include verify.h: it's no longer needed, as types wider than
34841         64 bits are now supported.
34842         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
34843         performance with MSC.  All uses changed.  Do not assume that TYPE
34844         has at most 64 bits.
34845         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
34846         All uses changed.  Fold the subtraction from 31 into the table.
34848         count-one-bits: port to MSC; support types wider than 64 bits
34849         The ideas behind the MSC port are stolen from Emacs.
34850         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
34851         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
34852         Don't include verify.h: it's no longer needed, as types wider than
34853         64 bits are now supported.
34854         (COUNT_ONE_BITS_GENERIC): New macro.
34855         (popcount_supported) [_MSC_VER]: New inline function.
34856         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
34857         performance with MSC.  All uses changed.  Do not assume that TYPE
34858         has at most 64 bits.
34859         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
34861 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
34863         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
34864         * lib/mountlist.c (read_file_system_list): fix leak of directory
34865         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
34867 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34869         tests: improve diagnostic when an assertion fails
34870         * tests/macros.h (ASSERT): Report the assertion that failed.
34872 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
34874         verify: new macro 'assume'
34875         This is taken from Emacs, and should be generally useful.
34876         * doc/verify.texi (assume): Document it.
34877         * lib/verify.h (assume): New macro.
34878         (__has_builtin): Expand to 0 if not defined.
34880 2013-09-26  Eric Blake  <eblake@redhat.com>
34882         dup2, dup3: work around another cygwin crasher
34883         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
34884         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
34885         * tests/test-dup2.c (main): Likewise.
34886         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
34887         * lib/dup3.c (dup3): Likewise.
34888         * doc/posix-functions/dup2.texi (dup2): Document it.
34889         * doc/glibc-functions/dup3.texi (dup3): Likewise.
34891         getdtablesize: work around cygwin issue
34892         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
34893         * modules/getdtablesize (configure.ac): Build replacement.
34894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
34895         * modules/unistd (Makefile.am): Expose the witness.
34896         * lib/unistd.in.h (getdtablesize): Declare replacement.
34897         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
34898         * tests/test-getdtablesize.c (main): Test it.
34899         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
34901 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
34903         pmccabe2html: escaping of special characters
34904         Escape all '<', '>', and '&' in HTML output.
34905         * build-aux/pmccabe2html (html_fnc): Call gsub()
34906         instead of sub() to capture all '<', '>', and '&'.
34907         Neither of '<' and '>' is special in a regexp,
34908         so first arguments to gsub() are corrected. Also,
34909         in replacement strings, ampersand must be escaped.
34910         Finally, '&' must be handled first, then '<' and '>'.
34912 2013-09-24  Eric Blake  <eblake@redhat.com>
34914         manywarnings: enable nicer gcc warning messages
34915         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
34916         some -f options for optimal warnings.
34918 2013-09-21  Jim Meyering  <meyering@fb.com>
34920         timespec: use the new TIMESPEC_RESOLUTION in a few more places
34921         * lib/timespec-add.c (timespec_add): Also replace 999999999
34922         with TIMESPEC_RESOLUTION - 1.
34923         * lib/timespec-sub.c (timespec_sub): Likewise.
34925 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
34927         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
34928         Problem reported by Dagobert Michelsen via Eric Blake in
34929         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
34930         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
34931         not AC_COMPILE_IFELSE.
34933 2013-09-23  Eric Blake  <eblake@redhat.com>
34935         configmake: support new --runstatedir option
34936         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
34937         even if autoconf was too old to provide the command line option.
34938         * modules/configmake (Makefile.am): Propagate it to .h file.
34940 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
34942         ctype, string: depend on extern-inline
34943         This is needed to complete the recent OS X fixes.
34944         Also, fix related documentation as suggested by Eric Blake.
34945         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34946         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
34947         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
34948         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
34949         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
34950         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
34951         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
34952         * doc/posix-functions/toupper.texi:
34953         List the 'ctype' gnulib module.
34954         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
34955         * doc/posix-functions/strncpy.texi:
34956         List the 'string' gnulib module.
34957         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
34958         Add string.
34959         * modules/ctype, modules/string (Depends-on): Add extern-inline.
34961 2013-09-19  Pádraig Brady  <P@draigBrady.com>
34963         userspec: support optional parameters to parse_user_spec()
34964         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
34965         then avoid group processing and treat the full spec as a user.
34966         (parse_with_separator): Allow the USERNAME and GROUPNAME to
34967         be optional params (NULL), in which case they're ignored.
34969 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
34971         timespec: new function make_timespec, and new constants
34972         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
34973         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
34974         (make_timespec): New function.
34975         * lib/dtotimespec.c (dtotimespec):
34976         * lib/timespec-add.c (timespec_add):
34977         * lib/timespec-sub.c (timespec_sub):
34978         * lib/utimens.c (validate_timespec):
34979         * lib/utimensat.c (rpl_utimensat):
34980         Use these new constants and functions.
34982         stdio: OS X port of putc_unlocked + extern inline
34983         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
34984         * doc/posix-functions/putc_unlocked.texi:
34985         * doc/posix-functions/putchar_unlocked.texi:
34986         Document this portability problem.
34988         signal: OS X port of sigaddset etc. + extern inline
34989         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
34990         (sigismember): #undef on problematic Apple platforms.
34991         * doc/posix-functions/sigaddset.texi:
34992         * doc/posix-functions/sigdelset.texi:
34993         * doc/posix-functions/sigemptyset.texi:
34994         * doc/posix-functions/sigfillset.texi:
34995         * doc/posix-functions/sigismember.texi:
34996         Document this portability problem.
34998         extern-inline: do not always suppress extern inline on OS X
34999         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
35000         extern inline on Apple only if the particular compile-time
35001         configuration is known to have the problem.
35002         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
35003         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
35004         other Gnulib modules.
35006         extern-inline: document fixes for ctype and wctype macros
35007         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
35008         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
35009         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
35010         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
35011         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
35012         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
35013         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
35014         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
35015         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
35016         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
35017         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
35018         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
35019         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
35020         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
35021         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
35022         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
35023         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
35024         * doc/posix-functions/strncpy.texi:
35025         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
35026         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
35027         Document that Gnulib fixes portability problems with these
35028         functions on OS X 10.8 and earlier when called from plain inline
35029         or extern inline functions.
35031 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
35033         fflush, freadahead, fseeko: Fix for Android
35034         Suggested by Bruno Haible in:
35035         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
35036         * lib/stdio-impl.h: Use local __sfileext definition.
35038 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
35040         pmccabe2html: Portability to other awk versions.
35041         The functions systime() and strftime() are available
35042         in Gawk only.  Properly close two HTML-tags 'style'
35043         and 'span'.
35044         * build-aux/pmccabe2html (BEGIN): Store timing
35045         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
35046         systime() in HTML_COMMENT.
35047         (html_header): Correctly close tag 'style'.
35048         (END): Replace strftime() by CHRONOS_TIME.  Close
35049         tag 'span' correctly, not as 'div'.
35051 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
35053         getgroups: statement without effect
35054         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
35055         Change equality conditional to expected assignment.
35057 2013-09-09  Eric Blake  <eblake@redhat.com>
35059         glob: fix compilation
35060         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
35062 2013-09-07  Eric Blake  <eblake@redhat.com>
35064         glob: fix build for platforms without __THROW
35065         * lib/glob.in.h (__THROW): Add definition again.
35067 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
35069         regex-quote: fix buffer access out of bounds
35070         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
35071         * lib/regex-quote.c (regex_quote_spec_pcre):
35072         Fix typo that resulted in an out-of-bounds read.
35074 2013-09-04  Eric Blake  <eblake@redhat.com>
35076         glob: avoid -Wattribute warnings on glibc
35077         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
35078         __THROWNL, not __THROW, on static functions.
35079         * lib/glob.in.h (__THROW): Adjust...
35080         (__THROWNL): ...accordingly.
35082 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35084         headers: check that _GL_INLINE_HEADER_BEGIN is defined
35085         Suggested by Bruce Korb in:
35086         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
35087         * doc/extern-inline.texi (extern inline):
35088         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
35089         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
35090         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
35091         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
35092         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
35093         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
35094         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
35095         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
35096         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
35097         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
35098         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
35099         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
35100         * lib/xtime.h:
35101         Check that _GL_INLINE_HEADER_BEGIN is defined.
35103 2013-08-29  Pádraig Brady  <P@draigBrady.com>
35105         bootstrap: remove the --version requirement from ancillary tools
35106         * build-aux/bootstrap (check_exists): A new refactored function to
35107         determine if a command exists.
35108         (find_tool): Use the new function which does not require the
35109         --version option to be supported.
35110         (check_versions): Use the new function.
35112 2013-08-26  Simon Josefsson  <simon@josefsson.org>
35114         gc: support HMAC-SHA256 and HMAC-SHA512.
35115         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
35116         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
35117         functions.
35118         (gc_hmac_md5): Use symbolic constant.
35119         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
35120         (gc_hmac_sha256, gc_hmac_sha512): New functions.
35121         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
35122         * m4/sha256.m4: Protect against empty expansion.
35123         * m4/sha512.m4: Likewise.
35124         * lib/hmac-sha256.c: New file.
35125         * lib/hmac-sha512.c: Likewise.
35126         * m4/gc-hmac-sha256.m4: Likewise.
35127         * m4/gc-hmac-sha512.m4: Likewise.
35128         * m4/gc-sha256.m4: Likewise.
35129         * m4/gc-sha512.m4: Likewise.
35130         * modules/crypto/gc-hmac-sha256: Likewise.
35131         * modules/crypto/gc-hmac-sha256-tests: Likewise.
35132         * modules/crypto/gc-hmac-sha512: Likewise.
35133         * modules/crypto/gc-hmac-sha512-tests: Likewise.
35134         * modules/crypto/hmac-sha256: Likewise.
35135         * modules/crypto/hmac-sha256-tests: Likewise.
35136         * modules/crypto/hmac-sha512: Likewise.
35137         * modules/crypto/hmac-sha512-tests: Likewise.
35138         * tests/test-gc-hmac-sha256.c: Likewise.
35139         * tests/test-gc-hmac-sha512.c: Likewise
35140         * tests/test-hmac-sha256.c: Likewise.
35141         * tests/test-hmac-sha512.c: Likewise
35143 2013-08-24  Daiki Ueno  <ueno@gnu.org>
35145         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
35146         of AC_CHECK_DECLS.
35148 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
35150         selinux-at: omit unnecessary include
35151         * lib/selinux-at.c: Don't include dosname.h; not needed, since
35152         this source file doesn't use its macros, and subsidiary files that
35153         use the macros already include it.
35155 2013-08-21  Eric Blake  <eblake@redhat.com>
35157         d-ino: avoid false negative on symlink
35158         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
35159         Reported by Stephane Chazelas.
35161 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
35163         bootstrap: port to OpenBSD sed
35164         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
35165         does not interpret `-' as a file argument to mean stdin.
35167 2013-08-15  Eric Blake  <eblake@redhat.com>
35169         warnings: minor optimization
35170         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
35172         warnings: check -Wfoo rather than -Wno-foo
35173         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
35174         -Wno-, test if the compiler recognizes the positive form instead.
35176 2013-08-15  Karl Berry  <karl@gnu.org>
35178         * config/srclist-update: add option "doclicense" to placate
35179         pulling *.texi files from Emacs.  Write terse usage
35180         documentation at the top.
35182 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
35184         xvasprintf-tests: port to GCC with hardening flags
35185         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
35186         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
35187         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
35189 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
35191         fpending: port to recent Cygwin change to stdio_ext.h
35192         Reported by LRN in
35193         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
35194         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
35195         just declare __fpending unless it's a macro.
35196         A duplicate decl shouldn't hurt.
35197         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
35198         call compiles and links, instead of separately checking for
35199         decl and lib function.
35200         * modules/fpending (configure-ac):
35201         Adjust to fpending.m4's renaming of shell variable.
35203 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35205         sys_time: port to OpenBSD
35206         * lib/sys_time.in.h: Simply delegate to the system's header
35207         in the BSDish cases as well.  Problem reported by Mike Miller in
35208         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
35209         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
35210         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
35211         wider than time_t.
35213 2013-08-09  Pádraig Brady  <P@draigBrady.com>
35215         bootstrap: support checksum utils having -c but not --status
35216         * build-aux/bootstrap: Only look for sha1sum if updating po files.
35217         Add sha1 to the list of supported checksum utils since it's now
35218         supported through adjustments below.
35219         (update_po_files): Remove the use of --status
35220         in a way that will suppress all error messages, but since this is
35221         only used to minimize updates, it shouldn't cause an issue.
35222         Exit early if there is a problem updating the po file checksums.
35223         (find_tool): Remove the check for --version support as this
35224         is optional as per commit 86186b17.  Don't even check for the
35225         presence of the command as if that is needed, it's supported
35226         through configuring prerequisites in bootstrap.conf.
35227         Prompt that when a tool isn't found, one can define an environment
35228         variable to add to the hardcoded search list.
35230 2013-08-05  Jim Meyering  <meyering@fb.com>
35232         regex: port to non-glibc/lock-using systems
35233         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
35234         system with GNULIB_LOCK would fail due to absence of the
35235         included "glthread/lock.h".  This would affect any package
35236         for which the "lock" module is used only by the regex module,
35237         and not explicitly used.
35238         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
35239         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
35240         Add a dependency on the "lock" module.
35242 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35244         localecharset: make locale_charset thread-safe on Mac OS X
35245         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
35246         instead of MB_CUR_MAX.
35248 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35250         gettext: update to version 0.18.3
35251         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
35252         require AC_PROG_SED to allow user to specify custom sed command when
35253         generating en@quot PO file.
35255 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
35257         bootstrap: use correct source when copying build-aux files
35258         * build-aux/bootstrap (gnulib_extra_files): This variable is
35259         relative to upstream gnulib layout, not downstream.
35261 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
35263         tmpdir: fix bug in VMS port
35264         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
35265         See Steven M. Schweda in
35266         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
35268 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35270         tmpdir: port to VMS, to // != /, and to long dirs
35271         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
35272         __secure_getenv, so that we're more like the glibc version.
35273         All uses changed.
35274         (path_search): Don't put slash after directory if __VMS.
35275         Problem reported by Steven M. Schweda in
35276         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
35277         Simplify code to add slash; no need for a loop.
35278         Do not remove trailing slash from "//".
35279         Do not assume dlen <= INT_MAX.
35281 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35283         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
35284         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
35285         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
35286         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
35288         accept4, dup3, pipe2: port to Cygwin
35289         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
35290         * lib/accept4.c (accept4) [O_BINARY]:
35291         * lib/dup3.c (dup3) [O_BINARY]:
35292         * lib/pipe2.c (pipe2) [O_BINARY]:
35293         Use set_binary_mode, not setmode.
35294         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
35295         * modules/binary-io (Depends-on): Remove module indicator.
35296         These last two bits undo the previous change to pipe2 and binary-io.
35298 2013-07-09  Pádraig Brady  <P@draigBrady.com>
35300         mountlist: add support for deallocating returned list entries
35301         * lib/mountlist.c (free_mount_entry): A new exported function
35302         to deallocate a mount list entry.
35303         (read_file_system_list): Refactor to use the new deallocation function.
35304         Suggested by Anton Ovchinnikov.
35306 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
35308         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
35309         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
35310         * lib/stdalign.in.h (_Alignas, _Alignof):
35311         Port to FreeBSD 9.1, and to C11 and C++11.
35312         (_Alignas): Also support ICC.
35313         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
35314         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
35316 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35318         fnmatch: don't goto over declaration
35319         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
35320         undefined behavior for goto over a declaration.
35321         Problem reported by Charlie Brown in
35322         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
35324         pipe2: decouple from binary-io a bit
35325         This is for Emacs, which needs pipe2 but not binary-io.
35326         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
35327         * modules/binary-io (Depends-on): Add module indicator.
35329 2013-07-03  Eric Blake  <eblake@redhat.com>
35331         mgetgroups: relax license to LGPLv2+
35332         * modules/getugroups (License): Change from GPLv3+.
35333         * modules/mgetgroups (License): Likewise.
35334         * modules/getgroups (License): Change from LGPLv3+.
35336         xalloc-oversized: relax license to LGPLv2+
35337         * modules/xalloc-oversized (License): Change from GPLv3+.
35339         nproc: relax license to LGPLv2+
35340         * modules/nproc (License): Change from LGPLv3+.
35342         bootstrap: honor --no-git
35343         * build-aux/bootstrap: Don't even try to use git when user is
35344         pointing to a static checkout.
35346 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35348         ignore-value: port to gcc -pedantic
35349         * lib/ignore-value.h (ignore_value):
35350         Port to gcc -pedantic, by using __extension__.
35351         Reindent as per usual gnulib style nowadays.
35352         Simplify GCC version check.
35354 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35356         extern-inline: port to gcc -std=c89
35357         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35358         Do not use __gnu_inline__ if pedantic and pre-C99.
35360 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35362         doc: document extern-inline
35363         * doc/extern-inline.texi: New file.
35364         * doc/gnulib.texi (alloca-opt): Include it.
35365         * m4/extern-inline.m4: Move some comments to documentation,
35366         and others closer to what they describe.
35368         doc: chatter less
35369         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
35370         (updated-stamp): Use it.  This causes 'make' to output just
35371         one file name rather than zillions.
35373         fflush, fseeko: port to musl cross-compiles
35374         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
35375         on some implementation that (1) is not known to be buggy,
35376         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
35377         cross-compiled to so we can't easily check for lack of
35378         conformance.  This is for cross-compiling to musl.
35379         Reported by Rich Felker in
35380         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
35381         * m4/fclose.m4 (gl_FUNC_FCLOSE):
35382         * m4/fflush.m4 (gl_FUNC_FFLUSH):
35383         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
35384         Adjust to above change.
35385         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
35386         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
35387         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
35388         known not to work, or unknown.
35390 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35392         msvc-inval: port to mingw-w64
35393         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
35394         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
35395         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
35397 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35399         getcwd-lgpl: port to Tru64
35400         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
35401         Problem reported by Steven M. Schweda in
35402         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
35404         tests: port large-fd POSIX spawn tests to OS X
35405         Problem reported by Daiki Ueno in
35406         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
35407         * tests/test-posix_spawn_file_actions_addclose.c:
35408         * tests/test-posix_spawn_file_actions_adddup2.c:
35409         * tests/test-posix_spawn_file_actions_addopen.c:
35410         Include <limits.h>, for OPEN_MAX, if available.
35411         (big_fd): New static function.
35412         (main): Use it.
35414 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
35416         tests/nap.h: use an adaptive delay to avoid ctime update issues
35417         The recent change in nap.h (5191133e) decreased the probability of lost
35418         races to about a third, however such problems could still be observed
35419         in virtual machines and openSUSE's OBS.
35420         Before, nap() detected the needed time once empirically and then used
35421         that delay (together with a small correction multiplier) in further
35422         calls.  This problem has been reported and discussed several times,
35423         including guesses about possible kernel issues:
35424         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
35425         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
35426         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
35427         http://bugs.gnu.org/12820
35428         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
35429         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
35430         Now, nap() avoids the race alltogether by verifying on a reference
35431         file whether a timestamp difference has happened.
35432         * tests/nap.h (nap_fd): Define file descriptor variable for the
35433         witness file.
35434         (nap_works): Change return value to bool.  Change passing
35435         the old file's status by value instead of by reference as this function
35436         does no longer update that timestamp; rename the function argument from
35437         st to old_st.  Remove the local variables cdiff and mdiff because that
35438         function now returns true/false instead of the precise delay.
35439         (guess_delay): Remove function.
35440         (clear_tmp_file): Add new function to close and unlink the witness file.
35441         (nap): Instead of re-using the delay which has been calculated during
35442         the first call, avoid the race by actually verifying that a timestamp
35443         difference can be observed on the current file system.  Use an adaptive
35444         approach for the delay to minimize execution time.  Assert that the
35445         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
35446         = 2^31 - 1 = 2.1s.
35447         Use atexit to call clear_tmp_file when the process terminates.
35449 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
35451         sig2str: port to C++
35452         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
35453         Reported by Daniel J Sebald in
35454         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
35456 2013-05-30  Eric Blake  <eblake@redhat.com>
35458         docs: mention cygwin shortcoming in <sys/un.h>
35459         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
35461         vasnprintf: silence mingw compiler warning
35462         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
35464 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
35466         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
35467         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
35468         This fixes a porting bug I recently reintroduced in regex, and
35469         some other instances that I discovered while testing the fix.
35470         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
35471         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
35472         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
35473         with an empty argument if this is a pedantic pre-C99 GCC.
35474         * lib/verify.h: Do not use _Static_assert if this is a pedantic
35475         pre-C11 GCC.
35477         regex: adapt to locking regime instead of depending on pthread
35478         Instead of depending on pthread, adapt to whatever thread
35479         modules are in use.  Problem reported by Ludovic Courtès in
35480         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
35481         and by Mats Erik Andersson in
35482         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
35483         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35484         Support either the 'lock' module, or the 'pthread' module, or
35485         no module.
35486         (lock_lock, lock_unlock): New macros.
35487         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
35488         * modules/lock, modules/pthread (configure.ac): Add module indicator.
35489         * modules/regex (Depends-on): Remove pthread.
35491 2013-05-22  Eric Blake  <eblake@redhat.com>
35493         getgroups: document portability issues
35494         * doc/glibc-functions/initgroups.texi (initgroups): Mention
35495         multithread safety.
35496         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
35497         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
35498         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
35499         getugroups.
35500         * doc/posix-functions/getgroups.texi (getgroups): Mention
35501         multithread safety and mgetgroups.
35503 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
35505         test-lchown, test-chown: also skip test if chown fails with EPERM
35506         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
35507         skip this test, to handle FAT file systems.
35508         * tests/test-chown.h (test_chown): Likewise.
35510 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35512         regex: fix dfa race in multithreaded uses
35513         Problem reported by Ludovic Courtès in
35514         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
35515         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35516         New macros.  All uses of __libc_lock_define, __libc_lock_init
35517         changed to use the first two of these.
35518         (__libc_lock_lock, __libc_lock_unlock): New macros, for
35519         non-glibc platforms.
35520         (struct re_dfa_t): Define the lock unconditionally.
35521         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
35522         '#ifdef _LIBC"s.
35523         * modules/regex (Depends-on): Add pthread, if we use the
35524         included regex.
35526         * lib/regcomp.c: Do actions that are not needed for glibc,
35527         but may be needed elsewhere.
35528         (regfree, re_compile_internal): Destroy the lock.
35529         (re_compile_internal): Check for lock-initialization failure.
35531         malloca: port to compilers that reject size-zero arrays
35532         This fixes a bug introduced in my previous patch.
35533         * lib/malloca.c (struct preliminary_header): Use an int
35534         rather than a character array of size int; that's simpler.
35535         (struct header): Remove, replacing with ...
35536         (union header): New type.  This avoids the need for declaring a
35537         character array of size zero, which is not allowed on some platforms.
35538         All uses changed.
35540 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35542         parse-datetime, tests: don't use "string" + int
35543         Recent versions of 'clang' complain about C source code that
35544         uses expressions of the form '"string literal" + integer',
35545         I guess on the theory that it's confusing for readers who are
35546         used to C++.  On those grounds I suppose it's OK to make this
35547         minor style change.
35548         * lib/parse-datetime.y (parse_datetime):
35549         * tests/test-fchdir.c (main):
35550         * tests/test-snprintf-posix.h (test_function):
35551         * tests/test-snprintf.c (main):
35552         * tests/test-vasnprintf-posix.c (test_function):
35553         * tests/test-vasnprintf.c (test_function):
35554         * tests/test-vsnprintf.c (main):
35555         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
35556         Rewrite '"str" + E' to '&"str"[E]'.
35558 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35560         argmatch: port to C++
35561         * lib/argmatch.h [__cplusplus]: Add extern "C".
35563         argp: typo fix
35564         * lib/argp-help.c: Typo in comment.
35566 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
35568         manywarnings: update for GCC 4.8.0
35569         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
35570         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
35571         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
35572         -Wmissing-noreturn, as they are duplicates of other warnings.
35573         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
35574         was documented to be flaky in earlier versions of GCC.
35576         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
35577         * tests/test-spawn.c (main):
35578         * tests/test-sys_socket.c (main):
35579         * tests/test-sys_wait.c (main):
35580         Don't have a switch value that isn't covered by a case.
35582         getaddrinfo-tests: port --enable-gcc-warnings to clang
35583         * tests/test-getaddrinfo.c (simple):
35584         Avoid casts from looser to stricter-aligned pointers.
35586         thread: port --enable-gcc-warnings to clang
35587         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
35588         Include <signal.h>, to pacify a warning about pthread_sigmask.
35590         stdio: use __REDIRECT for fwrite, fwrite_unlocked
35591         * lib/stdio.in.h (fwrite):
35592         When working around bug 11959, use __REDIRECT rather than '#define
35593         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
35594         fix the -Wunused-value issue with clang, and it works with GCC too.
35595         Problem with targeting reported by Eric Blake in
35596         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
35597         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
35598         debugging the fwrite issue.
35600         stdio: port --enable-gcc-warnings to clang
35601         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
35602         since the GCC workaround for fwrite does not pacify clang.
35604         sig2str: port --enable-gcc-warnings to clang
35605         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
35607         obstack: port --enable-gcc-warnings to clang
35608         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
35609         Avoid casts from looser to stricter-aligned pointers.
35611         memchr2: port --enable-gcc-warnings to clang
35612         * lib/memchr2.c (memchr2):
35613         Avoid casts from looser to stricter-aligned pointers.
35615         mbsstr: port --enable-gcc-warnings to clang
35616         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
35617         Avoid casts from looser to stricter-aligned pointers.
35619         malloca: port --enable-gcc-warnings to clang
35620         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
35621         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
35623         inttostr: port --enable-gcc-warnings to clang
35624         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
35626         warnings: port to clang
35627         Problem reported by Daniel P. Berrange via Eric Blake in
35628         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
35629         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
35630         (gl_WARN_ADD): Use it.
35632 2013-05-11  Jim Meyering  <meyering@fb.com>
35634         quotearg: do not read beyond end of buffer
35635         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
35636         end of an ARG for which no length was specified.  With an N-byte
35637         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
35638         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
35639         via coreutils' misc/sort-debug-keys.sh test and detected by running
35640         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
35641         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
35642         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
35643         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
35644         characters correctly."
35646 2013-05-11  Daiki Ueno  <ueno@gnu.org>
35648         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
35649         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
35650         compilation target is Mac OS X 10.6.
35651         Problem reported by parafin and Andoni Morales in
35652         <http://savannah.gnu.org/bugs/?37844> and
35653         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
35655 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
35657         mkdir-p: remove assumptions about umask and mode
35658         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
35659         umask is 0, or that MODE is a subset of MODE_BITS.
35661 2013-05-10  Eric Blake  <eblake@redhat.com>
35663         maint.mk: catch more abuse of HAVE_DECL in syntax-check
35664         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
35666 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
35668         deps: require Automake >= 1.9.6 in generated Makefile fragments
35670         That is the same minimal version required in the DEPENDENCIES file.
35671         Moreover, the old code generated a requirement of Automake >= 1.5,
35672         and that is an insanely outdated version.
35674         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
35675         * tests/havelib/rpathlx/Makefile.am: Likewise.
35676         * tests/havelib/rpathly/Makefile.am: Likewise.
35677         * tests/havelib/rpathlyx/Makefile.am: Likewise.
35678         * tests/havelib/rpathlz/Makefile.am: Likewise.
35679         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
35680         * tests/havelib/rpathx/Makefile.am: Likewise.
35681         * tests/havelib/rpathy/Makefile.am: Likewise.
35682         * tests/havelib/rpathz/Makefile.am: Likewise.
35684 2013-05-08  Eric Blake  <eblake@redhat.com>
35686         bootstrap: AC_INIT may have more than four parameters
35687         * build-aux/bootstrap (extract_package_name): Correctly extract
35688         non-empty tarname field.  Avoid range in regex.
35689         Based on a report by Sami Kerola <kerolasa@iki.fi>.
35691 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
35693         qacl: port to MS-Windows port of GNU Emacs
35694         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
35695         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
35696         port of GNU Emacs.  Problem reported by Eli Zaretskii in
35697         <http://bugs.gnu.org/14295#14>.
35699 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
35701         acl: include quote.h
35702         * lib/copy-acl.c: Include quote.h.
35703         * lib/set-acl.c: Likewise.
35705 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
35707         fchownat, renameat, unlinkat: update statat dependencies
35708         These modules use statat and lstatat, not fstatat; so depend on
35709         the statat module, which was split out recently from fstatat.
35710         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
35711         * modules/renameat: Likewise.  Also delete fstat.
35712         URL: http://bugs.gentoo.org/468790
35714 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
35716         Assume gnulib is checked out from Git, not CVS
35718         In fact, access to the gnulib repository through CVS has been
35719         disabled, or more precisely, got broken and was never restored; see:
35720         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
35722         Note that support for CVS is not removed completely and unthinkingly
35723         by this change: only support for CVS checkouts of gnulib itself is
35724         removed.  For example, the 'bootstrap' script still cater to .cvsingore
35725         files and CVS directories, for the benefit of those poor gnulib clients
35726         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
35728         * gnulib-tool: Simplify accordingly.
35729         * posix-modules: Likewise.
35730         * MODULES.html.sh: Likewise.
35731         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
35732         repository.
35733         * doc/gnulib-intro.texi: Likewise.
35734         * doc/gnulib-readme.texi: Likewise.
35735         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
35736         sample '.gitignore' file rather than a sample '.cvsignore'.
35737         * NEWS: Update.
35738         * m4/extensions.m4: While at it, remove a comment mistakenly referring
35739         to "CVS Autoconf" rather than "git Autoconf".
35741 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
35743         utimensat-tests, etc.: try to fix some races
35744         Problem reported by Bernhard Voelker in
35745         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
35746         I don't know whether this patch fixes that race condition, but it
35747         fixes *some* race conditions, so it should be a win.
35748         * modules/chown-tests (Depends-on):
35749         * modules/fchownat-tests (Depends-on):
35750         * modules/fdutimensat-tests (Depends-on):
35751         * modules/futimens-tests (Depends-on):
35752         * modules/lchown-tests (Depends-on):
35753         * modules/stat-time-tests (Depends-on):
35754         * modules/utimens-tests (Depends-on):
35755         * modules/utimensat-tests (Depends-on):
35756         Depend on nanosleep, not usleep.
35757         * modules/chown-tests (test_chown_LDADD):
35758         * modules/lchown-tests (test_lchown_LDADD):
35759         * modules/stat-time-tests (test_stat_time_LDADD):
35760         New macro.
35761         * modules/fchownat-tests (test_fchownat_LDADD):
35762         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
35763         * modules/futimens-tests (test_futimens_LDADD):
35764         * modules/utimens-tests (test_utimens_LDADD):
35765         * modules/utimensat-tests (test_utimensat_LDADD):
35766         Add $(LIB_NANOSLEEP).
35767         * modules/stat-time-tests (Files): Add tests/nap.h.
35768         * tests/nap.h: Include <limits.h>, for INT_MAX.
35769         (lt_mtime): Remove.
35770         (diff_timespec): New function.
35771         (get_stat): Rename from get_mtime.  All callers changed.
35772         (nap_works): Determine the needed delay by inspecting the
35773         file system's timestamp jumps; this should be more reliable.
35774         Look at both mtime and ctime, and take the maximum of the two jumps.
35775         (nap_works, guess_delay):
35776         Return a nanosecond count, not a microsecond count.
35777         All callers changed.
35778         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
35779         failure.
35780         (nap): Multiply the guess by 1.125, to accommodate the case where
35781         the file system's clock is a bit slower than nanosleep's clock.
35782         * tests/test-stat-time.c (BASE): New macro.
35783         Include nap.h.
35784         (nap): Remove; nap.h now defines this.  This removes a duplicate
35785         implementation of 'nap'.
35787         utimens, utimensat: work around Solaris UTIME_OMIT bug
35788         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
35789         Linux kernel 2.6.32 does.  Work around it in the same way.
35790         * doc/posix-functions/futimens.texi (futimens):
35791         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
35792         * lib/utimens.c (fdutimens, lutimens):
35793         * lib/utimensat.c (rpl_utimensat): Work around the bug.
35795         gettext: now it's your responsibility to add -I$(top_builddir)/intl
35796         Formerly, it was your responsibility to do this for all Makefile.ams
35797         other than Gnulib's.  Now it's your responsibility to do it for
35798         Gnulib's Makefile.am, too.
35799         * NEWS: Document this.
35800         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
35802         acl: include errno.h to get errno
35803         Reported by Daiki Ueno in
35804         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
35805         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
35807 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
35809         tests: don't assume getdtablesize () <= 10000000
35810         * modules/cloexec-tests:
35811         * modules/dup2-tests:
35812         * modules/dup3-tests:
35813         * modules/nonblocking-tests:
35814         * modules/posix_spawn_file_actions_addclose-tests:
35815         * modules/posix_spawn_file_actions_adddup2-tests:
35816         * modules/posix_spawn_file_actions_addopen-tests:
35817         * modules/unistd-safer-tests:
35818         Depend on the getdtablesize module.
35819         * tests/test-cloexec.c:
35820         * tests/test-dup-safer.c:
35821         * tests/test-dup2.c:
35822         * tests/test-dup3.c:
35823         * tests/test-fcntl.c:
35824         * tests/test-nonblocking.c:
35825         * tests/test-posix_spawn_file_actions_addclose.c:
35826         * tests/test-posix_spawn_file_actions_adddup2.c:
35827         * tests/test-posix_spawn_file_actions_addopen.c:
35828         Don't assume getdtablesize () <= 10000000.
35830 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
35832         extern-inline: work around bug in Sun c99
35833         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35834         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
35836 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
35838         qacl: new module, broken out from the acl module
35839         This is for GNU Emacs, which wants the acl functions but does
35840         not want 'error' invoked when they fail.
35841         * lib/acl-internal.h: Do not include error.h, quote.h.
35842         (ENOSYS, ENOTSUP): Remove; no longer needed.
35843         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
35844         * lib/acl.h: Include <stdbool.h>.
35845         (acl_errno_valid): New function.
35846         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
35847         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
35848         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
35849         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
35850         (ACL_INTERNAL_INLINE): Remove; no longer needed.
35851         * lib/file-has-acl.c (file_has_acl):
35852         * lib/qcopy-acl.c (qcopy_acl):
35853         * lib/qset-acl.c (qset_acl):
35854         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
35855         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
35856         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
35857         lib/file-has-acl.c, m4/acl.m4 to qacl module.
35858         Add lib/set-acl.c.
35859         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
35860         Add qacl.
35861         (configure.ac): Move gl_FUNC_ACL to qacl module.
35862         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
35863         Rename set-mode-acl.c to set-acl.c.
35864         * lib/acl-errno-valid.c: New file.
35865         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
35866         copy_acl function remains in copy-acl.c.
35867         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
35868         (_): Remove; not needed.
35869         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
35870         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
35871         * modules/qacl: New file, moved from the old modules/acl.
35872         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
35873         Remove set-mode-acl.c, copy-acl.c.
35874         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
35876         alignof, intprops, malloca: port better to IBM's C compiler
35877         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
35878         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
35879         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
35881 2013-04-25  Daiki Ueno  <ueno@gnu.org>
35883         wctype-h: fix gettext link error on mingw
35884         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
35885         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
35886         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
35887         rpl_towupper and rpl_towupper.
35889 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
35891         regex-tests, regex: allow glibc re_search behavior
35892         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
35893         re_search input data to make the multi-character collating element
35894         in it clearly visible, and treat re_search return code 0 as valid.
35895         * m4/regex.m4 (gl_REGEX): Likewise.
35897 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
35899         stdalign: doc fix
35900         * doc/posix-headers/stdalign.texi (stdalign.h):
35901         Gnulib doesn't support '_Alignof expr'.
35903 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
35905         stdalign: port to stricter ISO C11
35906         ISO C11 says that _Alignof's operand must be a parenthesized type.
35907         Problem reported by Eli Zaretskii in
35908         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
35909         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
35910         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
35912 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
35914         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
35915         Problem reported by Marco Atzeri in
35916         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
35917         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
35918         Simply delegate to the system <sys/select.h> in this case too.
35919         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
35920         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
35921         be needed on Solaris either.
35922         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
35923         Simply delegate to the system <sys/time.h> in this case.
35925 2013-03-19  Karl Berry  <karl@gnu.org>
35927         * build-aux/gnupload: check for erroneous (with gnupload) use of
35928         ftp-upload.gnu.org, tweak help.
35930 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
35932         copy-file, rpmatch: fix problems found by cppcheck
35933         Reported by Arno Onken in
35934         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
35935         * lib/rpmatch.c (try): Fix memory leak.
35936         * lib/copy-file.c: Include "ignore-value.h".
35937         (qcopy_file_preserving): Ignore chown value.
35938         * modules/copy-file (Depends-on): Add ignore-value.
35940 2013-01-27  Jim Meyering  <jim@meyering.net>
35942         prefix-gnulib-mk: give better diagnostics
35943         * build-aux/prefix-gnulib-mk: Don't just "die".
35944         Give better diagnostics upon failure.
35946 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
35948         putenv: port to Solaris 10
35949         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
35950         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
35951         is not what is wanted here.
35952         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
35953         declaration, not for its existence.
35955 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
35957         mktime: fix configure typo
35958         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
35960 2013-03-12  Eric Blake  <eblake@redhat.com>
35962         regex-tests: skip UTF-8 test on mingw
35963         * modules/regex-tests (Depends-on): Add localcharset.
35964         * tests/test-regex.c (main): Use it to skip test on mingw.
35966 2013-03-11  Eric Blake  <eblake@redhat.com>
35968         tests: make it easier to bypass alarm time in debugger
35969         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
35970         * tests/test-memmem.c (main): Likewise.
35971         * tests/test-passfd.c (main): Likewise.
35972         * tests/test-ptsname.c (main): Likewise.
35973         * tests/test-ptsname_r.c (main): Likewise.
35974         * tests/test-strcasestr.c (main): Likewise.
35975         * tests/test-strstr.c (main): Likewise.
35977         regex: port to mingw's recent addition of undeclared alarm
35978         * doc/posix-functions/alarm.texi (alarm): Document that alarm
35979         exists but still doesn't work in newer mingw.
35980         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
35981         not existence.  Ensure SIGALRM is not trapped.
35982         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
35983         * m4/regex.m4 (gl_REGEX): Likewise.
35984         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
35985         * tests/test-regex.c (main): Use correct probe for alarm.
35987         putenv: avoid compilation warning on mingw
35988         * lib/putenv.c (_unsetenv): Protect variable declaration.
35989         (putenv): Fix indentation.
35991 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
35993         unistd: don't prevent Tru64 Unix from using gnulib strtod.
35994         * lib/unistd.in.h: be careful not to include un-needed system
35995         stdlib.h from here, because that prevents gnulib stdlib.h from
35996         defining rpl_strtod correctly.
35998 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
36000         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
36001         changesets, but for the 'precision 0' test.
36002         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36003         round-to-even, since POSIX says rounding is implementation-defined
36004         and OS X 10.8.2 rounds 1.51 to 1 here.
36006         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
36007         changeset.
36008         * tests/test-vasprintf-posix.c (test_function): Don't insist on
36009         round-to-even, since POSIX says rounding is implementation-defined
36010         and OS X 10.8.2 rounds 1.5 to 1 here.
36012 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
36014         vasnprintf-posix-tests: allow rounding 1.5 to 1
36015         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
36016         round-to-even, since POSIX says rounding is implementation-defined
36017         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
36018         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
36020         bootstrap: port to FreeBSD
36021         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
36022         that treat '--' differently.  Reported by Mats Erik Andersson in
36023         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
36025 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
36027         regex: rename remaining __attribute calls to __attribute__.
36028         2012-02-25 changed definition of __attribute, but left some uses
36029         unchanged, preventing compilation of regex module on most non-gcc
36030         environments.
36031         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
36032         (lookup_collation_sequence_value, build_range_exp)
36033         (build_collating_symbol): Set attributes with newly renamed
36034         __attribute__ decorator.
36035         * lib/regex_internal.c (re_string_peek_byte_case)
36036         (re_node_set_compare, re_node_set_contains): Likewise.
36037         * lib/regexec.c (acquire_init_state_context): Likewise.
36039 2013-03-06  Bruno Haible  <bruno@clisp.org>
36041         execute: Revert last change, but use a different condition.
36042         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
36043         on Windows.
36045 2013-03-05  Eric Blake  <eblake@redhat.com>
36047         execute: drop dead code
36048         * lib/execute.c (nonintr_close, nonintr_open): Delete.
36050 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
36052         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
36053         * m4/non-recursive-gnulib-prefix-hack.m4
36054         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
36055         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
36056         <http://bugs.gnu.org/10305#237>.
36058 2013-03-04  Eric Blake  <eblake@redhat.com>
36060         test-getsockopt: avoid compiler warning
36061         * tests/test-getsockopt.c (includes): Ensure close is declared.
36063 2013-03-02  Bruno Haible  <bruno@clisp.org>
36065         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
36066         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
36068 2013-03-02  Bruno Haible  <bruno@clisp.org>
36070         gettext: Update to version 0.18.2.
36071         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
36072         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
36073                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
36075 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
36077         regex: merge patches from libc
36079         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
36080         * lib/regex_internal.h (__attribute__): Rename from __attribute.
36081         All uses changed.
36082         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
36083         (re_string_wchar_at, re_string_elem_size_at):
36084         Mark function as possibly unused.
36086         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
36087         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
36088         elements compare against the byte sequence of it, not its name.
36090 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
36092         putenv: port better to native Windows
36093         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36094         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
36095         (_unsetenv): Use _putenv if available.
36096         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
36097         a bit less likely to cause damage.
36098         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
36099         Fix the wrong value with SetEnvironmentVariable.
36100         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
36101         code better.
36103 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36105         regex: ignore old-style-definition warnings
36106         * lib/regex.c: Add pragma to ignore these warnings.
36107         Problem reported for GNU tar by Pavel Raiskup.
36109 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36111         getcwd: support coreutils better
36112         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
36113         but this might not be correct in coreutils, which disables
36114         the raw decl checks.  Problem reported by Nagendra in
36115         <http://bugs.gnu.org/10305#192>.
36116         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
36117         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
36118         Test the getcwd function, not any macro, since getcwd.c wants the
36119         function.
36120         * m4/getcwd.m4 (gl_FUNC_GETCWD):
36121         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
36122         compile, as might happen if there's a macro but no function.
36124         strtod: support coreutils better
36125         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
36126         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
36127         disables the raw decl checks.  This assumes there is an underlying
36128         strtod, but that's a safe assumption these days.
36129         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
36131         mountlist: port to HP NonStop
36132         Reported by Joachim Schmitz in
36133         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
36134         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
36135         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
36137 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
36139         extern-inline: avoid compilation error with HP-UX cc
36140         Reported by Richard Lloyd in
36141         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
36142         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
36143         Suppress extern inline with HP-UX cc.  This should be safe,
36144         though it may hurt performance.  Perhaps someone with some HP-UX
36145         experience can come up with a higher-performance fix.
36147 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36149         putenv: fix heap corruption with mixed putenv/_putenv
36150         Problem reported by Michael Goffioul in
36151         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
36152         * lib/putenv.c (putenv) [HAVE__PUTENV]:
36153         Rely on _putenv to allocate the new environment.
36154         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
36155         * modules/putenv (configure.ac): Use it.
36157 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
36159         unsetenv etc.: port to Solaris 11 + GNU Emacs
36160         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
36161         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
36162         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
36163         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
36164         idea but is too painful to fix right now), and without this gnulib
36165         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
36166         compiling unsetenv.c on Solaris 11.  Fix the problem for
36167         unsetenv.c, and fix other similar occurrences.
36169 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
36171         secure_getenv: fix C++ declaration typo
36172         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
36173         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
36174         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
36176 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
36178         careadlinkat: stop exporting careadlinkatcwd
36179         Only Emacs used it directly, and Emacs no longer needs it.
36180         * NEWS: Document this simplification.
36181         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
36182         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
36183         for readlink.
36184         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
36185         Don't include stdlib.h; no longer needed.
36186         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
36187         * lib/relocwrapper.c: Adjust comment to match new dependencies.
36188         * modules/areadlink (Depends-on): Add readlink.
36189         (Maintainer): Add self.
36190         * modules/careadlinkat (Depends-on): Remove readlink.
36192         extensions: port better to HP-UX
36193         This is merged from git Autoconf.
36194         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36195         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
36196         so that it's compatible with the value used when compiling.
36198         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
36199         Problem reported by Mats Erik Andersson in
36200         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
36201         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36202         openpty function exists, not merely when we intend to replace it.
36203         This corrects the 2013-01-31 patch, which mistakenly defined
36204         HAVE_OPENPTY even on hosts that lacked it.
36206 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36208         secure_getenv: fix include typo
36209         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
36211         secure_getenv: port better to FreeBSD and Solaris
36212         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
36213         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
36214         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
36215         This works better on BSDish platforms.
36216         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
36217         Test for issetugid if __secure_getenv is missing.
36219 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
36221         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
36222         Some of these changes are merged in from git Autoconf.
36223         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36224         When deciding whether to define _XOPEN_SOURCE, inspect the
36225         preprocessor macro __hpux instead of the more-heavyweight
36226         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
36227         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
36228         as the key for __EXTENSIONS__.
36230         unistd: avoid namespace pollution on non-glibc systems
36231         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
36232         This avoids namespace pollution on non-glibc systems, by causing
36233         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
36234         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
36235         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
36237 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36239         tmpdir: use secure_getenv
36240         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
36241         Define to secure_getenv, not getenv.
36242         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
36243         as that's now secure_getenv's job.
36244         * modules/tmpdir (Depends-on): Add secure_getenv.
36246         tempname: use secure_getenv
36247         * lib/tempname.c (__secure_getenv) [!_LIBC]:
36248         Define to secure_getenv, not getenv.
36249         * modules/tempname (Depends-on):
36250         Add secure_getenv.
36252         secure_getenv: new module
36253         * MODULES.html.sh (Extra functions based on ANSI C 89):
36254         Add secure_getenv.
36255         * doc/glibc-functions/secure_getenv.texi: New file.
36256         * doc/gnulib.texi: Include it.
36257         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
36258         New files.
36259         * lib/stdlib.in.h (secure_getenv): New decl.
36260         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
36261         * modules/stdlib (stdlib.h):
36262         Add secure_getenv checks.
36264 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36266         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
36267         Reported for OS X 10.8.2 by Assaf Gordon in
36268         <http://bugs.gnu.org/13516>.
36269         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
36270         !HAVE_OPENAT && !HAVE_FDOPENDIR.
36271         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
36272         so that they can be kept in sync more easily.  Avoid PATH_MAX
36273         test on the Hurd.  Sync from test-getcwd.c for errno tests after
36274         mkdir or chdir failure.
36275         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
36276         lib/getcwd.c.
36277         (test_abort_bug): Do not test for the deep directory bug unless we
36278         have openat support.  Avoid PATH_MAX test on the Hurd.
36280         regex-tests, regex: fix bug: memset undeclared
36281         * tests/test-regex.c: Don't include regex.h twice.  Include
36282         string.h, to declare memset.  Christensen's report also mentioned
36283         this issue.
36284         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
36285         test-regex.c, to avoid future problems like this.  Remove
36286         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
36287         twice.
36289         regex-tests: fix link errors on older Solaris
36290         These need to link with @LIBINTL@ to get libintl_gettext.
36291         Problem reported by Tom G. Christensen in
36292         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
36293         * modules/regex-tests (test_regex_LDADD): New macro.
36295 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36297         regex-tests: new module
36298         * modules/regex-tests, tests/test-regex.c: New files.
36300         regex: fix off-by-one error in configure test
36301         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
36303 2013-01-31  Eric Blake  <eblake@redhat.com>
36305         regex: avoid infinite configure test
36306         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
36308 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
36310         openpty: fix bug where HAVE_OPENPTY wasn't defined
36311         See the thread starting at:
36312         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
36313         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36314         openpty function exists, not merely when we intend to replace it.
36316 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
36318         sys_time: port to Solaris 2.6
36319         There is a circularity problem on Solaris 2.6, where <time.h> includes
36320         <sys/time.h> for struct timespec.  The include nesting is gnulib
36321         <time.h>, system <time.h>, gnulib <sys/time.h>, system
36322         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
36323         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
36324         <sys/siginfo.h>; the last, innermost file needs struct
36325         timestruc_t, which is defined in <sys/time.h>, which has not been
36326         fully parsed.  Problem reported by Tom G. Christensen in
36327         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
36328         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
36329         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
36330         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
36331         uses split double-inclusion guards.
36333 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36335         regex: test for buffer overrun
36336         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
36337         for the just-fixed regex bug.
36339 2013-01-29  Andreas Schwab  <schwab@suse.de>
36341         regex: fix buffer overrun in regexp matcher [BZ #15078]
36342         * lib/regexec.c (extend_buffers): Add parameter min_len.
36343         (check_matching): Pass minimum needed length.
36344         (clean_state_log_if_needed): Likewise.
36345         (get_subexp): Likewise.
36347 2013-01-28  Pádraig Brady  <P@draigBrady.com>
36349         mountlist: don't consider "devtmpfs" as dummy
36350         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
36351         as there is storage associcated with it.
36353 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36355         futimens-tests, utimens-tests: Depend on gettext.
36356         This works around a problem introduced in my 2013-01-12 patch,
36357         which added @LIBINTL@ to these modules.
36358         * modules/futimens-tests (Depends-on):
36359         * modules/utimens-tests (Depends-on): Add gettext.
36361 2013-01-26  Eric Blake  <eblake@redhat.com>
36363         test-getpeername: fix typo
36364         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
36366 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
36368         bootstrap: remove the need for a sorted .gitignore file
36369         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
36370         rename to insert_if_absent(), so that we don't need or generate
36371         a sorted .gitignore file.  We do require a .gitignore with no
36372         existing duplicate entries and enforce that.
36373         (sort_patterns): Remove this function as we now use the simpler
36374         technigue of inserting blacklist entries at the top of the file,
36375         assuming gnulib won't be inserting !whitelist entries.
36377 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36379         readlinkat: don't depend on gl_FUNC_OPENAT
36380         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
36381         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
36382         renameat.m4, symlinkat.m4; but one thing at a time.
36384         statat: new module, split out from fstatat
36385         GNU Emacs needs the POSIX-specified fstatat, but not the
36386         gnulib-specified statat and lstat.  Split the latter two into a
36387         new module 'statat'.
36388         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
36389         * lib/openat.h, lib/statat.c (STATAT_INLINE):
36390         Rename from FSTATAT_INLINE. All uses changed.
36391         * modules/fstatat (Files): Remove lib/statat.c.
36392         (gl_MODULE_INDICATOR([fstatat])): Remove.
36393         (lib_SOURCES): Remove.
36394         (Maintainer): Add self.
36395         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
36396         * tests/test-fstatat.c (BASE): Don't define if already defined.
36397         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
36399 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36401         tests: don't assume fd 99 is closed
36402         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
36403         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
36404         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
36405         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
36406         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
36407         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
36408         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
36409         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
36410         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
36411         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
36412         * tests/test-fwrite.c, tests/test-getpeername.c:
36413         * tests/test-getsockname.c, tests/test-getsockopt.c:
36414         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
36415         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
36416         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
36417         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
36418         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
36419         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
36420         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
36421         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
36422         * tests/test-unlinkat.c, tests/test-unlockpt.c:
36423         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
36424         Close file descriptor 99, instead of assuming it's already closed.
36426 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
36428         stpncpy: port to OS X 10.8
36429         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
36430         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
36432 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36434         unistd: port to recent mingw
36435         * lib/unistd.in.h: Remove special invocation convention for mingw,
36436         which breaks for the latest mingw version.  See John W. Eaton in
36437         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
36439         largefile: port better to Mac OS X 10.5
36440         This patch is backported from Autoconf git.
36441         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
36442         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
36443         with ino_t size being different for configuration time versus
36444         build/run time.  Problem reported by PHO in
36445         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
36447 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
36449         doc: clarify -Werror
36450         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
36451         clarify that it's intended for developers, not for ordinary builds,
36452         and mention --enable-gcc-warnings as one possible use.
36454 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
36456         stdint: fix build with Android's Bionic fox x86
36457         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
36458         was already included as _SSIZE_T_DEFINED_ might also be defined
36459         in include/machine/_types.h, which is included by stdio.h
36461 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
36463         net_if-tests: port to Solaris 7 + GCC 3.4.6
36464         Problem reported by Tom G. Christensen in
36465         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
36466         * tests/test-net_if.c (ni): Move to next the code that uses it,
36467         so that it's declared only if needed.
36469 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36471         net_if-tests: port to older Solaris
36472         Problem reported by Tom G. Christensen in
36473         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36474         * modules/net_if-tests (NET_IF_LIB): New substitution.
36475         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
36476         (HAVE_IF_NAMEINDEX): New C macro.
36477         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
36479         system-quote-tests: port to older Solaris
36480         Problem reported by Tom G. Christensen in
36481         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36482         * tests/test-system-quote-child.c (fopen, fread): Undef.
36484         c-xvasprintf etc.: fix link errors on older Solaris
36485         These need to link with @LIBINTL@ to get libintl_gettext.
36486         Problem reported by Tom G. Christensen in
36487         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36488         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
36489         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
36490         * modules/futimens-tests (test_futimens_LDADD):
36491         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
36493 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36495         locale: port to Solaris 2.6 and 7 + GNU gettext
36496         * lib/locale.in.h: Just include_next <locale.h> when
36497         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
36498         when combining the localename module with GNU gettext 0.18.2.
36499         Problem reported by Tom G. Christensen in
36500         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
36502 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36504         stdlib: port to Solaris 2.6
36505         Also, the code worked on Solaris 7 through 9 only by accident.
36506         Problem reported by Tom G. Christensen in
36507         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
36508         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
36509         simply include the system stdlib.h.
36510         * lib/getopt.in.h (__need_system_stdlib_h):
36511         * lib/pthread.in.h (__need_system_stdlib_h):
36512         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
36513         Define when including <stdlib.h>, to avoid problems at least for
36514         the pthread case on Solaris 2.6 and 7.  These .h files can get by
36515         with the system stdlib.h.
36517 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
36519         doc: update main copyright year
36520         * doc/gnulib.texi: Update copyright date.
36522         doc: improve ISO 8601 discussion
36523         * doc/parse-datetime.texi (Combined date and time of day items):
36524         Specify more carefully what formats are supported and what is
36525         done with excess precision.
36527 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36529         doc: avoid small caps
36530         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
36531         they're more trouble than they're worth.  Suggested by Karl Berry
36532         in <http://bugs.gnu.org/13360>.
36534         regex: conform to strict C
36535         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
36536         From Aharon Robbins.
36538         gnulib-tool: fix incompatibility with autopoint 0.18.2
36539         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
36540         Problem reported by Tom G. Christensen in
36541         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
36543 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
36545         fprintftime: bring back and reword fwrite comment
36546         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
36548         stdio: remove now-unnecessary stdio.c
36549         Since stdio.in.h no longer uses inline functions, we no longer
36550         need to compile the extern versions.
36551         * lib/stdio.c: Remove.
36552         * modules/stdio (Files): Remove lib/stdio.c.
36553         (lib_SOURCES): Remove.
36555         unicodeio: depend on stdio, not ignore-value
36556         * lib/unicodeio.c: Do not include ignore-value.h.
36557         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
36558         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
36560         fprintftime: depend on stdio, not ignore-value
36561         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
36562         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
36563         since the stdio module arranges to silence that warning now.
36564         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
36566 2012-10-04  Simon Josefsson  <simon@josefsson.org>
36568         stdint-tests: Fix expanded-before-required-warning.
36569         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
36571 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
36573         fwrite: silence __wur only for older glibc versions
36574         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
36575         This will help us remove this workaround some time in the far future.
36577 2013-01-03  Eric Blake  <eblake@redhat.com>
36579         fwrite: silence __wur without using inline
36580         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
36581         just gcc, and in a way that avoids inline issues.
36582         * modules/stdio (Depends-on): Drop extern-inline.
36584 2013-01-03  Jim Meyering  <jim@meyering.net>
36586         update-copyright: avoid copyright notice date corruption
36587         Given a sequence of copyright year numbers in which the final
36588         one was a two-digit number that happened to be a substring of
36589         a preceding four-digit year number, we would mistakenly update
36590         the substring (from two- to four-digit) rather than the two-digit
36591         number at the end, which, combined with the addition of the current
36592         4-digit year number would yield two 5-digit year numbers, e.g.,
36593         here, it would convert the first "99" to "1999, 2013" rather than
36594         the final one:
36595           1991, 99
36596           11999, 20131, 1999
36597         * build-aux/update-copyright: Tighten a regexp.
36598         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
36599         Reported by Joseph Myers in
36600         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
36602 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
36604         regex: omit needless signed-pointer casts
36605         * lib/regcomp.c (build_charclass, build_charclass_op):
36606         Use char *, not unsigned char *, for class name and extra.
36607         The char values are always nonnegative so there's no need to
36608         insist on unsigned char * here, and using char * removes the need
36609         for casts.  Reported by Aharon Robbins in
36610         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36612         regex: support Gawk, which never uses alloca
36613         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
36614         Do not include in this case.  Gawk doesn't supply a substitute
36615         alloca.h and doesn't need one.
36617         regex: port __libc_lock_define usage to C89
36618         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
36619         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
36620         does not conform to C89, as it has an empty macro argument.
36621         Reported by Aharon Robbins in
36622         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36624 2013-01-01  Eric Blake  <eblake@redhat.com>
36626         maint: update all copyright year number ranges
36627         Run "make update-copyright".
36629         version-etc: bump copyright year reported in --version
36630         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
36632 2012-12-31  Eric Blake  <eblake@redhat.com>
36634         sigprocmask-tests: skip test if pid is unexpectedly large
36635         * tests/test-sigprocmask.c (main): Add range check.
36637         git-version-gen: avoid test -z portability glitch
36638         * build-aux/git-version-gen: Prefer portable test spelling, since
36639         git-version-gen is run on more than just developer machines.
36641 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
36643         git-version-gen: add --fallback option to use if git is not present
36644         * build-aux/git-version-gen: Add support for the new option --fallback,
36645         which comes into play when there is no $tarball_version_file and
36646         git is not working.
36647         (scriptversion): Update.
36649         maint.mk: handle missing git with more grace
36650         * top/maint.mk (no-submodule-changes, public-submodule-commit):
36651         Quietly proceed if git is not present.
36653 2012-12-31  Eric Blake  <eblake@redhat.com>
36655         dup2: work around cygwin bug
36656         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
36657         * lib/dup2.c (rpl_dup2): Work around it.
36658         * doc/posix-functions/dup2.texi (dup2): Document it.
36660 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
36662         regex: remove unnecessary dependency on localcharset.h
36663         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
36664         hasn't been needed for years.
36665         * modules/regex (Depends-on): Remove localcharset.
36667         regex: revert single-byte change
36668         * lib/regexec.c (check_node_accept_bytes): Revert previous change
36669         to this function.  This was alredy fixed in a different way, at
36670         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
36671         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
36672         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
36674         regex: simplify based on Gawk version
36675         * lib/regex_internal.c (re_dfa_add_node): Simplify.
36676         Reported by Aharon Robbins in
36677         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36679 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
36681         regex: check that pattern char is single-byte
36682         Reported by Aharon Robbins in
36683         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36684         * lib/regexec.c (check_node_accept_bytes):
36685         Return 0 if the pattern string has a multibyte character here.
36687         regex: implement rational ranges
36688         Reported by Aharon Robbins in
36689         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36690         * lib/regcomp.c (build_range_exp) [!_LIBC]:
36691         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
36692         Implement rational ranges.
36694         regex: avoid redefining __wctype
36695         Reported by Aharon Robbins in
36696         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36697         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
36698         #undef before defining.
36700         regex: port to hosts where malloc (0) == NULL
36701         Reported by Aharon Robbins in
36702         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36703         * lib/regex_internal.c (re_node_set_alloc):
36704         Don't assume that malloc (0) yields nonnull.
36705         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
36706         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
36707         * modules/regex (Files): Add m4/eealloc.m4.
36709         regex: port to C89
36710         Reported by Aharon Robbins in
36711         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36712         * lib/regcomp.c (init_word_char): Declaration before statement.
36714         regex: merge glibc changes
36715         Also, copy the license wording from glibc.  This simplifies
36716         merging changes.  gnulib-tool will change the wording to GPL as
36717         appropriate, when importing it to other packages.  The only
36718         glibc change made since the last merge, which needs merging, is:
36719         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
36720         * lib/regex_internal.h (gettext): Remove use of INTUSE.
36722         * users.txt: Add Emacs.
36724         doc: omit mention of version when not needed
36725         * doc/gnulib-intro.texi (Portability and Application Code):
36726         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
36727         Don't mention particular dates or versions when not necessary, so
36728         that the documentation won't go out of date so quickly.
36730         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
36732 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
36734         bootstrap: pass --force to autoreconf.
36735         * build-aux/bootstrap (AUTORECONFFLAGS): New.
36736         Add "--force" so that Automake's ylwrap and other such tools
36737         be updated at each bootstrap invocation.
36738         Use it.
36740 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
36742         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
36743         The earlier patch forgot to update one of the #if conditions, causing
36744         a problem on Debian testing i386 reported by Mats Erik Andersson
36745         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
36746         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
36747         (__argp_fmtstream_puts, argp_fmtstream_puts)
36748         (__argp_fmtstream_write, argp_fmtstream_write)
36749         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
36751         * doc/gnulib-readme.texi: Minor fixups.
36752         (Portability guidelines): Modernize URLs.  Remove some repetition.
36753         (Indent with spaces not TABs): Reword to avoid too-long lines.
36754         Remove some '@ifset standalone' stuff that isn't used.
36756         * doc/gnulib-readme.texi (Portability guidelines):
36757         ctype.h, not ctime.h.
36759         Correct name of POSIX.1-2001.
36760         * doc/posix-functions/fgetc.texi (fgetc):
36761         * doc/posix-functions/fgets.texi (fgets):
36762         * doc/posix-functions/fread.texi (fread):
36763         * doc/posix-functions/fscanf.texi (fscanf):
36764         * doc/posix-functions/getc.texi (getc):
36765         * doc/posix-functions/getchar.texi (getchar):
36766         * doc/posix-functions/scanf.texi (scanf):
36767         POSIX.1-2001, not POSIX-2001.
36769         doc: move README into manual
36770         * README: Move contents to new file doc/gnulib-readme.texi.
36771         Replace with a one-line summary.
36772         * doc/gnulib.texi (Brief Overview): New section,
36773         with old intro preface.  Include gnulib-readme.texi for contents.
36774         (Philosophy): Rename from "Introduction", since this
36775         section no longer introduces the rest.  Write a new preface.
36776         * doc/gnulib-readme.texi: New file, with the old contents of
36777         README texinfo-ized.  This way, the README info appears
36778         in the online and printed manual.
36780 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
36782         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
36783         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
36784         c_vasprintf() prototype.
36786 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
36788         c-vasprintf: Fix "empty declaration" warning reported by GCC.
36789         * lib/c-vasprintf.h: Remove stray semicolon.
36791 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
36793         gettext: avoid obsolete macro AM_PROG_MKDIR_P
36794         It is obsolete and is planned to be removed from Automake 1.14; see
36795         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
36796         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
36797         (installdirs-data, installdirs-data-yes):
36798         Use $(MKDIR_P), not $(mkdir_p).
36799         * m4/intl.m4 (AM_INTL_SUBDIR):
36800         * m4/po.m4 (AM_PO_SUBDIRS):
36801         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
36803 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
36805         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
36806         On this platform, we are not optimizing but we are using
36807         the substitute for extern inlines, so compile as if
36808         C99-style extern inline, or a substitute, is available.
36809         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
36810         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
36811         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
36812         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
36813         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
36814         Declare as ARGP_FS_EI, not as extern.
36815         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
36816         (__option_is_short, _option_is_end, __option_is_end)
36817         [!_LIBC && __USE_EXTERN_INLINES]:
36818         Declare as ARGP_EI, not as extern.
36820 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
36822         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
36823         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
36824         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
36825         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
36826         ...), as the latter is fatal with older Autoconfs.
36827         Problem reported and fix suggested by Eric Blake in thread starting at
36828         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
36830 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
36832         AC_PROG_MKDIR_P: don't workaround if not buggy
36833         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
36834         Define only for Autoconf versions before 2.62.
36835         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
36836         undocumented m4_PACKAGE_VERSION, for consistency with the
36837         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
36838         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
36839         was introduced in 2.62.
36841 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
36843         New 'c-*printf' modules for formatted output in C locale.
36845         New module 'c-vasnprintf'.
36846         * modules/c-vasnprintf: New file.
36847         * lib/c-vasnprintf.c: New file.
36848         * lib/c-vasnprintf.h: New file.
36850         New module 'c-snprintf'.
36851         * modules/c-snprintf: New file.
36852         * modules/c-snprintf-tests: New file.
36853         * lib/c-snprintf.c: New file.
36854         * lib/c-snprintf.h: New file.
36855         * tests/test-c-snprintf.c: New file.
36856         * tests/test-c-snprintf.sh: New file.
36858         New module 'c-vsnprintf'.
36859         * modules/c-vsnprintf: New file.
36860         * modules/c-vsnprintf-tests: New file.
36861         * lib/c-vsnprintf.c: New file.
36862         * lib/c-vsnprintf.h: New file.
36863         * tests/test-c-vsnprintf.c: New file.
36864         * tests/test-c-vsnprintf.sh: New file.
36866         New module 'c-vasprintf'.
36867         * modules/c-vasprintf: New file.
36868         * modules/c-vasprintf-tests: New file.
36869         * lib/c-asprintf.c: New file.
36870         * lib/c-vasprintf.c: New file.
36871         * lib/c-vasprintf.h: New file.
36872         * tests/test-c-vasprintf.c  +: New file.
36873         * tests/test-c-vasprintf.sh: New file.
36875         New module 'c-xvasprintf'.
36876         * modules/c-xvasprintf: New file.
36877         * modules/c-xvasprintf-tests: New file.
36878         * lib/c-xasprintf.c: New file.
36879         * lib/c-xvasprintf.c: New file.
36880         * lib/c-xvasprintf.h: New file.
36881         * tests/test-c-xvasprintf.c: New file.
36882         * tests/test-c-xvasprintf.sh: New file.
36884 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36886         argp: better 'inline'
36887         Use extern-inline module to declare extern inline functions.
36888         This avoids some bogus warning diagnostics.  Problem discovered
36889         when modifying GNU tar to use the manywarnings module.
36890         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
36891         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
36892         Define based on extern-inline.
36893         * modules/argp (Depends-on): Add extern-inline.
36895 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
36897         filemode, sys_stat: Handle MPX files a la AIX.
36898         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
36899         * lib/sys_stat.in.h (S_ISMPX): New macro.
36900         * tests/test-sys_stat.c: Add tests for MPX files.
36902 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36904         x-to-1: honor $PERL
36905         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
36906         a chance to use his preferred version of Perl.  This is typically
36907         required by Darwin users whose default /usr/bin/perl does not have all
36908         the libraries required by help2man, and who need to use their MacPorts
36909         installation of Perl instead.
36911 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36913         gnu-web-doc-update: add all the new files, even in new directories
36914         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
36915         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
36916         Use it.
36917         (main): Don't use cvsutils to get the list of unknown files,
36918         just add all the existing files and directories.
36920 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36922         gnu-web-doc-update: improve --help
36923         * build-aux/gnu-web-doc-update: Move comments into --help.
36925 2012-12-07  Eric Wong  <normalperson@yhbt.net>
36927         mountlist: recognize more "dummy" file systems
36928         * lib/mountlist.c (ME_DUMMY_0):
36929         Add these dummy FS names to the list:
36930         - "debugfs" virtual filesystem for kernel debugging
36931         - "devpts" PTY slave filesystem
36932         - "devtmpfs" device filesystem on top of tmpfs/ramfs
36933         - "fusectl" control filesystem for FUSE
36934         - "mqueue" enumerates POSIX message queues
36935         - "rpc_pipefs" kernel <-> userspace bridge for NFS
36936         - "sysfs" is for exporting kernel objects
36937         - "devfs" device filesystem for Linux 2.4 and FreeBSD
36939 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
36941         extern-inline: avoid incompatibility with Darwin Libc
36942         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
36943         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
36944         Problem reported by Akim Demaille in
36945         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
36947 2012-12-11  Simon Josefsson  <simon@josefsson.org>
36949         gnupload: Work with GnuPG using gpg-agent (for smartcards).
36950         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
36951         let it handle password prompting.
36953 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
36955         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
36956         * lib/canonicalize.c (canonicalize_filename_mode):
36957         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
36958         fetching the current directory.  Don't overrun the beginning of
36959         rpath if there's no slashes after the MS-Windows drive letter.
36961 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
36963         maint.mk: avoid extra forks
36964         * top/maint.mk (_cfg_mk): The GNU make manual documents that
36965         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
36966         So use that instead of "$(shell test -f FILE && echo FILE)".
36968 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36970         vasnprintf: fix ASCII_ONLY typo
36971         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36972         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36973         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36974         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
36975         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
36977 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36979         list, oset, xlist, xoset: fix extern inline issue with C99
36980         This was introduced by my recent changes for 'inline'.
36981         Problem reported for gettext by Daiki Ueno in
36982         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
36983         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
36984         (gl_list_nx_create, gl_list_size, gl_list_node_value)
36985         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
36986         (gl_list_previous_node, gl_list_get_at)
36987         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
36988         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
36989         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
36990         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
36991         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
36992         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
36993         (gl_list_iterator_free, gl_sortedlist_search)
36994         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
36995         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
36996         (gl_sortedlist_remove):
36997         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
36998         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
36999         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
37000         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
37001         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
37002         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
37003         (gl_list_add_at, gl_sortedlist_add):
37004         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
37005         Wrap these extern decls inside "#if 0", because they are implemented
37006         as inline functions, and extern inline is not what's wanted here.
37007         It would simplify these .h files to remove the extern decls entirely,
37008         although a downside would be less-clear separation between
37009         specification and implementation.
37011 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
37013         sys_stat: no 'static inline'
37014         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
37015         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
37017         extern-inline: no 'static inline'
37018         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
37019         Do not require AC_C_INLINE.
37020         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
37021         'static inline', for older compilers.
37023         snippet/warn-on-use: no 'static inline'
37024         * build-aux/snippet/warn-on-use.h:
37025         Remove unnecessary 'inline' in comment.
37027         rbtree-list, rbtreehash-list: no 'static inline'
37028         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
37029         * lib/gl_anytree_list2.h (node_at):
37030         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
37031         (gl_oset_first, add_nodes_to_buckets):
37032         Now static, not static inline.
37034         regex: no 'static inline'
37035         * lib/regex_internal.c (calc_state_hash):
37036         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
37037         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
37038         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
37039         Now static, not static inline.
37040         (inline) [__GNUC__ < 3 && _LIBC]:
37041         Remove macro; no longer needed.
37043         xvasprintf: no 'static inline'
37044         * lib/xvasprintf.c (xstrcat):
37045         Now static, not static inline.
37046         * m4/xvasprintf.m4 (gl_XVASPRINTF):
37047         Do not require AC_C_INLINE.
37049         parse-datetime, parse-duration: no 'static inline'
37050         * lib/parse-datetime.y (to_uchar):
37051         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
37052         (scale_n_add):
37053         Now static, not static inline.
37054         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
37055         * modules/parse-duration (configure.ac):
37056         Do not require AC_C_INLINE.
37058         getaddrinfo: no 'static inline'
37059         * lib/getaddrinfo.c (validate_family):
37060         Now static, not static inline.
37061         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
37062         Do not require AC_C_INLINE.
37064         ftruncate, fts, lstat, openat, raise: no 'static inline'
37065         * lib/ftruncate.c (chsize_nothrow):
37066         * lib/fts.c (opendirat, diropen):
37067         * lib/lstat.c (orig_lstat):
37068         * lib/openat.c (orig_openat):
37069         * lib/raise.c (raise_nothrow):
37070         Now static, not static inline.
37071         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
37072         * m4/fts.m4 (gl_FUNC_FTS_CORE):
37073         * m4/lstat.m4 (gl_PREREQ_LSTAT):
37074         * m4/openat.m4 (gl_PREREQ_OPENAT):
37075         * m4/raise.m4 (gl_PREREQ_RAISE):
37076         Do not require AC_C_INLINE.
37078         fflush, stat: no 'static inline'
37079         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37080         (clear_ungetc_buffer, disable_seek_optimization)
37081         (restore_seek_optimization, update_fpos_cache):
37082         * lib/stat.c (orig_stat):
37083         Now static, not static inline.
37084         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
37085         (update_fpos_cache):
37086         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
37087         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
37088         * m4/stat.m4 (gl_PREREQ_STAT):
37089         Do not require AC_C_INLINE.
37091         error, filevercmp: no 'static inline'
37092         * lib/error.c (is_open, flush_stdout):
37093         * lib/filevercmp.c (order):
37094         Now static, not static inline.
37095         * m4/error.m4 (gl_PREREQ_ERROR):
37096         * modules/filevercmp (configure.ac):
37097         Do not require AC_C_INLINE.
37099         dup, execute, fatal-signal, etc.: no 'static inline'
37100         * lib/dup.c (dup_nothrow):
37101         * lib/execute.c (nonintr_close, nonintr_open):
37102         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
37103         * lib/fopen.c (orig_fopen):
37104         * lib/freadseek.c (freadptrinc):
37105         * lib/freopen.c (orig_freopen):
37106         * lib/fstat.c (orig_fstat, fstat_nothrow):
37107         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
37108         (get_rusage_as_via_iterator):
37109         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
37110         * lib/getdtablesize.c (_setmaxstdio_nothrow):
37111         * lib/isatty.c (_isatty_nothrow):
37112         * lib/open.c (orig_open):
37113         * lib/read.c (read_nothrow):
37114         * lib/sigprocmask.c (signal_nothrow):
37115         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
37116         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
37117         * lib/wait-process.c (unregister_slave_subprocess):
37118         * lib/write.c (write_nothrow):
37119         Now static, not static inline.
37120         * lib/spawn-pipe.c (nonintr_open): Define only if
37121         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
37122         * m4/dup.m4 (gl_PREREQ_DUP):
37123         * m4/execute.m4 (gl_EXECUTE):
37124         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
37125         * m4/fopen.m4 (gl_PREREQ_FOPEN):
37126         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
37127         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
37128         * m4/fstat.m4 (gl_PREREQ_FSTAT):
37129         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
37130         * m4/isatty.m4 (gl_PREREQ_ISATTY):
37131         * m4/open.m4 (gl_PREREQ_OPEN):
37132         * m4/read.m4 (gl_PREREQ_READ):
37133         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
37134         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
37135         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
37136         * m4/wait-process.m4 (gl_WAIT_PROCESS):
37137         * m4/write.m4 (gl_PREREQ_WRITE):
37138         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
37139         Do not require AC_C_INLINE.
37141         c-strtod, memcoll, readutmp: no 'static inline'
37142         * lib/c-strtod.c (c_locale):
37143         * lib/memcoll.c (strcoll_loop):
37144         * lib/readutmp.c (desirable_utmp_entry):
37145         Now static, not static inline.
37146         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
37147         * m4/memcoll.m4 (gl_MEMCOLL):
37148         * m4/readutmp.m4 (gl_READUTMP):
37149         Do not require AC_C_INLINE.
37151         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
37152         * lib/arctwo.c (to_uchar):
37153         * lib/md4.c (set_uint32):
37154         * lib/md5.c (set_uint32):
37155         * lib/sha1.c (set_uint32):
37156         * lib/sha256.c (set_uint32):
37157         * lib/sha512.c (set_uint64):
37158         Now static, not static inline.  This is a bit simpler, and doesn't
37159         affect performance with GCC and default optimization.
37160         * m4/arctwo.m4 (gl_ARCTWO):
37161         * m4/md4.m4 (gl_MD4):
37162         * m4/md5.m4 (gl_MD5):
37163         * m4/sha1.m4 (gl_SHA1):
37164         * m4/sha256.m4 (gl_SHA256):
37165         * m4/sha512.m4 (gl_SHA512):
37166         Do not require AC_C_INLINE.
37168         cond, lock, thread: better 'inline'
37169         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
37170         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
37171         New macros.  Use them instead of static inline, for header functions.
37172         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
37173         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37174         * lib/glthread/lock.c (gl_waitqueue_init)
37175         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37176         * lib/glthread/thread.c (get_current_thread_handle):
37177         Change 'static inline' to 'inline'.
37178         * lib/glthread/cond.h, lib/glthread/thread.h:
37179         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37180         * m4/cond.m4 (gl_COND):
37181         * m4/lock.m4 (gl_PREREQ_LOCK):
37182         * m4/thread.m4 (gl_THREAD):
37183         Do not require AC_C_INLINE.
37184         * modules/cond, modules/thread (Depends-on): Add extern-inline.
37186         chdir-long, cycle-check, savewd: better 'inline'
37187         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
37188         (find_non_slash):
37189         * lib/cycle-check.c (is_zero_or_power_of_two):
37190         * lib/savewd.c (savewd_delegating):
37191         Change 'static inline' to 'inline'.
37192         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
37193         Replace all remaining uses of 'static inline' with it.
37194         * lib/savewd.h:
37195         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37196         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
37197         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
37198         * m4/savewd.m4 (gl_SAVEWD):
37199         Do not require AC_C_INLINE.
37200         * modules/savewd (Depends-on): Add extern-inline.
37202         base32, base64: no need for 'inline'
37203         * lib/base32.c (to_uchar, get_8, decode_8):
37204         * lib/base64.c (to_uchar, get_4, decode_4):
37205         Change 'static inline' to 'inline'.
37206         * m4/base32.m4 (gl_PREREQ_BASE32):
37207         * m4/base64.m4 (gl_PREREQ_BASE64):
37208         Do not require AC_C_INLINE.
37210         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
37211         * lib/gl_array_oset.c (gl_array_nx_add_at):
37212         (gl_array_remove_at):
37213         * lib/gl_linkedhash_list.c (hash_resize_after_add)
37214         (add_to_bucket, remove_from_bucket):
37215         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
37216         Change 'static inline' to 'static', as it's simpler to omit
37217         'inline' unless there's a significant performance advantage.
37219         list, oset, xlist, xoset, xsublist: simplify via extern inline
37220         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
37221         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
37222         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
37223         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
37224         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
37225         New macro.  Replace all uses of 'static inline' with it.
37226         [HAVE_INLINE]: Implement functions as *_INLINE functions,
37227         instead of as macros FOO that are defined to static inline
37228         functions FOO_inline.
37229         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
37230         * lib/gl_xsublist.c:
37231         Reimplement from scratch, by defining the corresponding *_INLINE
37232         macro and including the corresponding .h file.  This is simpler.
37233         * modules/list, modules/oset, modules/xlist, modules/xoset:
37234         (Files): Remove m4/gl_list.m4.
37235         (configure.ac): Remove gl_LIST.
37236         * m4/gl_list.m4: Remove.
37237         * modules/list, modules/oset, modules/xlist, modules/xoset:
37238         * modules/xsublist:
37239         (Depends-on): Depend on extern-inline, not inline.
37241         xalloc: better 'inline'
37242         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
37243         New macro.  Replace all uses of 'static inline' with it.
37244         (static_inline): Remove.
37245         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37246         Let 'extern inline' do the work automatically, instead of doing
37247         it by hand.
37248         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
37249         Remove.  All uses removed.
37250         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
37252         gethrxtime: better 'inline'
37253         * lib/xtime.c: New file.
37254         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
37255         * lib/xtime.h (XTIME_INCLUDE):
37256         New macros.  Replace all uses of 'static inline' with them.
37257         * lib/gethrxtime.c (gethrxtime): Define only if
37258         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
37259         this source file is now always compiled, because of the extern inline.
37260         * lib/gethrxtime.h, lib/xtime.h:
37261         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37262         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
37263         if gethrtime works, as they're not needed in that case.
37264         (gl_XTIME): Do not require AC_C_INLINE.
37265         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
37266         compiled now.  Move the check into gl_GETHRXTIME.
37267         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
37268         (Depends-on): Add extern-inline.
37269         (configure.ac): gethrxtime is always compiled now.
37270         (lib_SOURCES): Add gethrxtime.c.
37272         wctype-h: better 'inline'
37273         * lib/wctype-h.c: New file.
37274         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
37275         New macro.  Replace all uses of 'static inline' with it.
37276         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37277         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
37278         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
37279         (Depends-on): Add extern-inline.
37281         unistd: better 'inline'
37282         * lib/unistd.c: New file.
37283         * lib/unistd.in.h (_GL_UNISTD_INLINE):
37284         New macro.  Replace all uses of 'static inline' with it.
37285         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37286         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
37287         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
37288         (Depends-on): Add extern-inline.
37290         sys_socket: better 'inline'
37291         * lib/sys_socket.c: New file.
37292         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
37293         New macro.  Replace all uses of 'static inline' with it.
37294         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37295         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
37296         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
37297         (Depends-on): Add extern-inline.
37299         stdio: better 'inline'
37300         * lib/stdio.c: New file.
37301         * lib/stdio.in.h (_GL_STDIO_INLINE):
37302         New macro.  Replace all uses of 'static inline' with it.
37303         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37304         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
37305         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
37306         (Depends-on): Add extern-inline.
37308         sigaction: better 'inline'
37309         * lib/sig-handler.c: New file.
37310         * lib/sig-handler.h (SIG_HANDLER_INLINE):
37311         New macro.  Replace all uses of 'static inline' with it.
37312         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37313         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
37314         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
37315         (Depends-on): Add extern-inline.
37317         selinux-h: better 'inline'
37318         * lib/se-context.c, lib/se-selinux.c: New files.
37319         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
37320         * lib/se-context.in.h (SE_CONTEXT_INLINE):
37321         New macro.  Replace all uses of 'static inline' with it.
37322         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37323         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
37324         New macro.  Replace all uses of 'static inline' with it.
37325         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37326         * modules/selinux-h (Files, lib_SOURCES):
37327         Add lib/se-context.c, lib/se-selinux.c.
37328         (Depends-on): Add extern-inline.
37329         (configure.ac): Do not require AC_C_INLINE.
37331         pthread: better 'inline'
37332         * lib/pthread.c: New file.
37333         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
37334         New macro.  Replace all uses of 'static inline' with it.
37335         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37336         * m4/pthread.m4 (gl_PTHREAD_CHECK):
37337         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
37338         * modules/pthread (Files): Add lib/pthread.c.
37339         (Depends-on): Add extern-inline.
37341         math: better 'inline'
37342         * lib/math.c: New file.
37343         * lib/math.in.h (_GL_MATH_INLINE):
37344         New macro.  Replace all uses of 'static inline' with it.
37345         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37346         * m4/math_h.m4 (gl_MATH_H):
37347         Do not require AC_C_INLINE.
37348         * modules/math (Files, lib_SOURCES):
37349         Add lib/math.c.
37350         (Depends-on): Add extern-inline.
37352         count-one-bits: better 'inline'
37353         * lib/count-one-bits.c: New file.
37354         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
37355         New macro.  Replace all uses of 'static inline' with it.
37356         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37357         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
37358         Do not require AC_C_INLINE.
37359         * modules/count-one-bits (Files, lib_SOURCES):
37360         Add lib/count-one-bits.c.
37361         (Depends-on): Add extern-inline.
37363         count-leading-zeros: better 'inline'
37364         * lib/count-leading-zeros.c: New file.
37365         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
37366         New macro.  Replace all uses of 'static inline' with it.
37367         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37368         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
37369         Do not require AC_C_INLINE.
37370         * modules/count-leading-zeros (Files, lib_SOURCES):
37371         Add lib/count-leading-zeros.c.
37372         (Depends-on): Add extern-inline.
37374         bitrotate: better 'inline'
37375         * lib/bitrotate.c: New file.
37376         * lib/bitrotate.h (BITROTATE_INLINE):
37377         New macros.
37378         Replace all uses of 'static inline' with them.
37379         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37380         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
37381         (Depends-on): Add extern-inline.
37382         (configure.ac): Do not require AC_C_INLINE.
37384 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
37386         maint.mk: avoid gratuitous failure
37387         Reported by Stefano Lattarini in
37388         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
37389         * top/maint.mk (public-submodule-commit): Quote more safely.
37391 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
37393         canonicalize, canonicalize-lgpl: support MS-Windows file names
37394         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
37395         for test cases, which it'd be nice to add at some point.
37396         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
37397         * lib/canonicalize.c (canonicalize_filename_mode):
37398         * lib/canonicalize-lgpl.c (__realpath):
37399         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
37400         slash is at the beginning of the file name.  Use ISSLASH, instead
37401         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
37402         the first character with '/'.  Test for
37403         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
37404         with a drive letter.
37405         * lib/canonicalize.c (SLASHES): New macro.
37406         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
37408 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
37410         fts: introduce FTS_VERBATIM
37411         * lib/fts_.h (FTS_VERBATIM): New bit flag.
37412         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
37413         * lib/fts.c (fts_open): Honor it.
37415 2012-11-09  Pádraig Brady  <P@draigBrady.com>
37417         getlogin-tests: allow errno == ENXIO
37418         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37419         with errno == ENXIO (No controlling tty).
37420         getlogin_r-tests: Likewise. Also allow errno == ENOENT
37421         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
37422         with errno == ENOENT.  This was reported to happen in various
37423         situations on GNU/Linux.
37425 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37427         getlogin-tests: allow errno == ENOENT
37428         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37429         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
37430         when running a test in an Emacs shell buffer.
37432 2012-11-08  Jim Meyering  <jim@meyering.net>
37434         tests/nap.h: avoid warning about unused variable
37435         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
37437         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
37438         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
37439         white space before each of the special-cased file names, to avoid
37440         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
37441         in http://bugs.gnu.org/12830.
37443 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37445         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
37446         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
37447         fails with errno == EBADF when fd is opened with O_PATH.
37448         Reported by Jim Meyering in
37449         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
37450         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37451         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
37453 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37455         test-utimens: speed up by taking shorter naps
37456         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
37457         New functions.
37458         (nap): Use them, to do a better job of guessing the delay.
37459         On Fedora 17 with ext4 atop md atop hard disks, this made
37460         test-utimens run 10x faster, because the test napped for
37461         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
37462         <http://bugs.gnu.org/12820#11>.
37464 2012-11-07  Jim Meyering  <jim@meyering.net>
37466         mountlist.c: fix a compilation failure
37467         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
37468         I introduced while transforming commit v0.0-7683-g613bcb6
37470 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37472         errno: port to LynxOS 178 2.2.2
37473         Problem reported by Joel Brobecker in
37474         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
37475         * doc/posix-headers/errno.texi (errno.h): Document this.
37476         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
37477         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
37478         Supply a string for EILSEQ.
37479         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
37481 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37483         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
37484         Linux kernel 2.6.39 introduced O_PATH (see
37485         <http://lwn.net/Articles/433854/>) and this is a better fallback
37486         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
37487         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37488         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
37489         * lib/fcntl.in.h (O_ACCMODE):
37490         * tests/test-fcntl-h.c (main):
37491         Do not reject O_ACCMODE merely because it has more than the
37492         minimal number of bits, as POSIX allows extensions here.
37494 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
37496         mountlist: do not classify a bind-mounted dir entry as "dummy"
37497         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
37498         the "none"-testing clause.
37499         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
37500         exception for bind-mounted directories.
37502 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
37504         quote: provide a means to escape strings with nul characters
37505         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
37506         (quote, quote_n): Rename formal arguments for consistency with
37507         quotearg.
37509 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37511         test-raise: don't assume 199 is an invalid signal
37512         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
37514         sh-quote-tests: port to Solaris 9
37515         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
37516         Problem reported by Dagobert Michelsen in
37517         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
37519 2012-10-28  Jim Meyering  <jim@meyering.net>
37521         maint.mk: rename a new configurable variable
37522         * top/maint.mk (_gl_translatable_string_re): Rename from
37523         translation-markers: _gl_ prefix to insulate from user Makefile code,
37524         and the _re suffix to inform that it's a regular expression.
37526 2012-10-26  Eric Blake  <eblake@redhat.com>
37528         maint.mk: let packages tweak sc_po_check pattern
37529         * top/maint.mk (sc_po_check): Add translation-markers, to allow
37530         finding files with other translation markers.
37532 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37534         euidaccess: speed up 'configure' on GNU hosts
37535         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
37536         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
37537         it's needed only in this case.  Use AC_CHECK_DECLS, not
37538         AC_CHECK_DECLS_ONCE.
37539         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
37540         or AC_REQUIRE for AC_FUNC_GETGROUPS.
37542         * lib/regexec.c (re_search_internal): Fix grammar in comment.
37544 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37546         fchmodat, fchownat, fstatat: port to non-inlining compilers
37547         Problem reported for FreeBSD 9 by Jim Meyering in
37548         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
37549         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
37550         New files, which define FCHMODAT_INLINE etc.
37551         * lib/fchmodat.c (FCHMODAT_INLINE):
37552         * lib/fchownat.c (FCHOWNAT_INLINE):
37553         * lib/fstatat.c (FSTATAT_INLINE):
37554         Remove, as chmodat.c etc. now do this.
37555         * modules/fchmodat (Files): Add lib/chmodat.c.
37556         * modules/fchownat (Files): Add lib/chownat.c.
37557         * modules/fstatat (Files): Add lib/statat.c.
37559 2012-10-15  Jim Meyering  <jim@meyering.net>
37561         fchmodat.c, fchownat.c: compile-impeding typos
37562         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
37563         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
37564         Introduced in commit v0.0-7636-gd202279.
37566 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37568         fcntl-h: support GNU flags like O_IGNORE_CTTY
37569         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
37570         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
37571         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
37572         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
37573         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
37574         Define to 0 if not already defined.
37575         * tests/test-fcntl-h.c: Test these new flags.
37577 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37579         faccessat, etc.: support AT_FDCWD-only use
37580         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
37581         this function only if its first argument is AT_FDCWD.
37582         Emacs wants faccessat for AT_EACCESS but not for any first-arg
37583         values other than AT_FDCWD, so it doesn't want all the openat
37584         machinery with fchdir etc.
37585         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
37586         * modules/fstatat, modules/mkdirat, modules/openat (Files):
37587         * modules/unlinkat (Files):
37588         Remove lib/openat-priv.h, as at-internal supplies this file.
37589         Removing this file here allows us to support programs like Emacs
37590         that avoid at-internal.
37592         faccessat: speed up 'configure' on mainstream hosts
37593         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
37594         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
37595         since it's only on unusual platforms that we need to check for
37596         'access', and it's better not to slow 'configure' down on all
37597         platforms.
37599         faccessat: port to Solaris 10
37600         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
37601         Needed on Solaris 10, which doesn't have AT_EACCESS,
37602         so we need the Gnulib fcntl.h, which defines it.
37604 2012-10-14  Pádraig Brady  <P@draigBrady.com>
37605         canonicalize: fix C89 compilation
37606         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
37607         declarations so C89 is supported.  Also remove the comment
37608         referencing memorty allocation as the suggested feature could
37609         not be implemented as suggested.
37610         Reported by Michael Goffioul.
37612 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37614         group-member: omit unnecessary dependencies
37615         This is for Emacs, which has its own allocator and where we
37616         don't want to use xalloc.
37617         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
37618         since we no longer use xmalloc.  Do not include stdbool.h, since
37619         the changes below happen to remove the only use of bool.
37620         (GROUPBUF_SIZE): New constant.
37621         (struct group_info): Remove n_groups member.  Add groupbuf member.
37622         This lets us get the groups without using malloc, usually.
37623         (free_group_info, get_group_info): Adjust to this.
37624         (get_group_info): Return the number of groups found, or -1 on error.
37625         Use plain malloc not xmalloc, and treat its failure as if there
37626         are no groups, as the user already loses in case of error.
37627         (group_member): Simplify, based on changes to get_group_info.
37628         * modules/group-member (Depends-on): Remove dependencies on
37629         xalloc and stdbool.  Add dependency on xalloc-oversized.
37631 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
37633         gethrxtime: port to C++
37634         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
37636 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
37638         ptsname: fix macro-name typo
37639         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
37641 2012-10-03  Simon Josefsson  <simon@josefsson.org>
37643         inttostr: Relax license.
37644         * modules/inttostr (License): Change from LGPL to LGPLv2+.
37646 2012-10-03  Eric Blake  <eblake@redhat.com>
37648         ptsname_r: support ptys returned by FreeBSD posix_openpt
37649         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
37650         lives in /dev/pts/.
37652 2012-10-02  Eric Blake  <eblake@redhat.com>
37654         pselect: reject invalid file descriptors
37655         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
37656         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
37657         * modules/pselect (Depends-on): Add dup2.
37658         * doc/posix-functions/pselect.texi (pselect): Document this.
37660         select: reject invalid file descriptors
37661         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
37662         * lib/select.c (rpl_select) [!win32]: Work around it.
37663         * modules/select (Depends-on): Add dup2.
37664         * doc/posix-functions/select.texi (select): Document this.
37666         select: enhance test
37667         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
37668         New functions.
37669         (test_function): Enhance test.
37670         (do_select_bad_fd): Avoid any stale errno values.
37672         ptsname: reject invalid file descriptors
37673         http://www.austingroupbugs.net/view.php?id=503
37674         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
37675         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
37676         * modules/stdlib (Makefile.am): Replace witness.
37677         * lib/stdlib.in.h (ptsname): Allow for replacement.
37678         * modules/ptsname (configure.ac): Trigger replacement.
37679         * doc/posix-functions/ptsname.texi (ptsname): Document this.
37681 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
37683         hash-pjw-bare: new module
37684         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
37685         * lib/hash-pjw-bare.h: Likewise.
37686         * modules/hash-pjw-bare: New file.
37687         * MODULES.html.sh (Misc): Add it.
37689 2012-10-02  Eric Blake  <eblake@redhat.com>
37691         manywarnings: cater to more gcc infelicities
37692         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
37693         -Wuninitialized without -O.
37695 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
37697         select, poll tests: Make setsockopt invocation effective.
37698         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
37699         the bind() call.
37700         * tests/test-select.h (open_server_socket): Likewise.
37702 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
37704         sockets, sys_stat: restore AC_C_INLINE
37705         This undoes the 2012-09-22 patch.
37706         * m4/sockets.m4 (gl_SOCKETS):
37707         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37708         Restore AC_C_INLINE, since MSVC requires __inline or _inline
37709         and does not support plain 'inline'.  Reported by Bruno Haible in
37710         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
37712 2012-09-30  Bruno Haible  <bruno@clisp.org>
37714         localeconv tests: Avoid test failure on OpenIndiana.
37715         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
37716         skip the 'grouping' and 'mon_grouping' tests.
37717         Reported by Jim Meyering.
37719 2012-09-30  Bruno Haible  <bruno@clisp.org>
37721         havelib: Follow libtool developments.
37722         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
37723         Suggested by Simon Josefsson.
37725 2012-09-29  Jim Meyering  <meyering@redhat.com>
37727         fstatat.c: fix a compile-impeding typo
37728         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
37729         Introduced in commit v0.0-7636-gd202279.
37730         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
37732 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
37734         extern-inline: provide a -Wundef safe config.h
37735         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
37736         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
37737         to produce a -Wundef warning free config.h.
37739 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37741         hash-pjw: relax license to LGPLv2+
37742         * modules/hash-pjw (License): Relax, with consent of author.
37744 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37746         maint.mk: fix strict vs. lazy variable issues with RELEASE
37747         * top/maint.mk (_equal): New function.
37748         (member_check): Strip the result to avoid spurious spaces.
37749         (url_dir_list): Do not use ifeq, which is strict, as it will
37750         require RELEASE_TYPE to be defined.
37751         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
37752         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
37753         (announcement_Cc_alpha,announcement_mail_headers_alpha)
37754         (announcement_Cc_beta,announcement_mail_headers_beta)
37755         (announcement_Cc_stable,announcement_mail_headers_stable): these.
37756         (release): Do not depend on $(release-type), as it forces its
37757         evaluation.  Bounce to it.
37759 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37761         maint.mk: formatting changes
37762         * top/maint.mk: Indent bodies of if's.
37764 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
37766         maint.mk: factor the validation of RELEASE_TYPE
37767         With help from Jim Meyering.
37768         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
37769         * top/maint.mk (_empty, _sp): Move their definition earlier.
37770         (member-check, release-type): New.
37771         Use the latter instead of $(RELEASE_TYPE).
37772         Remove now useless local checks.
37774 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37776         maint.mk: provide "make upload" to ease uploading
37777         See
37778         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
37779         Do not depend simply on the current $(VERSION), as there may have been
37780         new commits since the tarball generation.  Rather, rely on $(RELEASE),
37781         as "make release-commit" already does.
37783         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
37784         "make TYPE".
37786         * top/maint.mk (upload_command, upload, release): New.
37787         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
37788         (VERSION): first word of $(RELEASE) is always right.
37789         (emit_upload_commands): Adjust.
37790         * top/README-release: Update.
37792 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37794         maint.mk: silent rules
37795         With help from Stefano Lattarini.
37796         * top/maint.mk (writable-files): Use $(AM_V_GEN).
37797         (announcement): Use $(AM_V_at).
37799 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
37801         localename: port gl_locale_name_thread_unsafe to FreeBSD
37802         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
37803         and use the simpler FreeBSD implementation on Mac OS X as well.
37804         Original idea suggested by Ed Maste in
37805         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
37807 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37809         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
37810         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
37811         * lib/mbuiter.c, lib/xsize.c: New files.
37812         * lib/binary-io.h (BINARY_IO_INLINE):
37813         * lib/eealloc.h (EEALLOC_INLINE):
37814         * lib/mbfile.h (MBFILE_INLINE):
37815         * lib/mbiter.h (MBITER_INLINE):
37816         * lib/mbuiter.h (MBUITER_INLINE):
37817         * lib/xsize.h (XSIZE_INLINE):
37818         New macros.
37819         Replace all uses of 'static inline' with them.
37820         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37821         * m4/eealloc.m4 (gl_EEALLOC):
37822         * m4/mbfile.m4 (gl_MBFILE):
37823         * m4/mbiter.m4 (gl_MBITER):
37824         * m4/xsize.m4 (gl_XSIZE):
37825         Do not require AC_C_INLINE.
37826         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
37827         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
37828         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
37829         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
37830         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
37831         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
37832         * modules/binary-io, modules/eealloc, modules/mbfile:
37833         * modules/mbiter, modules/mbuiter:
37834         (Depends-on): Add extern-inline.
37836         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
37837         * lib/pipe-filter-aux.c: New file.
37838         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
37839         Replace all uses of 'static inline' with it.
37840         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37841         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
37842         (filter_retcode): No real need for inline here.
37843         * modules/pipe-filter-gi, modules/pipe-filter-ii:
37844         (Files): Add lib/pipe-filter-aux.c.
37845         (Depends-on): Add extern-inline.
37846         (configure.ac): Do not require AC_C_INLINE.
37847         (lib_SOURCES): Add pipe-filter-aux.c.
37849         fdutimensat: omit unnecessary AC_C_INLINE
37850         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
37852         fchmodat, fchownat, fstatat: use extern-inline
37853         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
37854         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
37855         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
37856         New macros.
37857         * lib/openat.h:
37858         Replace all uses of 'static inline' with them.
37859         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37860         * modules/fchmodat, modules/fchownat, modules/fstatat:
37861         * modules/openat-h:
37862         (Depends-on):
37863         Add extern-inline.
37864         (configure.ac): Remove AC_C_INLINE.
37866         acl, mbchar, priv-set: use extern-inline
37867         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
37868         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
37869         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
37870         New macros.
37871         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
37872         Replace all uses of 'static inline' with it.
37873         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37874         * m4/acl.m4 (gl_FUNC_ACL):
37875         * m4/mbchar.m4 (gl_MBCHAR):
37876         * m4/priv-set.m4 (gl_PRIV_SET):
37877         Remove AC_C_INLINE, since 'inline' is no longer used directly.
37878         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
37879         Add extern-inline.
37881         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
37882         * m4/sockets.m4 (gl_SOCKETS):
37883         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37884         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
37885         environments where it's already guaranteed to work, so we needn't
37886         check for it at 'configure'-time.
37888         tls-tests: omit unnecessary 'inline'
37889         * tests/test-tls.c (perhaps_yield): No longer inline.
37890         Simplicity and portability trump efficiency in test cases.
37892         utimens-tests: avoid unnecessary 'inline'
37893         * modules/fdutimensat-tests (configure.ac):
37894         * modules/futimens-tests (configure.ac):
37895         * modules/utimens-tests (configure.ac):
37896         * modules/utimensat-tests (configure.ac):
37897         Remove AC_C_INLINE.
37898         * tests/test-utimens-common.h (ctime_compare):
37899         No longer inline.  Simplicity and portability trump efficiency here.
37901         misc: don't limit commentary to inline functions
37902         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
37903         * lib/xalloc-oversized.h, lib/xsize.h:
37904         Contrast macros to functions in general, not just to inline functions,
37905         when the commentary does not apply only to inline functions.
37907 2012-09-20  Jim Meyering  <meyering@redhat.com>
37909         non-recursive-gnulib-prefix-hack: new module
37910         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
37911         the file that originated in Bison.
37912         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
37913         largely copied from a snippet that resided in bison's configure.ac.
37914         * modules/non-recursive-gnulib-prefix-hack: New file.
37915         * MODULES.html.sh (Support for maintaining and releasing projects):
37916         Add it.
37918 2012-09-18  Jim Meyering  <meyering@redhat.com>
37920         maint.mk: generalize _gl_tight_scope for non-recursive make
37921         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
37922         that *.h would describe additional .h files in the directory
37923         specified by $(_gl_TS_dir).  I.e., add this...
37924         (_gl_TS_other_headers): New variable.
37926         maint.mk: exempt trailing blanks found in "binary" files
37927         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
37928         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
37929         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37931 2012-09-17  Jim Meyering  <meyering@redhat.com>
37933         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
37934         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
37935         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
37936         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37938 2012-09-17  Jim Meyering  <meyering@redhat.com>
37940         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
37941         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
37942         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
37943         It is not in the same category as "exit (0)" or "exit (1)", and
37944         besides, I know of no symbolic name for that 77.  Reported by
37945         Richard W.M. Jones in
37946         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37948 2012-09-17  Jim Meyering  <meyering@redhat.com>
37950         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
37951         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
37952         all uses of #define, not just those that start in column 1.
37953         Richard W.M. Jones reported a false positive in
37954         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37956 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37958         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
37959         * lib/localcharset.c (locale_charset) [DARWIN7]:
37960         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
37961         as these two values are incompatible.  Problem reported by Max Horn.
37962         For more discussion, please see
37963         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
37965         doc: document sticky-EOF issue
37966         * doc/posix-functions/fgetc.texi (fgetc):
37967         * doc/posix-functions/fgets.texi (fgets):
37968         * doc/posix-functions/fread.texi (fread):
37969         * doc/posix-functions/fscanf.texi (fscanf):
37970         * doc/posix-functions/getc.texi (getc):
37971         * doc/posix-functions/getchar.texi (getchar):
37972         * doc/posix-functions/scanf.texi (scanf):
37973         Mention that glibc and default Solaris do not conform to
37974         C99 and POSIX-2001 or later, with respect to how getchar
37975         etc. behave when feof reports nonzero.
37977 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37979         poll: fix poll(0, NULL, msec)
37980         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
37981         but nfd is 0.  In that case poll should behave like select.
37983 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37984             Paolo Bonzini  <bonzini@gnu.org>
37986         poll: fix for systems that can't recv() on a non-socket
37987         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
37988         is readable.  In this case POLLHUP will not be supported.
37989         * doc/posix-functions/poll.texi: Document this.
37991 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
37993         poll/select: document portability problems not fixed by Gnulib.
37994         * doc/posix-functions/poll.texi: poll does not work well on
37995         pipes under Windows.  It has the same limitations as select on
37996         BeOS.
37997         * doc/posix-functions/select.texi: select does not work well
37998         on pipes under Windows.
38000 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38002         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
38003         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
38004         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
38005         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
38007 2012-09-06  Eric Blake  <eblake@redhat.com>
38009         net_if: give more details about the bug being fixed
38010         * doc/posix-headers/net_if.texi: Add clarification.
38012 2012-09-05  Eric Blake  <eblake@redhat.com>
38014         net_if: new module
38015         * modules/net_if: New module, borrowing ideas from netinet_in.
38016         * m4/net_if_h.m4: New file.
38017         * lib/net_if.in.h: Likewise.
38018         * doc/posix-headers/net_if.texi (net/if.h): Document it.
38019         * MODULES.html.sh (lacking POSIX:2008): Likewise.
38020         * tests/test-net_if.c: Make function checks conditional.
38021         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
38023 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
38025         readutmp: fix non-portable UT_PID use
38026         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
38027         Use `UT_PID (u) > 0' as absolute condition.
38029 2012-09-04  Jim Meyering  <meyering@redhat.com>
38031         fts: reduce two or more trailing spaces to just one, usually
38032         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
38033         or more slashes, trim all but the final one.  But if a name consists
38034         solely of two slashes, don't modify it.  If it consists solely of
38035         three or more slashes, strip all but one.
38037         This is part of the solution to a minor problem with rm:
38038         it would print a bogus ELOOP diagnostic when failing to remove
38039         the slash-decorated name of a symlink-to-directory:
38041             $ mkdir d && ln -s d s && env rm -r s/
38042             rm: cannot remove 's': Too many levels of symbolic links
38044         With the change below and a trivial don't-trim-trailing-slashes
38045         adjustment to remove.c, it does this:
38047             $ env rm -r s/
38048             rm: cannot remove 's/': Not a directory
38050         Improved by: Eric Blake
38052         fts: when there is no risk of overlap, use memcpy, not memmove
38053         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
38055 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
38057         stdbool: be more compatible with mixed C/C++ compiles
38058         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
38059         Define to bool, true, false, respectively, as GCC's builtin
38060         stdbool.h does.  Problem reported by Michael Goffioul in
38061         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
38063 2012-08-28  Jim Meyering  <meyering@redhat.com>
38065         revert last change: it was not needed
38066         * tests/test-vc-list-files-git.sh: There's already a test for
38067         a working git, just below.
38069 2012-08-28  Jim Meyering  <meyering@redhat.com>
38071         tests: test-vc-list-files-git.sh: skip if git is not available
38072         * tests/test-vc-list-files-git.sh: Skip this test when git is
38073         not available.
38075 2012-08-26  Bruno Haible  <bruno@clisp.org>
38077         gnulib-tool: Remove no-op option --no-changelog.
38078         * gnulib-tool (func_usage): Don't mention --no-changelog.
38079         (do_changelog): Remove variable.
38080         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38082 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38084         doc: remove fdl-1.2.texi
38085         It is no longer used or maintained, and its use of @acronym
38086         is problematic.  See the thread containing
38087         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
38088         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
38089         * doc/old-licenses/fdl-1.2.texi: Remove.
38091         execinfo: port to FreeBSD
38092         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
38093         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
38094         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
38095         * modules/execinfo (Link): Add $(LIB_EXECINFO).
38097 2012-08-23  Jim Meyering  <meyering@redhat.com>
38099         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
38100         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
38101         to placate gcc's -Wold-style-declaration.
38103 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
38105         doc: do not use @acronym
38106         * doc/inet_ntoa.texi (inet_ntoa):
38107         * doc/parse-datetime.texi (Seconds since the Epoch)
38108         (Specifying time zone rules):
38109         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
38110         Don't use @acronym.  Problem reported by John Darlington in
38111         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
38113 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
38115         stdnoreturn: port to newer GCCs
38116         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
38117         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
38118         Problem reported by Jim Meyering in
38119         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
38120         Also, rename the 'test' function to a void a clash with the
38121         already-supplied 'main' function; this fixes a bug that incorrectly
38122         rejected GCC 4.7.1's <stdnoreturn.h>.
38123         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
38124         Document GCC problem.
38126 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
38128         pipe-filter: fix comment typo
38129         * lib/pipe-filter.h: Mention correct function.
38131 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
38133         execinfo: new module
38134         This is for Emacs.  Currently, it provides a no-effect stub
38135         on all platforms where it does not already work.
38136         It already works on glibc-based systems, and on Solaris 11.
38137         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
38138         New files.
38139         * doc/glibc-headers/execinfo.texi (execinfo.h):
38140         * MODULES.html.sh (Misc): Document it.
38142 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
38144         extern-inline: support old GCC 'inline'
38145         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
38146         if available.  This applies to GCC versions 2.7 through 4.2, or
38147         when newer GCC is using -fgnu89-inline.  The goal is to address
38148         some of the performance issues mentioned by Bruno Haible in
38149         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
38151 2012-08-20  Eric Blake  <eblake@redhat.com>
38153         maint.mk: avoid redundant file name in message
38154         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
38155         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
38156         (sc_makefile_path_separator_check): Remove bogus $(ME).
38158 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
38160         timer-time: fix link order when static linking on glibc
38161         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
38162         _after_ -lrt so that it's significant.
38164 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38166         timespec: omit unnecessary AC_C_INLINE
38167         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
38169         stat-time: omit unnecessary AC_C_INLINE
38170         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
38171         Do not require AC_C_INLINE.
38173         ignore-value: omit unnecessary AC_C_INLINE
38174         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
38176         sys_select: avoid 'static inline'
38177         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
38179         mktime: avoid 'static inline'
38180         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
38181         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
38183 2012-08-19  Bruno Haible  <bruno@clisp.org>
38185         gnulib-tool: Improve coding style.
38186         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
38187         func_emit_lib_Makefile_am.
38188         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38190 2012-08-19  Bruno Haible  <bruno@clisp.org>
38192         gnulib-tool: Fix indentation.
38193         * gnulib-tool (func_import): Fix indentation.
38195 2012-08-19  Bruno Haible  <bruno@clisp.org>
38197         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
38198         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
38199         on the list of removed files.
38201 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
38203         test-parse-datetime: avoid glibc leap-second glitch
38204         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
38205         with the 2012 rules.  Problem reported by Bruce Dubbs in
38206         <http://bugs.gnu.org/12206>.
38208 2012-08-14  Bruno Haible  <bruno@clisp.org>
38210         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
38211         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
38212         from argument.
38213         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38215 2012-08-14  Eric Blake  <eblake@redhat.com>
38217         ldexp: relax license
38218         * modules/ldexp (License): Trivial relax, since the module only
38219         provides a permissively licensed m4 file.
38221 2012-08-13  Bruno Haible  <bruno@clisp.org>
38223         gnulib-tool: Fix persistence of --witness-c-macro option.
38224         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
38225         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38227 2012-08-11  Eric Blake  <eblake@redhat.com>
38229         count-leading-zeros: use a lookup table on non-gcc compilers
38230         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
38231         alternate implementation, suggested by Jim Meyering.
38233 2012-08-10  Eric Blake  <eblake@redhat.com>
38235         count-leading-zeros: new module
38236         * modules/count-leading-zeros: New module.
38237         * m4/count-leading-zeros.m4: New file.
38238         * lib/count-leading-zeros.h: Likewise.
38239         * modules/count-leading-zeros-tests: New test.
38240         * tests/test-count-leading-zeros.c: New file.
38241         * MODULES.html.sh (Integer arithmetic functions): Document it.
38243 2012-08-07  Simon Josefsson  <simon@josefsson.org>
38244             Jim Meyering  <meyering@redhat.com>
38246         maintainer-makefile: Fix syntax error with dash.
38247         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
38248         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
38250 2012-08-05  Jim Meyering  <meyering@redhat.com>
38252         extern-inline: also ignore -Wmissing-declarations
38253         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
38254         required with gcc-4.8.0-to-be.
38256         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
38257         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
38258         for /error ?([^,]*)/.  This avoids false-positives for strings like
38259         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
38261 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
38263         gnumakefile: better interaction with Automake-NG
38264         * modules/gnumakefile [Makefile.am]: The makefiles generated by
38265         Automake-NG always contain a definition of VPATH, even in non-VPATH
38266         builds (its value being simply '.' in that case).  So, in the
38267         'clean-GNUmakefile' rule, to determine whether running under a
38268         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
38269         '$(VPATH)' expands to the empty string.
38271 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
38273         base64: Use extern C scope in header file, for C++.
38274         * lib/base64.h: Add C++ namespace protection.
38276 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
38278         stat-time, timespec, u64: support naive out-of-dir builds
38279         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
38280         Use '#include "foo.h"', not '#include <foo.h>', when including
38281         one's own interface.  This works better when configuring with
38282         out-of-directory builds, since packages need not add an
38283         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
38285 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
38287         utimens: use extern-inline
38288         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
38289         * lib/utimens.h: Add copyright notice, since this is now large enough
38290         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38291         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
38292         * modules/utimens (Depends-on): Add extern-inline.
38294         u64: use extern-inline
38295         * lib/u64.c: New file.
38296         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38297         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
38298         * modules/u64 (Files): Add lib/u64.c.
38299         (Depends-on): Add extern-inline.
38300         (configure.ac): No need to require AC_C_INLINE, since extern-inline
38301         does that now.
38302         (lib_SOURCES): Add u64.c.
38304         timespec: use extern-inline
38305         * lib/timespec.c: New file.
38306         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38307         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
38308         * modules/timespec (Files): Add lib/timespec.c.
38309         (Depends-on): Add extern-inline.
38310         (lib_SOURCES): Add timespec.c.
38312         stat-time: use extern-inline
38313         * lib/stat-time.c: New file.
38314         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38315         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
38316         * modules/stat-time (Files): Add lib/stat-time.c.
38317         (Depends-on): Add extern-inline.
38318         (lib_SOURCES): Add stat-time.c.
38320         extern-inline: new module
38321         * modules/extern-inline, m4/extern-inline.m4: New files.
38322         This is for better support of 'extern inline' a la ISO C99,
38323         with a portable alternative on compilers that do not support
38324         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
38325         of the Emacs executable, when compiled with debugging disabled,
38326         which is a typical way that Emacs is built while developing.
38328 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
38330         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
38331         * build-aux/do-release-commit-and-tag: Move variable definitions
38332         together.
38333         ($branch): Instead of defaulting to "master", default to the current
38334         branch (as gnu-web-doc-update does).
38335         (help): Display the current values of the option arguments.
38336         * top/maint.mk (release-commit): New.
38337         * top/README-release: Simplify the corresponding step.
38339 2012-07-30  Eric Blake  <eblake@redhat.com>
38341         passfd: fix comment on recvfd
38342         * lib/passfd.c (recvfd): Fix comment.
38343         Reported by Jann Horn <jannhorn@googlemail.com>.
38345 2012-07-30  Jim Meyering  <meyering@redhat.com>
38347         maint.mk: avoid a sub-shell
38348         * top/maint.mk (release-prep): Remove unneeded sub-shell.
38350 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38352         maint.mk: use silent-rules support from Automake
38353         * top/maint.mk (news-check, vc-diff-check, announcement)
38354         (no-submodule-changes, alpha beta stable, release-prep)
38355         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
38357 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38359         maint.mk: provide a web-manual-update target
38360         * top/maint.mk: here.
38361         * top/README-release: Use it to simplify the web manual update step.
38363 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38365         README-release: shorten the circuit to post a news
38366         * top/README-release: Point directly to the news submission form.
38368 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38370         gnu-web-doc-update: fix --help
38371         * build-aux/gnu-web-doc-update: The information "top level" was written
38372         twice.
38374 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38376         maint.mk: absolute VPATH issue
38377         * top/maint.mk (release-prep): Help Git find .git/.
38378         From Jim Meyering.
38380 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38382         gitlog-to-changelog: fix previous change
38383         * build-aux/gitlog-to-changelog: Fix condition.
38384         Add missing ";".
38386 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38388         gitlog-to-changelog: don't expect .git to be in $srcdir
38389         Reported by Bruno Haible.
38390         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
38391         * build-aux/gitlog-to-changelog (&git_dir_option): New.
38392         Use it.
38394 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38396         maint.mk: absolute VPATH build fix
38397         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
38398         $(srcdir) is not a parent of $(builddir).
38400 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
38402         clean-temp: Fix memory leak.
38403         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
38404         'files' members of tmpdir.
38406 2012-07-27  Jim Meyering  <meyering@redhat.com>
38408         maint.mk: new rule: refresh-gnulib-patches
38409         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
38410         Use this rule to refresh them.
38411         * top/maint.mk (refresh-gnulib-patches): New rule.
38413 2012-07-24  Bruno Haible  <bruno@clisp.org>
38415         gnulib-tool: Fix handling of inctests variable.
38416         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
38417         Reported by Nick Bowler <nbowler@elliptictech.com>.
38419 2012-07-22  Bruno Haible  <bruno@clisp.org>
38421         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
38422         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
38423         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38424         Remove exemption for getpass.h.
38425         Suggested by Eric Blake.
38427 2012-07-20  Eric Blake  <eblake@redhat.com>
38429         verify: document conflict with -Wnested-externs
38430         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
38432         maint.mk: forbid exit(-1)
38433         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
38435 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38437         fsusage: port back to Solaris
38438         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
38439         error (fsd not declared) on Solaris 10.  Reported privately by
38440         Andrew Borodin.
38442 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38444         gnu-web-doc-update: fix error messages
38445         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
38447         gnu-web-doc-update: check the requirements.
38448         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
38449         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38450         * build-aux/bootstrap (find_tool): Comment change.
38452 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
38454         maint.mk: minor simplication.
38455         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
38456         for default values.
38458 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
38460         gitlog-to-changelog: VPATH build issues
38461         If builddir is not a subdirectory of srcdir, running git from it will
38462         fail.
38463         * build-aux/gitlog-to-changelog (--srcdir): New option.
38465 2012-07-15  Bruno Haible  <bruno@clisp.org>
38467         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
38468         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
38469         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
38470         Remove exemption for fpending.h.
38471         Suggested by Eric Blake.
38473 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
38475         pthread_sigmask: fix bug on FreeBSD 9
38476         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
38477         Include string.h.
38478         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
38479         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
38480         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
38481         but pthread_sigmask (1729, NULL, NULL) returns zero.
38482         See <http://bugs.gnu.org/11884>.
38483         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
38484         by inspecting whether the main call changed the old mask.
38486 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
38488         README-release: make it more legible
38489         * top/README-release: Improve typography slightly.
38491 2012-07-15  Jim Meyering  <meyering@redhat.com>
38493         maint: require that each sc_... command start with "@"
38494         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
38495         "make sc_maint" helps us avoid this nit.
38497 2012-07-15  Jim Meyering  <meyering@redhat.com>
38499         maint.mk: add leading "@" to quiet new "make syntax-check" rule
38500         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
38502 2012-07-13  Eric Blake  <eblake@redhat.com>
38504         maint.mk: new syntax check for HAVE_DECL checks
38505         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
38506         * cfg.mk
38507         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38508         Exempt some false positives.
38509         Based on a report by Karel Zak.
38511         argp: make HAVE_DECL usage consistent
38512         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
38513         macros, not whether they are defined.
38514         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
38515         convention with other declaration checks.
38516         Reported by Karel Zak, with suggestions from Paul Eggert.
38518         stat-time: relax license to LGPLv2+
38519         * modules/stat-time (License): Relax, with consent of all authors.
38521         strndup: fix m4 usage error
38522         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
38523         defined, to either 0 or 1.
38524         Reported by Karel Zak.
38526 2012-07-11  Jim Meyering  <meyering@redhat.com>
38528         maint: enable the sc_avoid_if_before_free syntax-check rule
38529         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
38530         (if_before_free_offenders_): Define.
38531         (if_before_free_basename_re_): Define.
38532         Exempt current files with useless if-before-free.
38534 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
38536         gettext: do not assume '#define ... defined ...' behavior
38537         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
38538         Do not use '#define FOO ... defined BAR ...', as the C standard says
38539         it's not portable to expect that this works after macro expansion.
38540         Problem reported for gzip by Steven M. Schweda in
38541         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
38543 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38545         getloadavg: clean out old Emacs and Autoconf cruft
38546         See Glenn Morris in <http://bugs.gnu.org/11905>.
38547         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
38548         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
38549         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
38550         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
38552 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
38554         bootstrap: let warn be like tests/init.sh's warn_
38555         Reported by Jim Meyering.
38556         * build-aux/bootstrap (warn): Remove, replaced by...
38557         (warnf_, warn_): these.
38558         Adjust callers.
38559         Shorten messages that no longer fit in 80 columns.
38561 2012-07-09  Bruno Haible  <bruno@clisp.org>
38563         getopt: Simplify after Emacs changed.
38564         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
38565         (gl_GETOPT_IFELSE): Remove macro.
38567 2012-07-09  Jim Meyering  <meyering@redhat.com>
38569         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
38570         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
38572         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
38573         Bugs in both of those conspired to make the
38574         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
38575         _sc_search_regexp's handling of non-empty $in_files would filter
38576         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
38577         choice of in_files value meant there would be no match in most
38578         projects, due to the presence of two or more Makefile.in files.
38579         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
38580         Fix a bug in how a non-empty $$in_files was processed:
38581         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
38582         in spite of the name, it's a regexp, not a list of file names.
38584 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38586         getloadavg, getopt: fix commentary re configure.in
38587         Autoconf is deprecating the name 'configure.in', so change it to
38588         to the new name 'configure.ac' in a couple of places.
38589         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
38590         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
38591         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
38592         Emacs has renamed it to configure.ac, and it no longer refers
38593         to these macros anyway.
38595         timespec: mark functions with const attributes
38596         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
38597         Mark with _GL_ATTRIBUTE_CONST.
38599 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38601         canonicalize[-lgpl]: handle "guessing" values when cross-building
38602         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38603         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
38604         matches "*yes" instead of just "yes".  Regression introduced in commit
38605         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
38607 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38608             Bruno Haible  <bruno@clisp.org>
38610         canonicalize: make the right guess when cross-compiling to GNU
38611         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
38612         determine whether cross-compiling to glibc systems, so as to
38613         include GNU/Hurd.
38615 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38617         timespec-sub: avoid duplicate include
38618         * lib/timespec-sub.c: Do not include <config.h> twice.
38619         Reported by Juanma Barranquero.
38621 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
38623         bootstrap: use a more consistent error reporting scheme
38624         * build-aux/bootstrap (warn, die): New.
38625         Use them.
38627 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38629         sys_time: allow too-wide tv_sec
38630         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
38631         timeval even if tv_sec is wider than time_t.  This allows
38632         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
38633         as without this patch gnulib replaces struct timeval
38634         and OpenBSD futimes therefore has a type mismatch.
38635         * doc/posix-headers/sys_time.texi: Mention this.
38637         pthread: check for both pthread_create and pthread_join
38638         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
38639         alter the check so that it tests for both pthread_create and
38640         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
38641         Suggested by Bruno Haible and Richard Yao in
38642         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
38644         parse-datetime: doc tuneup
38645         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
38646         spacing issues.
38648 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
38650         do-release-commit-and-tag: fix the previous commit
38651         * build-aux/do-release-commit-and-tag: Actually the test was right,
38652         but the comment and the error message were misleading.
38653         Fix comment, and improve error message.
38654         Perform check first, so that NEWS is not modified uselessly.
38656         do-release-commit-and-tag: fix typo
38657         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
38658         _not_ start with a stub.
38660 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38662         pthread: check for pthread_create, not pthread_join
38663         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
38664         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
38665         pthread_join in libc.  I hope this removes the need for all the
38666         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
38667         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
38669 2012-07-04  Jim Meyering  <meyering@redhat.com>
38671         parse-datetime: fix failure to diagnose invalid input
38672         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
38673         rather than diagnosing the invalid input.  Now it reports this:
38674         date: invalid date '\260'
38675         * lib/parse-datetime.y (to_uchar): Define.
38676         (yylex): Don't sign-extend "other" bytes.
38677         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
38678         Thanks to Bruno Haible for the patch to this file.
38679         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
38680         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
38682 2012-07-03  Jim Meyering  <meyering@redhat.com>
38684         bootstrap: do not require now-removed build-aux/missing
38685         Now that build-aux/missing is, er, missing, bootstrap would
38686         silently fail.
38687         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
38688         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
38689         no longer part of gnulib.
38690         Diagnose the failure.
38692 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38694         alloca: add support for HP NonStop TNS/E native
38695         * lib/alloca.in.h (alloca): Support the new host.
38696         From a suggestion by Joachim Schmitz in
38697         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
38699 2012-07-02  Pádraig Brady  <P@draigBrady.com>
38701         fsusage: remove code not needed on non GNU/Linux systems.
38703         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
38704         Don't include headers no longer needed in this case.
38705         * lib/fsusage.c [STAT_STATVFS &&
38706         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
38707         STAT_STATFS2_FRSIZE to exclude code not used in this case.
38709 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38711         fsusage: include files needed for glibc 2.6 fallback
38712         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
38713         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
38714         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
38715         Problem reported by Ludovic Courtès in
38716         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
38718         fsusage: avoid needless check on GNU/Linux
38719         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
38720         on GNU/Linux systems, since it can't possibly work.
38722 2012-07-01  Bruno Haible  <bruno@clisp.org>
38724         log: Fix an autoconf >= 2.64 warning.
38725         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
38726         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38728 2012-06-28  Bruno Haible  <bruno@clisp.org>
38730         log10f: Fix possible configuration problem.
38731         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
38732         $LOGF_LIBM.
38733         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38735 2012-06-28  Bruno Haible  <bruno@clisp.org>
38737         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
38738         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
38739         not gl_cv_func_unlink_works.
38740         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38742 2012-06-27  Eric Blake  <eblake@redhat.com>
38744         config: drop scripts that automake says are not independent
38745         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
38746         * build-aux/elisp-comp: Delete.
38747         * build-aux/missing: Likewise.
38748         * build-aux/ylwrap: Likewise.
38749         * modules/elisp-comp: Likewise.
38750         * MODULES.html.sh: Drop mention of elisp-comp.
38751         * NEWS: Mention this.
38753 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
38755         root-uid: new module
38756         This is for portability to Tandem's NonStop Kernel.
38757         * lib/root-uid.h, modules/root-uid: New files.
38758         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
38759         * lib/write-any-file.c, tests/test-sethostname2.c:
38760         Include "root-uid.h".
38761         * lib/euidaccess.c (euidaccess):
38762         * lib/pt_chown.c (main):
38763         * lib/unlinkdir.c (cannot_unlink_dir):
38764         * lib/write-any-file.c (can_write_any_file):
38765         * m4/mknod.m4 (gl_FUNC_MKNOD):
38766         * tests/test-sethostname2.c (geteuid, main):
38767         Don't assume ROOT_UID == 0.
38768         * modules/euidaccess (Depends-on):
38769         * modules/pt_chown (Depends-on):
38770         * modules/sethostname-tests (Depends-on):
38771         * modules/unlinkdir (Depends-on):
38772         * modules/write-any-file (Depends-on):
38773         Add root-uid.
38775         regex: use locale-independent comparison for codeset name
38776         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
38777         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
38778         for codeset name.
38779         * lib/regex_internal.h: Do not include <strings.h>, since we
38780         no longer use strcasecmp.
38781         * modules/regex (Depends-on): Remove strcase.
38783 2012-06-23  Bruno Haible  <bruno@clisp.org>
38785         getopt-posix: No longer guarantee that option processing is resettable.
38786         * doc/posix-functions/getopt.texi: Drop description of problem with
38787         internal state. Fix info about mingw and msvc9.
38788         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
38789         option processing by getopt(). Run three test programs instead of one.
38790         Simplify cross-compilation guess.
38791         * NEWS: Mention the change.
38792         Reported by Rich Felker <dalias@aerifal.cx>.
38794 2012-06-26  Bruno Haible  <bruno@clisp.org>
38796         argp, regex: Ensure strcasecmp gets declared.
38797         * lib/argp-help.c: Include <strings.h>.
38798         * lib/regex_internal.h: Likewise.
38799         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
38801 2012-06-24  Bruno Haible  <bruno@clisp.org>
38803         ptsname_r: Make it consistent with ptsname on AIX.
38804         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
38805         implementation as for OSF/1.
38806         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
38807         a pty master.
38809         ptsname_r: Make it consistent with ptsname on OSF/1.
38810         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38811         OSF/1.
38813 2012-06-24  Bruno Haible  <bruno@clisp.org>
38815         ttyname_r: Fix result on OSF/1, Solaris.
38816         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
38818 2012-06-24  Bruno Haible  <bruno@clisp.org>
38820         ptsname_r: Add support for Solaris.
38821         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38822         Solaris.
38824         ptsname_r: Fix test failure on native Windows.
38825         * modules/ptsname_r (Depends-on): Add isatty.
38827         ptsname_r: Fix test failures on IRIX, Solaris.
38828         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
38829         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
38830         accordingly.
38831         * lib/ptsname_r.c: Include <fcntl.h>.
38832         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
38833         set errno if fd is invalid.
38834         * tests/test-isatty.c (main): Update comments.
38836 2012-06-24  Bruno Haible  <bruno@clisp.org>
38838         ptsname test: Extend test.
38839         * tests/test-ptsname.c: Include <errno.h>.
38840         (main): Test behaviour with invalid file descriptor.
38842 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
38844         time: fix obsolete comment
38845         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
38846         reference to HAVE_STRUCT_TIMESPEC in comment.
38848 2012-06-23  Bruno Haible  <bruno@clisp.org>
38850         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
38851         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
38852         does not handle abbreviated long options with equivalent
38853         disambiguations, set gl_replace_getopt to yes.
38854         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
38856 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38858         time_r: fix typo that always overrode localtime_r decl
38859         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
38860         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
38861         not in a standard include.
38863 2012-06-22  Bruno Haible  <bruno@clisp.org>
38865         Write "Mac OS X" instead of "MacOS X".
38866         * README: Write "Mac OS X" instead of "MacOS X".
38867         * build-aux/bootstrap: Likewise.
38868         * build-aux/install-reloc: Likewise.
38869         * lib/acl-internal.h: Likewise.
38870         * lib/acl_entries.c: Likewise.
38871         * lib/argp-ba.c: Likewise.
38872         * lib/argp-pv.c: Likewise.
38873         * lib/config.charset: Likewise.
38874         * lib/copy-acl.c: Likewise.
38875         * lib/csharpexec.c: Likewise.
38876         * lib/euidaccess.c: Likewise.
38877         * lib/fbufmode.c: Likewise.
38878         * lib/fflush.c: Likewise.
38879         * lib/file-has-acl.c: Likewise.
38880         * lib/filemode.h: Likewise.
38881         * lib/fpurge.c: Likewise.
38882         * lib/freadable.c: Likewise.
38883         * lib/freadahead.c: Likewise.
38884         * lib/freading.c: Likewise.
38885         * lib/freadptr.c: Likewise.
38886         * lib/freadseek.c: Likewise.
38887         * lib/fseeko.c: Likewise.
38888         * lib/fseterr.c: Likewise.
38889         * lib/fsusage.c: Likewise.
38890         * lib/fwritable.c: Likewise.
38891         * lib/fwriting.c: Likewise.
38892         * lib/get-rusage-as.c: Likewise.
38893         * lib/get-rusage-data.c: Likewise.
38894         * lib/getdomainname.c: Likewise.
38895         * lib/idpriv-drop.c: Likewise.
38896         * lib/idpriv-droptemp.c: Likewise.
38897         * lib/localcharset.c: Likewise.
38898         * lib/locale.in.h: Likewise.
38899         * lib/localename.c: Likewise.
38900         * lib/mbsrtowcs-state.c: Likewise.
38901         * lib/nproc.c: Likewise.
38902         * lib/passfd.c: Likewise.
38903         * lib/posix_openpt.c: Likewise.
38904         * lib/printf-parse.c: Likewise.
38905         * lib/progreloc.c: Likewise.
38906         * lib/safe-read.h: Likewise.
38907         * lib/safe-write.h: Likewise.
38908         * lib/sched.in.h: Likewise.
38909         * lib/set-mode-acl.c: Likewise.
38910         * lib/signal.in.h: Likewise.
38911         * lib/stdint.in.h: Likewise.
38912         * lib/stdio-impl.h: Likewise.
38913         * lib/stdlib.in.h: Likewise.
38914         * lib/strtod.c: Likewise.
38915         * lib/sys_select.in.h: Likewise.
38916         * lib/tcgetsid.c: Likewise.
38917         * lib/unistd.in.h: Likewise.
38918         * lib/unlockpt.c: Likewise.
38919         * lib/vasnprintf.c: Likewise.
38920         * lib/vma-iter.c: Likewise.
38921         * lib/wcsrtombs-state.c: Likewise.
38922         * m4/acl.m4: Likewise.
38923         * m4/acosl.m4: Likewise.
38924         * m4/asinl.m4: Likewise.
38925         * m4/atanl.m4: Likewise.
38926         * m4/c-stack.m4: Likewise.
38927         * m4/cosl.m4: Likewise.
38928         * m4/expl.m4: Likewise.
38929         * m4/extensions.m4: Likewise.
38930         * m4/fdatasync.m4: Likewise.
38931         * m4/fmal.m4: Likewise.
38932         * m4/frexp.m4: Likewise.
38933         * m4/frexpf.m4: Likewise.
38934         * m4/frexpl.m4: Likewise.
38935         * m4/fsusage.m4: Likewise.
38936         * m4/getdomainname.m4: Likewise.
38937         * m4/getloadavg.m4: Likewise.
38938         * m4/getopt.m4: Likewise.
38939         * m4/gettext.m4: Likewise.
38940         * m4/gnulib-common.m4: Likewise.
38941         * m4/intdiv0.m4: Likewise.
38942         * m4/intlmacosx.m4: Likewise.
38943         * m4/largefile.m4: Likewise.
38944         * m4/ldexpl.m4: Likewise.
38945         * m4/link-follow.m4: Likewise.
38946         * m4/locale-ar.m4: Likewise.
38947         * m4/locale-fr.m4: Likewise.
38948         * m4/locale-ja.m4: Likewise.
38949         * m4/locale-tr.m4: Likewise.
38950         * m4/locale-zh.m4: Likewise.
38951         * m4/locale_h.m4: Likewise.
38952         * m4/lock.m4: Likewise.
38953         * m4/logl.m4: Likewise.
38954         * m4/mathfunc.m4: Likewise.
38955         * m4/minus-zero.m4: Likewise.
38956         * m4/mktime.m4: Likewise.
38957         * m4/mmap-anon.m4: Likewise.
38958         * m4/multiarch.m4: Likewise.
38959         * m4/nanosleep.m4: Likewise.
38960         * m4/nocrash.m4: Likewise.
38961         * m4/poll.m4: Likewise.
38962         * m4/printf-frexpl.m4: Likewise.
38963         * m4/printf.m4: Likewise.
38964         * m4/signbit.m4: Likewise.
38965         * m4/sinl.m4: Likewise.
38966         * m4/sqrtl.m4: Likewise.
38967         * m4/strerror_r.m4: Likewise.
38968         * m4/tanl.m4: Likewise.
38969         * m4/threadlib.m4: Likewise.
38970         * m4/ttyname_r.m4: Likewise.
38971         * m4/unlink.m4: Likewise.
38972         * m4/visibility.m4: Likewise.
38973         * m4/wcwidth.m4: Likewise.
38974         * tests/minus-zero.h: Likewise.
38975         * tests/test-alloca-opt.c: Likewise.
38976         * tests/test-copy-acl.sh: Likewise.
38977         * tests/test-copy-file.sh: Likewise.
38978         * tests/test-fdatasync.c: Likewise.
38979         * tests/test-file-has-acl.sh: Likewise.
38980         * tests/test-flock.c: Likewise.
38981         * tests/test-fsync.c: Likewise.
38982         * tests/test-localename.c: Likewise.
38983         * tests/test-malloca.c: Likewise.
38984         * tests/test-nonblocking-pipe.h: Likewise.
38985         * tests/test-nonblocking-socket.h: Likewise.
38986         * tests/test-openpty.c: Likewise.
38987         * tests/test-posix_openpt.c: Likewise.
38988         * tests/test-ptsname.c: Likewise.
38989         * tests/test-ptsname_r.c: Likewise.
38990         * tests/test-sameacls.c: Likewise.
38991         * tests/test-select.h: Likewise.
38992         * tests/test-set-mode-acl.sh: Likewise.
38993         * tests/test-snprintf-posix.h: Likewise.
38994         * tests/test-sprintf-posix.h: Likewise.
38995         * tests/test-strtod.c: Likewise.
38996         * tests/test-time.c: Likewise.
38997         * tests/test-vasnprintf-posix.c: Likewise.
38998         * tests/test-vasprintf-posix.c: Likewise.
38999         * doc/acl-resources.txt: Likewise.
39000         * doc/**/*.texi: Likewise.
39001         Reported by Max Horn <max@quendi.de>.
39003 2012-06-22  Bruno Haible  <bruno@clisp.org>
39005         grantpt: Relax requirement regarding invalid file descriptors.
39006         * lib/grantpt.c: Don't include <fcntl.h>.
39007         (grantpt): Don't verify the validity of the file descriptor.
39008         * modules/grantpt (Depends-on): Remove fcntl-h.
39009         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
39010         file descriptors.
39011         * doc/posix-functions/grantpt.texi: Document more platforms on which
39012         grantpt succeeds for invalid file descriptors.
39013         Reported by Rich Felker <dalias@aerifal.cx>.
39015 2012-06-22  Bruno Haible  <bruno@clisp.org>
39017         fbufmode test: Don't test unportable behaviour.
39018         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
39019         (main): Invoke it three times.
39020         Reported by Szabolcs Nagy <nsz@port70.net>
39021         and Rich Felker <dalias@aerifal.cx>.
39023 2012-06-21  Bruno Haible  <bruno@clisp.org>
39025         gnulib-tool: Refactor inctests variable.
39026         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
39027         (func_modules_transitive_closure,
39028         func_modules_transitive_closure_separately,
39029         func_import, func_create_testdir): Update.
39031         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
39032         * gnulib-tool: Accept option --without-tests.
39033         (func_usage): Document --without-tests option. Rearrange.
39034         (inctests): Normalize according to the mode.
39035         * NEWS: Mention the change.
39036         Suggested by Simon Josefsson.
39038 2012-06-21  Bruce Korb  <bkorb@gnu.org>
39040         parse-duration test: Avoid spurious output.
39041         * tests/test-parse-duration.sh: Reindent with leading tabs.
39043 2012-06-21  Jim Meyering  <meyering@redhat.com>
39045         maint: disable the strncpy prohibition
39046         * cfg.mk: Do not prohibit strncpy here.
39048 2012-06-21  Bruno Haible  <bruno@clisp.org>
39050         nonblocking: Avoid compilation error on mingw64.
39051         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
39052         fscanf.
39053         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
39054         * modules/vfscanf (configure.ac): Likewise.
39055         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
39056         definition only if stdio.h has prepared it.
39057         Reported by Daniel P. Berrange <berrange@redhat.com>.
39059 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
39061         gnulib-tool: Use readlink if it is available.
39062         * gnulib-tool (func_readlink): Choose function more appropriately.
39064 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39066         posixtm-tests: port to buggy compiler
39067         Problem reported by Simon Josefsson in
39068         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
39069         * modules/posixtm-tests (Depends-on): Add stdint.
39070         * tests/test-posixtm.c (struct posixtm_test.t_expected):
39071         Now of type int_least64_t, not int64_t, both because that's
39072         what INT64_C returns and because int_least64_t works even
39073         on 72-bit hosts.
39074         (T): Use INT64_C on constants outside the traditional int range,
39075         to work around compiler bug noted by Simon.
39077         mktime: fix integer overflow in 'configure'-time test
39078         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
39079         after integer overflow.  Problem reported by Rich Felker in
39080         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
39081         Also, don't look for further instances of a bug if we've already
39082         found one instance; this helps 'configure' run faster.
39084 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
39086         tmpfile, clean-temp: Fix invocation of GetVersionEx.
39087         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
39088         GetVersionEx correctly.
39089         * lib/clean-temp.c (supports_delete_on_close): Likewise.
39091 2012-06-20  Bruno Haible  <bruno@clisp.org>
39093         fdopen: Allow implementations that don't reject invalid fd arguments.
39094         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
39095         succeeds.
39096         Reported by Rich Felker <dalias@aerifal.cx>.
39098 2012-06-20  Simon Josefsson  <simon@josefsson.org>
39100         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
39101         bring in LIBINTL.
39103 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39105         init.sh: do not rely on autoupated PWD
39106         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
39107         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
39108         Although Nelson's bug was not necessarily fixed by this patch,
39109         it seems wise to make the change for safety.
39110         * tests/init.sh (path_prepend_): Do not rely on PWD updating
39111         automagically after 'cd'; this is not reliable on older shells.
39112         (setup_): Fail if we cannot cd to temporary directory.
39114 2012-06-19  Bruno Haible  <bruno@clisp.org>
39116         stat, fstat: Avoid warnings on mingw64.
39117         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
39118         redefining.
39119         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
39120         Reported by Daniel P. Berrange <berrange@redhat.com>.
39122 2012-06-19  Bruno Haible  <bruno@clisp.org>
39124         stdioext: Add support for musl libc.
39126         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
39127         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
39129         * m4/fseterr.m4: New file.
39130         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
39131         function exists.
39132         * modules/fseterr (Files): Add m4/fseterr.m4.
39133         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
39134         __fseterr does not exist.
39135         (Makefile.am): Remove fseterr.c from lib_SOURCES.
39137         * lib/freadable.h: Update comment.
39139         * lib/fwritable.h: Update comment.
39141         * lib/freading.h: Update comment.
39143         * lib/fwriting.h: Update comment.
39145         * m4/freadahead.m4: New file.
39146         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
39147         that function exists.
39148         * modules/freadahead (Files): Add m4/freadahead.m4.
39149         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
39150         __freadahead does not exist.
39151         (Makefile.am): Remove freadahead.c from lib_SOURCES.
39153         * m4/freadptr.m4: New file.
39154         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
39155         function exists.
39156         * modules/freadptr (Files): Add m4/freadptr.m4.
39157         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
39158         __freadptr does not exist.
39159         (Makefile.am): Remove freadptr.c from lib_SOURCES.
39161         * m4/freadseek.m4: New file.
39162         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
39163         exists.
39164         * modules/freadseek (Files): Add m4/freadseek.m4.
39165         (configure.ac): Invoke gl_FUNC_FREADSEEK.
39167         * lib/fpurge.c (fpurge): Update comment.
39169         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
39171 2012-06-19  Bruno Haible  <bruno@clisp.org>
39173         *printf-posix: Put more info into config.log.
39174         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
39175         exit code into config.log.
39177 2012-06-19  Bruno Haible  <bruno@clisp.org>
39179         getopt-gnu: Fix exit code overflow in autoconf test.
39180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
39181         to keep them below < 128.
39183 2012-06-17  Jim Meyering  <meyering@redhat.com>
39185         maint.mk: fix typo in code to derive GPG key at release time
39186         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
39188 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
39190         regex: avoid warning when pointers are not long
39191         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
39192         and uintptr_t, not long, for portability to hosts where pointers and
39193         long have different sizes.  Issue noted by Daniel P. Berrange in
39194         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
39195         and fix suggested by Bruno Haible in
39196         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
39198 2012-06-17  Bruno Haible  <bruno@clisp.org>
39200         dummy: Relicense into the public domain.
39201         * modules/dummy (License): Set to "public domain".
39202         Suggested by Reuben Thomas.
39204 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39206         announce-gen: VPATH issues
39207         * build-aux/announce-gen (--srcdir): New option, used to trim the
39208         $srcdir part of the path from $builddir to NEWS.
39209         * top/maint.mk (announcement): Adjust.
39211 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39213         gnu-web-doc-update: VPATH builds
39214         * build-aux/gnu-web-doc-update (--builddir): New option.
39215         Revamp the handling of options.
39216         Prefer $(...) to `...`.
39217         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
39218         the template, and it is GNU mktemp specific.
39219         Prefer set -e to long series of &&.
39220         Restore the initial git branch, not "master".
39221         Properly initialize submodules (don't rely only on bootstrap).
39222         Do not reconfigure blindly, use config.status.
39223         * top/README-release: Update instructions for gnu-web-doc-update.
39225 2012-06-11  Jim Meyering  <meyering@redhat.com>
39227         maint.mk: revert most of the previous change re "all these"
39228         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
39229         For rationale, see the discussion at
39230         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
39232 2012-06-10  Karl Berry  <karl@gnu.org>
39234         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
39236         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
39238 2012-06-10  Bruce Korb  <bkorb@gnu.org>
39240         parse-duration: Relicense under LGPLv2+.
39241         * modules/parse-duration (License): Change to LGPLv2+.
39243 2012-06-10  Jim Meyering  <meyering@redhat.com>
39245         maint.mk: prohibit common grammar error: "all these"
39246         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
39247         the list of prohibited word sequences.  It should be "all of these".
39248         * lib/tempname.c (__gen_tempname): Fix one of them.
39250 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39252         do-release-commit-and-tag: support VPATH builds
39253         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
39254         (noteworthy): Defined earlier to factor its value.
39255         (noteworthy_stub): New.
39256         Use it to factor.
39257         (help_version): Split into...
39258         (help, version): these.
39259         Adjust the option processing part.
39260         Support "--option=value" in addition to "--option value".
39261         (builddir): New.
39262         (--builddir): New option.
39263         * top/README-release: Document this.
39264         Reword slightly so that the reader cannot understand that he
39265         has to do these steps before calling do-release-commit-and-tag.
39267 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39269         readme-release: also require announce-gen and maintainer-makefile
39270         * modules/readme-release (Depends-on): here.
39271         * modules/announce-gen, modules/do-release-commit-and-tag,
39272         modules/gnu-web-doc-update, modules/maintainer-makefile
39273         (Description): Point to readme-release.
39275 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39277         maint.mk: fix VPATH issues.
39278         * top/maint.mk (news-check): GNU Make understand $< very well.
39279         (release-prep): NEWS is in $(srcdir).
39281 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
39283         readme-release: require the promoted modules.
39284         * modules/readme-release (Depends-on): Add
39285         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
39286         in this text.
39288 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39289             Bruno Haible  <bruno@clisp.org>
39291         error, strerror-override: Support mingw64 from Fedora 17.
39292         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
39293         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
39294         EINPROGRESS.
39295         * lib/strerror-override.h (strerror_override): Test it.
39296         * lib/strerror-override.c (strerror_override): Likewise.
39297         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
39299 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39300             Bruno Haible  <bruno@clisp.org>
39302         error, strerror-override: Support mingw64 from Fedora 17.
39303         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
39304         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
39305         * lib/strerror-override.h (strerror_override): Test it.
39306         * lib/strerror-override.c (strerror_override): Likewise.
39308 2012-06-03  Bruno Haible  <bruno@clisp.org>
39310         error, strerror-override: Support new errno values from POSIX:2008.
39311         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
39312         ENOTRECOVERABLE.
39313         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
39314         platforms.
39315         * lib/strerror-override.c (strerror_override): Conditionalize the
39316         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
39317         * lib/strerror-override.h (strerror_override): Declare also if
39318         GNULIB_defined_EOWNERDEAD is defined.
39319         * tests/test-errno.c (e130, e131): New variables.
39320         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
39321         ENOTRECOVERABLE.
39322         Reported by Paolo Bonzini.
39324 2012-05-31  Jim Meyering  <meyering@redhat.com>
39326         savewd: add missing dependency on sys_wait module
39327         * modules/savewd (Depends-on): Add sys_wait, needed at least
39328         for MSVC.  Report and suggested change by Michael Goffioul.
39330 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
39332         system-quote-tests: port to CentOS 5
39333         Problem reported by Tom G. Christensen in
39334         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
39335         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
39337 2012-05-29  Jim Meyering  <meyering@redhat.com>
39339         maint: fix typos in comments and ChangeLog
39340         Culprits identified and fixed mostly automatically using these commands:
39341         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
39342         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
39343         using http://github.com/lyda/misspell-check
39344         * ChangeLog: Fix typos.
39345         * doc/solaris-versions: Likewise.
39346         * lib/regexec.c (re_search_stub): Likewise.
39347         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
39349 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39351         manywarnings: remove duplicate -Wmultichar entry
39352         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
39353         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
39354         so keep the entry marked as documented.
39356 2012-05-27  Karl Berry  <karl@gnu.org>
39358         * config/srclist.txt (mktime.c): remove last libc sync,
39359         perhaps just temporarily.
39361 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39363         regex: don't assume uint64_t or uint32_t
39364         * lib/regcomp.c (init_word_char): Don't assume that the types
39365         uint64_t and uint32_t exist.  The C standard doesn't guarantee
39366         them, and on some 32-bit compilers there is no uint64_t.
39367         Problem reported by Gianluigi Tiesi in
39368         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
39370 2012-05-25  Jim Meyering  <meyering@redhat.com>
39372         maint.mk: add strncpy-prohibiting syntax-check rule
39373         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
39375 2012-05-24  Jim Meyering  <meyering@redhat.com>
39377         maint.mk: compute $(gpg_key_ID) more portably
39378         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
39379         That use of sed is not portable to some fringe systems.
39380         Reported by Paul Eggert in
39381         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
39383 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39385         mktime: sync from glibc
39386         * config/srclist.txt: Uncomment mktime.c.
39387         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
39388         First, indent with tabs, since glibc uses tabs and doesn't want to
39389         change and we'd rather be identical to glibc.  Also, two small
39390         coding changes:
39391         (isdst_differ): Use &&, not &, as && is the usual style.
39392         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
39393         for clarity.
39395 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39397         announce-gen: du -h is more portable than du --human
39398         * build-aux/announce-gen (sizes): Invoke du with -h instead
39399         of --human.  Accept leading white space in its output.
39401 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39403         announce-gen: Improve diagnostics.
39404         * build-aux/announce-gen: When parsing command line options,
39405         prefer "announce-gen: option --release-type requires an argument"
39406         to "Option release-type requires an argument".
39408 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39410         maint.mk: gpg_key_ID: use sed more portably
39411         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
39412         the closing brace.
39413         (refresh-po): Fuse two sed invocations into one.
39415 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
39417         gitlog-to-changelog: support the log message format used in Bison.
39418         * build-aux/gitlog-to-changelog: Support --strip-tab and
39419         --strip-cherry-picked.
39421 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39423         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
39424         the rest of the current time slice to another thread in the current
39425         process. So if the thread that feeds the file decscriptor we're
39426         polling is not in the current process, we get busy-waiting.
39427         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
39428         Patch from Theodore Leblond.
39429         * lib/select.c: Split polling out of the loop that sets the output
39430         fd_sets.  Check for zero result and loop if the wait timeout is
39431         infinite.
39433 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39435         select: Fix build error on IRIX 6.5.
39436         * lib/select.c: Include stddef.h for NULL.
39438 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39440         gc: fix libgcrypt detection on older machines.
39441         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
39442         copyright years because the file has been distributed every year
39443         since it was created.
39445 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39447         crypto: fix bug in large buffer handling
39448         Problem reported by Serge Belyshev for glibc in
39449         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
39450         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
39451         * lib/md4.c (md4_process_block):
39452         * lib/md5.c (md5_process_block):
39453         * lib/sha1.c (sha1_process_block):
39454         * lib/sha256.c (sha256_process_block):
39455         Don't assume the buffer length is less than 2**32.
39456         * lib/sha512.c (sha512_process_block): Likewise.
39457         Here, the bug is present only in the rare case where the host does
39458         not support uint64_t or where size_t is wider than 64 bits.
39459         Use u64size to work around the problems.
39460         * lib/u64.h (u64size): New macro.
39462 2012-05-15  Pádraig Brady  <P@draigBrady.com>
39464         fsusage: fix block size returned on older Linux 2.6
39466         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
39467         which is available since Linux 2.6.
39468         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
39469         when the member is available so it can be used as a fallback.
39470         * doc/posix-functions/statvfs.texi: Mention the hang issue
39471         on Linux < 2.6.36.
39473 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39475         bootstrap: suppress stderr chatter
39476         * build-aux/bootstrap (insert_sorted_if_absent, main program):
39477         Omit unnecessary chatter to stderr.  The main program chatter
39478         was there only inadvertantly.
39480         bootstrap: .gitignore files created by autopoint, libtool
39481         I ran into this problem when bootstrapping the latest diffutils.
39482         After './bootstrap', 'git status' reported lots of untracked files
39483         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
39484         autopoint and do not need to be version-controlled.
39485         * build-aux/bootstrap: Put into .gitignore the files that
39486         autopoint and libtool create, by keeping track of files that exist
39487         after but not before these programs are run.
39488         (version_controlled_file): Move up.  2nd arg is now full file
39489         name, not base name; this is more convenient.  Put CVS at the end,
39490         as it's now somewhat deprecated.
39492 2012-05-14  Jim Meyering  <meyering@redhat.com>
39494         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
39495         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
39496         definition.  Reported by Bruno Haible.
39498 2012-05-13  Bruno Haible  <bruno@clisp.org>
39499             Paul Eggert  <eggert@cs.ucla.edu>
39501         binary-io: Define set_binary_mode function.
39502         * lib/binary-io.h (set_binary_mode): New function.
39503         (SET_BINARY): Define in terms of set_binary_mode.
39504         * modules/binary-io (configure.ac): Require AC_C_INLINE.
39505         * tests/test-binary-io.c (main): Accept an argument, and test either
39506         set_binary_mode or SET_BINARY depending on the argument.
39507         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
39508         argument. Clean up also t-bin-out0.tmp.
39510 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
39512         bootstrap: take advantage of POSIX shell features
39514         The 'bootstrap' script offered by Gnulib script already uses POSIX
39515         shell features (like $((...)) arithmetic expansions) that are not
39516         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
39517         means that bootstrap must already be run using a proper POSIX shell,
39518         which will thus provide more features, like ${var#pattern} parameter
39519         expansion or inversion of a command exit status with '!'.  We can
39520         thus use these features to improve the clarity and the performances
39521         of the bootstrap script.
39523         Suggested by Eric Blake.
39525         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
39526         of sed/expr plus command substitutions, to save some forks.  While
39527         we are at it, prefer the POSIX $(...) form of command substitution,
39528         rather than the legacy form `...` (since the former is visually
39529         clearer and interacts better with quoting), and prefer the idiom:
39530           "if ! CMD; then ACTION ..."
39531         over the idiom:
39532           "if CMD; then :; else ACTION ..."
39533         which was required by legacy Bourne shells not supporting '!'.
39535 2012-05-12  Bruno Haible  <bruno@clisp.org>
39537         system-quote: Add more comments.
39538         * lib/system-quote.h: Add more comments about wilcards and limitations.
39539         Suggested by Eli Zaretskii <eliz@gnu.org>.
39541         sh-quote, system-quote: Add comments about wildcards.
39542         * lib/sh-quote.h: Clarify what happens with wildcard characters.
39543         * lib/system-quote.h: Likewise.
39544         Reported by Eli Zaretskii <eliz@gnu.org>.
39546 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
39548         fsusage: check for GNU/Linux statvfs problem dynamically
39549         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
39550         Define STAT_STATFS2_BSIZE too, since in this case the code now
39551         checks dynamically whether statvfs is reliable, falling back on
39552         Linux-style statfs otherwise.
39553         (statvfs_works): New function, for dynamically testing statvfs.
39554         (get_fs_usage) [STAT_STATVFS]: Use it.
39555         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
39556         statvfs on GNU/Linux hosts, since it's now done dynamically.
39558 2012-05-10  Bruno Haible  <bruno@clisp.org>
39560         system-quote, execute, spawn-pipe: Escape '?' on Windows.
39561         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
39562         '?' character.
39563         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
39564         * tests/test-system-quote-main.c (check_all): Check also strings like
39565         "??????????".
39566         Reported by Eli Zaretskii <eliz@gnu.org>.
39568 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39570         _Noreturn: port config.h to gcc -Wundef
39571         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
39572         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
39573         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
39575 2012-05-10  Bruno Haible  <bruno@clisp.org>
39577         system-quote: Refactor.
39578         * lib/system-quote.h (system_quote_copy): Fix comment.
39579         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
39580         New functions, extracted from system_quote_copy.
39581         (system_quote_length, system_quote_copy): Use these functions.
39582         Reported by Paul Eggert.
39584 2012-05-08  Bruno Haible  <bruno@clisp.org>
39586         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
39587         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
39589 2012-05-08  Bruno Haible  <bruno@clisp.org>
39591         Tests for module 'system-quote'.
39592         * modules/system-quote-tests: New file.
39593         * tests/test-system-quote.sh: New file.
39594         * tests/test-system-quote-main.c: New file.
39595         * tests/test-system-quote-child.c: New file.
39597         New module 'system-quote'.
39598         * lib/system-quote.h: New file.
39599         * lib/system-quote.c: New file.
39600         * modules/system-quote: New file.
39602 2012-05-08  Bruno Haible  <bruno@clisp.org>
39604         sh-quote: Make C++ safe and allow multiple inclusion.
39605         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
39606         declarations in extern "C".
39608 2012-05-08  Bruno Haible  <bruno@clisp.org>
39610         sh-quote tests: Make tests stricter.
39611         * tests/test-sh-quote.c (check_one): Check the return value of
39612         shell_quote_copy.
39613         (main): Check a string with a CR character. Check a string that
39614         contains UCHAR_MAX.
39616 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
39618         warnings.m4: provide a means to specify the program to compile.
39619         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
39620         (gl_WARN_ADD): here.
39621         Use gl_AS_VAR_APPEND.
39622         Support an argument to specify the program to compile.
39623         (gl_WARN_ADD): Accept an argument to specify the program to compile.
39624         AC_SUBST the WARN_CFLAGS when they are used.
39625         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
39626         leave this to gl_WARN_ADD.
39628 2012-05-08  Eric Blake  <eblake@redhat.com>
39630         doc: recommendations on gettext version
39631         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
39632         choice between versions.
39633         * DEPENDENCIES (gettext): Cover both approaches.
39635 2012-05-08  Jim Meyering  <meyering@redhat.com>
39637         init.sh: explain why EXEEXT support uses aliases rather than functions
39638         * tests/init.sh: Add a comment.
39640         init.sh: don't let bash aliases interfere with tests
39641         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
39642         is bash.  This avoids problems for those who alias standard commands to
39643         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
39644         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
39646 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39648         stdint: be more consistent with glibc, SunOS libc
39649         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
39650         (gl_int_fast16_t, gl_uint_fast16_t)
39651         (gl_int_fast32_t, gl_uint_fast32_t)
39652         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
39653         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
39654         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
39655         Be consistent with glibc by default, and with SunOS 5.10 and later
39656         if __sun is defined.  This lessens the likelihood of clashes if
39657         code compiled for older hosts is combined with code compiled for
39658         newer ones.  Problem reported by Niels Möller in
39659         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
39661 2012-05-07  Eric Blake  <eblake@redhat.com>
39663         isatty: relax license to LGPLv2+
39664         * modules/isatty (License): Relax license.
39666 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39668         stat-size: comment fix
39669         * lib/stat-size.h: Remove obsolete comment about indenting.
39671 2012-05-06  Bruno Haible  <bruno@clisp.org>
39673         Tests for module 'sh-quote'.
39674         * modules/sh-quote-tests: New file.
39675         * tests/test-sh-quote.c: New file.
39677 2012-05-06  Bruno Haible  <bruno@clisp.org>
39679         sh-quote: Improve shell_quote_argv's signature.
39680         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
39681         * lib/sh-quote.c (shell_quote_argv): Likewise.
39683 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39685         stdint: document issues with int_fast8_t etc.
39686         * doc/posix-headers/stdint.texi (stdint.h): Say that other
39687         stdint.h substitutes may define these types differently.  See
39688         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
39690 2012-05-05  Bruno Haible  <bruno@clisp.org>
39692         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
39693         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
39694         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
39695         or 'guessing no (mishandles large arguments)'.
39697 2012-05-05  Bruno Haible  <bruno@clisp.org>
39699         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
39700         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
39701         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
39702         set gl_cv_func_link_follows_symlink to "guessing no".
39704 2012-05-05  Bruno Haible  <bruno@clisp.org>
39706         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
39707         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
39708         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
39709         "guessing no".
39710         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
39712 2012-05-05  Bruno Haible  <bruno@clisp.org>
39714         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
39715         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
39716         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
39717         set gl_cv_struct_dirent_d_ino to "guessing yes".
39719 2012-05-05  Bruno Haible  <bruno@clisp.org>
39721         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
39722         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
39723         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
39724         "guessing yes".
39726 2012-05-05  Bruno Haible  <bruno@clisp.org>
39728         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
39729         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
39730         compiling to a glibc system, set gl_cv_func_signbit and
39731         gl_cv_func_signbit_gcc to "guessing yes".
39733 2012-05-05  Bruno Haible  <bruno@clisp.org>
39735         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
39736         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
39737         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
39738         to "guessing yes".
39739         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
39740         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
39742 2012-05-05  Bruno Haible  <bruno@clisp.org>
39744         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
39745         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
39746         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
39747         gl_cv_func_realpath_works to "guessing yes".
39749 2012-05-05  Bruno Haible  <bruno@clisp.org>
39751         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
39752         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
39753         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
39755 2012-05-04  Bruno Haible  <bruno@clisp.org>
39757         Tweak last commit.
39758         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
39759         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39761 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
39763         unistd_h: make it easier to avoid sys_types_h
39764         This is useful for Emacs, which has its own method of porting to
39765         Windows, and which therefore does not need the sys_types_h module.
39766         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
39767         code moved here from gl_SYS_TYPES_H.
39768         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
39769         using the code directly.
39770         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
39771         gl_SYS_TYPES_H.
39772         * modules/sys_types (Files):
39773         * modules/unistd (Files): Add m4/off_t.m4.
39775 2012-05-03  Bruno Haible  <bruno@clisp.org>
39777         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
39778         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
39779         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
39780         "guessing yes" or "guessing no".
39781         (gl_FUNC_LSTAT): Update.
39782         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
39783         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
39784         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
39786 2012-05-03  Bruno Haible  <bruno@clisp.org>
39788         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
39789         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
39790         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
39791         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
39792         cross-compiling, choose the first alternative on glibc systems.
39793         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
39795 2012-05-03  Bruno Haible  <bruno@clisp.org>
39797         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
39798         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
39799         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
39801 2012-05-03  Bruno Haible  <bruno@clisp.org>
39803         chown: Avoid "guessing no" when cross-compiling to glibc systems.
39804         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
39806 2012-05-03  Bruno Haible  <bruno@clisp.org>
39808         Avoid "guessing no" guesses when cross-compiling to glibc systems.
39809         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
39810         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
39811         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
39812         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
39813         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
39814         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
39815         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
39816         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
39817         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
39818         compiling to glibc systems, set gl_cv_func_chown_slash_works,
39819         gl_cv_func_chown_ctime_works to "guessing yes".
39820         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
39821         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
39822         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
39823         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
39824         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
39825         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
39826         compiling to glibc systems, set gl_cv_func_open_directory_works to
39827         "guessing yes".
39828         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
39829         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
39830         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
39831         "guessing yes".
39832         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
39833         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
39834         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
39835         compiling to glibc systems, set gl_cv_func_floorf_ieee to
39836         "guessing yes".
39837         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
39838         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
39839         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
39840         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
39841         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
39842         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
39843         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
39844         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
39845         "guessing yes".
39846         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
39847         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
39848         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
39849         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
39850         "guessing yes".
39851         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
39852         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
39853         "guessing yes".
39854         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
39855         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
39856         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
39857         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
39858         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
39859         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
39860         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
39861         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
39862         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
39863         compiling to glibc systems, set gl_cv_func_log10f_ieee to
39864         "guessing yes".
39865         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
39866         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
39867         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
39868         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
39869         "guessing yes".
39870         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
39871         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
39872         "guessing yes".
39873         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
39874         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
39875         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
39876         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
39877         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
39878         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
39879         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
39880         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
39881         compiling to glibc systems, set gl_cv_func_mkfifo_works to
39882         "guessing yes".
39883         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
39884         compiling to glibc systems, set gl_cv_func_mknod_works to
39885         "guessing yes".
39886         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
39887         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
39888         "guessing yes".
39889         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
39890         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
39891         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
39892         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
39893         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
39894         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
39895         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
39896         compiling to glibc systems, set gl_cv_func_svid_putenv to
39897         "guessing yes".
39898         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
39899         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
39900         "guessing yes".
39901         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
39902         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
39903         "guessing yes".
39904         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
39905         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
39906         to "guessing yes".
39907         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
39908         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
39909         to "guessing yes".
39910         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
39911         compiling to glibc systems, set gl_cv_func_rmdir_works to
39912         "guessing yes".
39913         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
39914         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
39915         gl_cv_func_unlink_parent_fails to "guessing yes".
39916         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
39917         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
39918         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
39919         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
39920         gl_cv_func_rename_dest_works to "guessing yes".
39921         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
39922         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
39923         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
39924         compiling to glibc systems, set gl_cv_func_roundf_ieee to
39925         "guessing yes".
39926         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
39927         compiling to glibc systems, set gl_cv_func_roundl_ieee to
39928         "guessing yes".
39929         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
39930         compiling to glibc systems, set gl_cv_func_setenv_works to
39931         "guessing yes".
39932         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
39933         compiling to glibc systems, set gl_cv_func_unsetenv_works to
39934         "guessing yes".
39935         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
39936         compiling to glibc systems, set gl_cv_func_sleep_works to
39937         "guessing yes".
39938         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
39939         compiling to glibc systems, set gl_cv_func_stat_file_slash to
39940         "guessing yes".
39941         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
39942         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
39943         "guessing yes".
39944         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
39945         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
39946         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
39947         compiling to glibc systems, set gl_cv_func_truncf_ieee to
39948         "guessing yes".
39949         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
39950         compiling to glibc systems, set gl_cv_func_truncl_ieee to
39951         "guessing yes".
39952         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
39953         compiling to glibc systems, set gl_cv_func_usleep_works to
39954         "guessing yes".
39955         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
39956         compiling to glibc systems, set gl_cv_func_futimesat_works to
39957         "guessing yes".
39959 2012-05-03  Bruno Haible  <bruno@clisp.org>
39961         Say "guessing yes" or "guessing no" when cross-compiling.
39962         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
39963         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
39964         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
39965         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
39966         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
39967         am_cv_func_working_getline to "guessing yes" or "guessing no".
39968         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
39969         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
39970         (gl_FUNC_MEMMEM): When cross-compiling, set
39971         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
39972         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
39973         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
39974         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
39975         set gl_cv_func_strcasestr_works_always to "guessing yes" or
39976         "guessing no".
39977         (gl_FUNC_STRCASESTR): When cross-compiling, set
39978         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
39979         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
39980         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
39981         (gl_FUNC_STRSTR): When cross-compiling, set
39982         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
39983         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
39984         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
39985         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
39986         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
39988 2012-05-01  Bruno Haible  <bruno@clisp.org>
39990         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
39991         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
39992         * build-aux/reloc-ldflags: Likewise.
39993         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
39995 2012-05-01  Bruno Haible  <bruno@clisp.org>
39997         gnulib-tool: Remove transitional code.
39998         * gnulib-tool: Don't warn about --import with 0 arguments any more.
39999         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
40001 2012-05-01  Bruno Haible  <bruno@clisp.org>
40003         getcwd: Fix misindentation.
40004         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
40006 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40008         exclude: process exclude and include directives in order
40009         This restores the pre-2009 behavior, and is part of a fix of a
40010         grep bug reported by Quentin Arce in
40011         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
40012         * lib/exclude.c (struct exclude): Remove 'tail' member.
40013         (new_exclude_segment): Prepend the new segment instead of appending.
40014         Return void, since that's now more convenient.
40015         (file_pattern_matches): Renamed from excluded_file_pattern_p.
40016         (file_name_matches): Renamed from excluded_file_name_p.
40017         (file_pattern_matches, file_name_matches):
40018         Return true if the pattern matches, not if it excludes.
40019         All callers changed.
40020         (excluded_file_name): Process the list in reverse order;
40021         since the list is now reversed this restores the pre-2009 behavior.
40022         (add_exclude): Adjust to new reversed-order list.  Use local var
40023         rather than macro, for clarity.
40024         * tests/test-exclude7.sh: Adjust to corrected behavior.
40026         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
40027         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
40028         it's not possible here.  Handle the case of \ at end of pattern
40029         without dumping core.
40030         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
40032         _Noreturn: future-proof non-GNU and non-MSVC compilers
40033         * build-aux/snippet/_Noreturn.h (_Noreturn):
40034         * m4/gnulib-common.m4 (gl_COMMON_BODY):
40035         Do not define _Noreturn if __STDC_VERSION__ indicates this is
40036         C11 or later.  This is more likely to work with random future C
40037         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
40038         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
40040         exclude: handle wildcards with FNM_EXTMATCH
40041         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
40042         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
40043         comment that "has wildcards" really means "has or may have
40044         wildcards".  Simplify by avoiding the need to call strcspn.
40046 2012-04-29  Bruno Haible  <bruno@clisp.org>
40048         gnulib-tool: Fix list of authors.
40049         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
40051 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
40053         bootstrap: support Automake-NG in $buildreq
40054         * bootstrap (check_versions): Handle automake and aclocal from
40055         Automake-NG specially.  They can be specified as respectively
40056         the "automake-ng" and "aclocal-ng" requirements.
40058 2012-04-25  Eric Blake  <eblake@redhat.com>
40060         bootstrap: only force latest Makefile.in.in for gettext module
40061         * build-aux/bootstrap (with_gettext): Only install latest
40062         Makefile.in.in for projects requesting bleeding edge gettext.
40064 2012-04-22  Bruno Haible  <bruno@clisp.org>
40066         doc: Mention reason for replacement on glibc/Linux systems.
40067         * doc/posix-functions/dprintf.texi: Mention the problem with special
40068         'long double' values.
40069         * doc/posix-functions/fprintf.texi: Likewise.
40070         * doc/posix-functions/printf.texi: Likewise.
40071         * doc/posix-functions/snprintf.texi: Likewise.
40072         * doc/posix-functions/sprintf.texi: Likewise.
40073         * doc/posix-functions/vdprintf.texi: Likewise.
40074         * doc/posix-functions/vfprintf.texi: Likewise.
40075         * doc/posix-functions/vprintf.texi: Likewise.
40076         * doc/posix-functions/vsnprintf.texi: Likewise.
40077         * doc/posix-functions/vsprintf.texi: Likewise.
40078         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
40079         platforms with F_DUPFD_CLOEXEC problems.
40080         * doc/posix-functions/glob.texi: Mention which platforms are affected
40081         by the problem with symbolic links.
40082         * doc/posix-functions/linkat.texi: Mention the problem with
40083         AT_SYMLINK_FOLLOW on Linux.
40085 2012-04-22  Bruno Haible  <bruno@clisp.org>
40087         pwrite: Don't replace on all platforms.
40088         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
40090 2012-04-22  Bruno Haible  <bruno@clisp.org>
40092         rint* tests: Avoid gcc warnings.
40093         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
40094         * tests/test-rintf.c (INFINITY, NAN): Likewise.
40095         * tests/test-rintl.c (INFINITY, NAN): Likewise.
40097 2012-04-21  Bruno Haible  <bruno@clisp.org>
40099         users.txt: Update.
40100         * users.txt: Add freedink, wdiff. Update URLs for projects that have
40101         switched from CVS to git, bzr, or svn.
40103 2012-04-21  Bruno Haible  <bruno@clisp.org>
40105         Large File Support for native Windows platforms.
40107         * m4/largefile.m4 (gl_LARGEFILE): New macro.
40108         * modules/largefile (configure.ac): Require gl_LARGEFILE.
40110         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
40111         type.
40112         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
40113         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
40114         * doc/posix-headers/sys_types.texi: Mention the effect of the
40115         'largefile' module.
40117         * lib/fcntl.in.h: Add comments about off_t.
40118         * modules/fcntl-h (Depends-on): Add sys_types.
40120         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
40121         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
40122         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
40123         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
40124         * modules/unistd (Depends-on): Add sys_types.
40125         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
40127         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
40128         instead of lseek.
40129         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
40130         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
40131         * modules/lseek (Depends-on): Add sys_types.
40133         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
40134         msvc-nothrow.h.
40135         (SetFileSize): New function.
40136         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
40137         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
40138         if Large File Support is requested.
40139         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
40140         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
40142         * lib/stdio.in.h: Add comments about off_t.
40143         * modules/stdio (Depends-on): Add sys_types.
40145         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
40146         instead of ftello.
40147         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
40148         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
40149         (gl_PREREQ_FTELLO): New macro.
40150         * modules/ftello (Depends-on): Add sys_types.
40151         (configure.ac): Incoke gl_PREREQ_FTELLO.
40153         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
40154         instead of fseeko.
40155         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
40156         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
40157         (gl_PREREQ_FSEEKO): New macro.
40158         * modules/fseeko (Depends-on): Add sys_types.
40159         (configure.ac): Invoke gl_PREREQ_FSEEKO.
40161         * lib/sys_stat.in.h: Add comments about off_t.
40162         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
40163         64-bit integer for st_size in 'struct stat'.
40164         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
40165         Define _GL_WINDOWS_64_BIT_ST_SIZE.
40166         * modules/sys_stat (Depends-on): Add sys_types.
40167         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
40169         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
40170         instead of stat or _stat.
40172         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
40173         'struct _stati64' instead of fstat and 'struct stat'.
40174         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
40175         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
40177         Reported by Ray Satiro <raysatiro@yahoo.com>.
40179 2012-04-19  Eric Blake  <eblake@redhat.com>
40181         bootstrap: accommodate older libtool
40182         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
40183         Reported by Daniel P. Berrange.
40185 2012-04-19  Jim Meyering  <meyering@redhat.com>
40187         announce-gen: avoid failure due to lack of Digest::SHA1
40188         Even with the preferred Digest::SHA available, this script
40189         would fail when the backup module, Digest::SHA1, was not installed.
40190         * build-aux/announce-gen: Quote the conditional use of "use".
40191         Reported by Reuben Thomas in:
40192         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
40194         bootstrap: don't let a user's CDPATH setting affect this script
40195         When CDPATH is set, cd will sometimes generate output.
40196         When "cd" is run in a subshell whose output matters, that
40197         surprising-to-some output can cause malfunction.
40198         Unsetting CDPATH turns off this shell "feature."
40199         * build-aux/bootstrap (CDPATH): Unset.
40200         Reported by Reuben Thomas in:
40201         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
40202         and inspired by his patch here:
40203         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
40205 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
40206         and Jim Meyering  <meyering@redhat.com>
40208         maint.mk: catch "see @xref{}" and similar
40209         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
40210         prohibit "See also @xref{", "Also see @pxref{", and similar.
40212 2012-04-16  Jim Meyering  <meyering@redhat.com>
40214         bootstrap: really use gnulib's po/Makefile.in.in
40215         * build-aux/bootstrap: Correct the source file name in previous change.
40216         Reported by Akim Demaille.
40218         configmake: correct minor inconsistency in Makefile rule
40219         * modules/configmake (Makefile.am): All other rules like this one
40220         run the final "mv -f ..." in the same backslash-continued command
40221         as the one that does everything else.  This one put the mv -f ...
40222         command on a separate, non-backslash-continued line.
40223         Make it like the others.
40225         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
40226         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
40227         the one from gettext.  Reported by Akim Demaille.
40229 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
40231         Fix recursion of install-* into po directories.
40232         Bison's install-pdf bug reported by Hans Aberg at
40233         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
40234         * build-aux/po/Makefile.in.in (install-dvi, install-html)
40235         (install-info, install-pdf, install-ps): New targets.
40237 2012-04-16  Jim Meyering  <meyering@redhat.com>
40239         maint: avoid spurious "make sc_maint" failure
40240         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
40241         exempt all *.class file names, for lib/javaversion.class.
40243 2012-04-15  Bruno Haible  <bruno@clisp.org>
40245         lseek: Make configure test independent of environment.
40246         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
40247         Windows, we know that lseek() on pipes is broken; skip the runtime
40248         test.
40250 2012-04-14  Bruno Haible  <bruno@clisp.org>
40252         stat: Bypass buggy override in mingw64.
40253         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
40254         * lib/stat.c (stat) [mingw64]: Define to _stat.
40255         * doc/posix-functions/stat.texi: Mention mingw64 bug.
40257 2012-04-14  Bruno Haible  <bruno@clisp.org>
40259         pathmax: Fix compilation error on MSVC 9.
40260         * modules/pathmax (Depends-on): Add unistd.
40262 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40264         README: document pointer comparison assumption
40265         * README (Portability guidelines): Document assumption about
40266         pointer comparisons, in response to a recent bug-gnulib comment by
40267         Jeffrey Kegler.
40269 2012-04-12  Bruno Haible  <bruno@clisp.org>
40271         Tests for module 'getrusage'.
40272         * modules/getrusage-tests: New file.
40273         * tests/test-getrusage.c: New file.
40275         New module 'getrusage'.
40276         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
40277         warn-on-use.h.
40278         (getrusage): New declaration.
40279         * lib/getrusage.c: New file.
40280         * m4/getrusage.m4: New file.
40281         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
40282         is declared.
40283         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
40284         HAVE_GETRUSAGE.
40285         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
40286         snippet/c++defs, snippet/warn-on-use.
40287         (Makefile.am): Update generation of sys/resource.h. Substitute
40288         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
40289         * modules/getrusage: New file.
40290         * doc/posix-functions/getrusage.texi: Mention the new module.
40292 2012-04-12  Bruno Haible  <bruno@clisp.org>
40294         Tests for module 'sys_resource'.
40295         * modules/sys_resource-tests: New file.
40296         * tests/test-sys_resource.c: New file.
40298         New module 'sys_resource'.
40299         * lib/sys_resource.in.h: New file.
40300         * m4/sys_resource_h.m4: New file.
40301         * modules/sys_resource: New file.
40302         * doc/posix-headers/sys_resource.texi: Mention the new module.
40304 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
40306         ioctl: Fix compilation error on mingw.
40307         * lib/ioctl.c: Include <windows.h>.
40308         Also reported by Ray Satiro <raysatiro@yahoo.com>.
40310 2012-04-04  Jim Meyering  <meyering@redhat.com>
40312         regex: correct #pragma guard expression
40313         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
40314         not 4.3.  Correct its cpp guard expression.
40316 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40318         regex: remove unnecessary type punning
40319         Problem reported by Vladimir Serbinenko in
40320         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
40321         * lib/regex.h (struct re_pattern_buffer): Change the type of
40322         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
40323         Fix comment to match code.
40324         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
40325         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
40326         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40327         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
40328         (set_regs):
40329         Omit no-longer-necessary casts.
40331 2012-04-03  Bruno Haible  <bruno@clisp.org>
40333         Tests for module 'ilogbl'.
40334         * modules/ilogbl-tests: New file.
40335         * tests/test-ilogbl.c: New file.
40337         New module 'ilogbl'.
40338         * lib/math.in.h (ilogbl): New declaration.
40339         * lib/ilogbl.c: New file.
40340         * m4/ilogbl.m4: New file.
40341         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
40342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
40343         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
40344         Split sed invocation, to avoid the limit of 100 substitutions of
40345         HP-UX 'sed'.
40346         * modules/ilogbl: New file.
40347         * tests/test-math-c++.cc: Check the declaration of ilogbl.
40348         * doc/posix-functions/ilogbl.texi: Mention the new module.
40350 2012-04-03  Bruno Haible  <bruno@clisp.org>
40352         Tests for module 'ilogbf'.
40353         * modules/ilogbf-tests: New file.
40354         * tests/test-ilogbf.c: New file.
40356         New module 'ilogbf'.
40357         * lib/math.in.h (ilogbf): New declaration.
40358         * lib/ilogbf.c: New file.
40359         * m4/ilogbf.m4: New file.
40360         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
40361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
40362         REPLACE_ILOGBF.
40363         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
40364         REPLACE_ILOGBF.
40365         * modules/ilogbf: New file.
40366         * tests/test-math-c++.cc: Check the declaration of ilogbf.
40367         * doc/posix-functions/ilogbf.texi: Mention the new module.
40369 2012-04-03  Bruno Haible  <bruno@clisp.org>
40371         Tests for module 'ilogb'.
40372         * modules/ilogb-tests: New file.
40373         * tests/test-ilogb.c: New file.
40374         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
40375         tests/test-logb-ieee.h.
40377         New module 'ilogb'.
40378         * lib/math.in.h (ilogb): New declaration.
40379         * lib/ilogb.c: New file.
40380         * m4/ilogb.m4: New file.
40381         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
40382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
40383         REPLACE_ILOGB.
40384         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
40385         REPLACE_ILOGB.
40386         * modules/ilogb: New file.
40387         * tests/test-math-c++.cc: Check the declaration of ilogb.
40388         * doc/posix-functions/ilogb.texi: Mention the new module.
40390 2012-04-03  Bruno Haible  <bruno@clisp.org>
40392         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
40393         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
40394         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
40395         (main): Check their values.
40396         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
40397         problem.
40399 2012-04-03  Bruno Haible  <bruno@clisp.org>
40401         Tests for module 'logbl-ieee'.
40402         * modules/logbl-ieee-tests: New file.
40403         * tests/test-logbl-ieee.c: New file.
40405         New module 'logbl-ieee'.
40406         * modules/logbl-ieee: New file.
40408         Tests for module 'logb-ieee'.
40409         * modules/logb-ieee-tests: New file.
40410         * tests/test-logb-ieee.c: New file.
40412         New module 'logb-ieee'.
40413         * modules/logb-ieee: New file.
40415         Tests for module 'logbf-ieee'.
40416         * modules/logbf-ieee-tests: New file.
40417         * tests/test-logbf-ieee.c: New file.
40418         * tests/test-logb-ieee.h: New file.
40420         New module 'logbf-ieee'.
40421         * modules/logbf-ieee: New file.
40423 2012-04-03  Bruno Haible  <bruno@clisp.org>
40425         Tests for module 'logbl'.
40426         * modules/logbl-tests: New file.
40427         * tests/test-logbl.c: New file.
40429         New module 'logbl'.
40430         * lib/math.in.h (logbl): New declaration.
40431         * lib/logbl.c: New file.
40432         * m4/logbl.m4: New file.
40433         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
40434         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
40435         REPLACE_LOGBL.
40436         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
40437         REPLACE_LOGBL.
40438         * modules/logbl: New file.
40439         * tests/test-math-c++.cc: Check the declaration of logbl.
40440         * doc/posix-functions/logbl.texi: Mention the new module.
40442 2012-04-02  Bruno Haible  <bruno@clisp.org>
40444         Tests for module 'logbf'.
40445         * modules/logbf-tests: New file.
40446         * tests/test-logbf.c: New file.
40448         New module 'logbf'.
40449         * lib/math.in.h (logbf): New declaration.
40450         * lib/logbf.c: New file.
40451         * m4/logbf.m4: New file.
40452         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
40453         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
40454         REPLACE_LOGBF.
40455         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
40456         REPLACE_LOGBF.
40457         * modules/logbf: New file.
40458         * tests/test-math-c++.cc: Check the declaration of logbf.
40459         * doc/posix-functions/logbf.texi: Mention the new module.
40461 2012-04-02  Bruno Haible  <bruno@clisp.org>
40463         logb tests: More tests.
40464         * tests/test-logb.h: New file, based on tests/test-logb.c and
40465         tests/test-frexp.h.
40466         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
40467         (main): Just invoke test_function.
40468         * modules/logb-tests (Files): Add tests/test-logb.h,
40469         tests/minus-zero.h, tests/randomd.c.
40470         (Makefile.am): Add randomd.c to test_logb_SOURCES.
40472         logb: Provide replacement and workarounds.
40473         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
40474         is 1.
40475         * lib/logb.c: New file.
40476         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
40477         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
40478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
40479         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
40480         * modules/logb (Files): Add lib/logb.c.
40481         (Depends-on): Add isfinite, frexp, isnand.
40482         (configure.ac): Compile the replacement code logb.c if needed.
40483         * tests/test-math-c++.cc: Check the declaration of logb.
40484         * doc/posix-functions/logb.texi: Mention the replacement and the bug
40485         with subnormal numbers.
40487 2012-04-02  Bruno Haible  <bruno@clisp.org>
40489         log10* tests: Speed up.
40490         * tests/test-log10.h (test_function): Reduce amount of random numbers
40491         to test.
40493 2012-04-01  Bruno Haible  <bruno@clisp.org>
40495         logf-ieee: Fix test whether logf works.
40496         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
40498 2012-04-01  Bruno Haible  <bruno@clisp.org>
40500         log10l: Work around log10l-ieee test failure on IRIX 6.5.
40501         * lib/log10l.c: Include <float.h>
40502         (log10l): On IRIX, normalize the +Infinity value.
40503         * modules/log10l (Depends-on): Add 'float'.
40504         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
40505         +Infinity.
40507         log10f-ieee: Work around test failure on NetBSD 5.1.
40508         * m4/log10f-ieee.m4: New file.
40509         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
40510         test whether log10f works with a negative argument. Replace it if not.
40511         * lib/log10f.c (log10f): For negative arguments, return NaN.
40512         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
40513         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
40514         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
40516         log10f-ieee: Work around test failure on Solaris 9.
40517         * modules/log10f-ieee (Depends-on): Add log10-ieee.
40518         (configure.ac): Require gl_FUNC_LOG10F.
40520         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40521         * m4/log10-ieee.m4: New file.
40522         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
40523         whether log10 works with a negative argument. Replace it if not.
40524         * lib/log10.c (log10): For negative arguments, return NaN.
40525         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
40526         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
40527         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
40529         Tests for module 'log10l-ieee'.
40530         * modules/log10l-ieee-tests: New file.
40531         * tests/test-log10l-ieee.c: New file.
40533         New module 'log10l-ieee'.
40534         * modules/log10l-ieee: New file.
40536         Tests for module 'log10-ieee'.
40537         * modules/log10-ieee-tests: New file.
40538         * tests/test-log10-ieee.c: New file.
40540         New module 'log10-ieee'.
40541         * modules/log10-ieee: New file.
40543         Tests for module 'log10f-ieee'.
40544         * modules/log10f-ieee-tests: New file.
40545         * tests/test-log10f-ieee.c: New file.
40546         * tests/test-log10-ieee.h: New file.
40548         New module 'log10f-ieee'.
40549         * modules/log10f-ieee: New file.
40551 2012-04-01  Bruno Haible  <bruno@clisp.org>
40553         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
40554         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
40555         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
40556         workaround.
40557         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
40558         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
40559         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
40560         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
40561         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
40562         (Depends-on): Update conditions.
40563         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
40564         IRIX 6.5, OSF/1 5.1 problems.
40566 2012-04-01  Bruno Haible  <bruno@clisp.org>
40568         log10f: Work around OSF/1 5.1 bug.
40569         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
40570         * lib/log10f.c (log10f): If logf exists, use it and provide just the
40571         workaround.
40572         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
40573         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
40574         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
40575         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
40576         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
40577         (Depends-on): Update conditions.
40578         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
40580 2012-04-01  Bruno Haible  <bruno@clisp.org>
40582         log10: Work around OSF/1 5.1 bug.
40583         * lib/math.in.h (log10): New declaration.
40584         * lib/log10.c: New file.
40585         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
40586         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
40587         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
40588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
40589         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
40590         * modules/log10 (Files): Add lib/log10.c.
40591         (Depends-on): Add math.
40592         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
40593         * tests/test-math-c++.cc: Check the declaration of log10.
40594         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
40596 2012-03-31  Bruno Haible  <bruno@clisp.org>
40598         log10l tests: More tests.
40599         * modules/log10l-tests (Files): Add tests/test-log10l.h,
40600         tests/minus-zero.h, tests/randoml.c.
40601         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
40602         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
40603         (main): Invoke test_function.
40605         log10f tests: More tests.
40606         * modules/log10f-tests (Files): Add tests/test-log10.h,
40607         tests/minus-zero.h, tests/randomf.c.
40608         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
40609         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
40610         (main): Invoke test_function.
40612         log10 tests: More tests.
40613         * tests/test-log10.h: New file.
40614         * modules/log10-tests (Files): Add tests/test-log10.h,
40615         tests/minus-zero.h, tests/randomd.c.
40616         (Makefile.am): Add randomd.c to test_log10_SOURCES.
40617         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
40618         (main): Invoke test_function.
40620 2012-03-31  Simon Josefsson  <simon@josefsson.org>
40622         fflush: Fix syntax error.
40623         * lib/fflush.c: Include unused-parameter.h, needed for
40624         _GL_UNUSED_PARAMETER.
40625         * modules/fflush (Depends-on): Add snippet/unused-parameter.
40627 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40629         regex: pacify GCC when compiling GRUB
40630         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
40631         a diagnostic.  Reported by Vladimir Serbinenko in
40632         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
40634 2012-03-29  Eric Blake  <eblake@redhat.com>
40636         stdio: don't assume gets any more
40637         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
40638         support.
40639         * modules/stdio (Makefile.am): Likewise.
40640         * lib/stdio-read.c (gets): Likewise.
40641         * tests/test-stdio-c++.cc: Likewise.
40642         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
40643         * lib/stdio.in.h (gets): Make warning occur in more places.
40644         * doc/posix-functions/gets.texi (gets): Update documentation.
40645         Reported by Christer Solskogen.
40647         maint.mk: fix syntax checks without exclusions
40648         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
40649         Reported by Daniel P. Berrange.
40651         strerror_r: avoid compiler warning
40652         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
40653         level.
40655         fflush: avoid compiler warning
40656         * lib/fflush.c (update_fpos_cache): Mark variables that are
40657         potentially unused.
40659 2012-03-25  Bruno Haible  <bruno@clisp.org>
40661         Tests for module 'localeconv'.
40662         * modules/localeconv-tests: New file.
40663         * tests/test-localeconv.c: New file.
40665         New module 'localeconv'.
40666         * lib/locale.in.h (localeconv): New declaration.
40667         * lib/localeconv.c: New file.
40668         * m4/localeconv.m4: New file.
40669         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
40670         REPLACE_LOCALECONV.
40671         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
40672         REPLACE_LOCALECONV.
40673         * modules/localeconv: New file.
40674         * modules/nl_langinfo (Depends-on): Add localeconv.
40675         * modules/human (Depends-on): Likewise.
40676         * doc/posix-functions/localeconv.texi: Mention the new module.
40678 2012-03-25  Bruno Haible  <bruno@clisp.org>
40680         locale: Provide a complete 'struct lconv'.
40681         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
40682         'struct lconv' does not contain int_p_cs_precedes.
40683         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
40684         * doc/posix-headers/locale.texi: Update.
40686         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
40687         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
40688         * doc/posix-headers/locale.texi: Update.
40690         locale: Provide a working 'struct lconv'.
40691         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
40692         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
40693         'struct lconv' does not even contain decimal_point.
40694         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
40695         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
40696         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
40697         * doc/posix-headers/locale.texi: Mention the problems with
40698         'struct lconv'.
40699         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
40701 2012-03-24  Bruno Haible  <bruno@clisp.org>
40703         Enable common subexpression optimization in GCC.
40704         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
40705         macros.
40706         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
40707         GCC attribute 'const'.
40708         (uc_locale_language): Declare with GCC attribute 'pure'.
40709         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
40710         with GCC attribute 'const'.
40711         * lib/unictype.in.h (uc_is_general_category_withtable,
40712         uc_combining_class, uc_combining_class_name,
40713         uc_combining_class_long_name, uc_bidi_class_name,
40714         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
40715         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
40716         uc_decimal_value, uc_digit_value, uc_numeric_value,
40717         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
40718         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
40719         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
40720         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
40721         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
40722         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
40723         Declare with GCC attribute 'const'.
40724         (uc_general_category_name, uc_general_category_long_name,
40725         uc_general_category_byname, uc_general_category,
40726         uc_is_general_category, uc_combining_class_byname,
40727         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
40728         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
40729         Declare with GCC attribute 'pure'.
40730         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
40731         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
40732         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
40733         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
40734         with GCC attribute 'pure'.
40735         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
40736         'const'.
40737         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
40738         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
40739         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
40740         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
40741         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
40742         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
40743         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
40744         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
40745         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
40746         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
40747         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
40748         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
40749         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
40750         GCC attribute 'pure'.
40751         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
40752         'const'.
40753         * lib/uniwidth.in.h (uc_width): Simplify declaration.
40754         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
40755         u32_strwidth): Declare with GCC attribute 'pure'.
40757         Enable common subexpression optimization in GCC.
40758         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40759         (alphasort): Declare with GCC attribute 'pure'.
40760         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40761         (atoll): Declare with GCC attribute 'pure'.
40762         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
40763         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
40764         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
40765         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40766         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
40767         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
40768         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
40770 2012-03-24  Bruno Haible  <bruno@clisp.org>
40772         gnulib-tool: Avoid unintended error output from 'cmp'.
40773         * gnulib-tool (func_add_file, func_update_file, func_import): Use
40774         "cmp -s", not "cmp > /dev/null".
40776 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
40778         gnulib-tool: fix imprecise comments w.r.t. an automake bug
40780         It's not just Automake versions < 1.9b that creates an empty
40781         pkgdatadir at installation time if pkgdata_DATA is specified
40782         to empty; modern automake versions do this as well, at least
40783         until automake 1.11.4 (not yet released at the moment of writing,
40784         but soon to appear).  That behaviour was generally considered a
40785         feature rather than a bug, at least until this discussion:
40786         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
40788         See also automake bugs #10997 and #11030.
40790         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
40791         reference to relevant automake bug numbers.
40792         (func_emit_tests_Makefile_am): Likewise.
40794 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40796         announce-gen: use Digest::SHA when possible
40797         * build-aux/announce-gen: Use Digest::SHA when possible, falling
40798         back to Digest::SHA1 if necessary.
40800 2012-03-20  Jim Meyering  <meyering@redhat.com>
40802         tests: avoid gcc warnings about argv vs. const initializers
40803         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
40804         warnings about discarding 'const' qualifier from pointer target type.
40805         * tests/test-posix_spawn2.c (main): Likewise.
40807 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40809         README-release: simplify slightly
40810         * top/README-release: Run "git checkout master" only once.
40812 2012-03-15  Mark Wielaard  <mark@klomp.org>
40814         git-merge-changelog: add specific example on how to use with hg.
40815         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
40817 2012-03-18  Mark Wielaard  <mark@klomp.org>
40819         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
40821 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
40823         git-version-gen: don't let "prefix" envvar cause trouble
40824         * build-aux/git-version-gen (prefix): Initialize properly,
40825         so as not to use a value specified via the environment.
40826         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
40828 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40830         regex: diagnose too-large repeat counts in EREs
40831         Previously, the code did not diagnose the too-large repeat count
40832         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
40833         as if it were 'b\{1000000000}', which is unexpected.
40834         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
40835         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
40836         is a reasonable one for this problem.  Another option would be to
40837         create a new REG_OVERFLOW error for repeat counts that are too large.
40838         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
40839         count is too large, so that the caller can distinguish the two cases.
40840         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
40841         "Too large" return code, and that repeat counts are one example of this.
40843 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40845         doc: some glibc x32 integer width issues
40846         * doc/posix-headers/sys_types.texi (sys/types.h):
40847         * doc/posix-headers/time.texi (time.h):
40848         Mention that glibc x32 does not conform to POSIX in a couple of
40849         areas related to integer widths.
40851 2012-03-15  Bruno Haible  <bruno@clisp.org>
40853         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
40854         * lib/fma.c (VOLATILE): New macro.
40855         (FUNC): Use it to work around a GCC compiler bug.
40857 2012-03-13  Bruno Haible  <bruno@clisp.org>
40859         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40860         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
40861         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
40862         REPLACE_HYPOTL to 1.
40863         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
40865 2012-03-13  Bruno Haible  <bruno@clisp.org>
40867         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40868         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
40869         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
40870         REPLACE_REMAINDERL to 1.
40871         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
40872         bug.
40874 2012-03-13  Bruno Haible  <bruno@clisp.org>
40876         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40877         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
40878         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
40879         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
40880         too big rounding errors.
40881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
40882         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
40883         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
40884         (Depends-on): Update conditions.
40885         * tests/test-sqrtl.c (my_ldexpl): New function.
40886         (main): Add test of a particular value.
40887         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40889 2012-03-13  Pádraig Brady  <P@draigBrady.com>
40891         doc: Update timer_* platform portability notes.
40892         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
40893         that always return ENOSYS.
40894         * doc/posix-functions/timer_delete.texi: Likewise.
40895         * doc/posix-functions/timer_gettime.texi: Likewise.
40896         * doc/posix-functions/timer_settime.texi: Likewise.
40898 2012-03-13  Bruno Haible  <bruno@clisp.org>
40900         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40901         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
40902         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
40903         REPLACE_CBRTL to 1.
40904         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40906 2012-03-13  Bruno Haible  <bruno@clisp.org>
40908         remainderl: Avoid compilation error on AIX >= 5.2.
40909         * lib/math.in.h (remainderl): Undefine macro from the system header.
40911 2012-03-13  Bruno Haible  <bruno@clisp.org>
40913         Avoid compilation errors with MSVC option -fp:strict.
40914         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
40915         * lib/cbrtf.c: Likewise.
40916         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
40918 2012-03-12  Bruno Haible  <bruno@clisp.org>
40920         uninorm: Don't crash in out-of-memory conditions.
40921         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
40922         gracefully.
40923         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
40924         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
40926 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
40928         quote: fix syntax-check
40929         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
40930         also exports quote_quoting_options.
40932 2012-03-12  Simon Josefsson  <simon@josefsson.org>
40934         Collapse list of copyright years to ranges.  See
40935         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
40936         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
40937         build-aux/csharpexec.sh.in, build-aux/gnupload,
40938         build-aux/install-reloc, build-aux/javacomp.sh.in,
40939         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
40940         build-aux/move-if-change, build-aux/reloc-ldflags,
40941         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
40943 2012-03-11  Bruno Haible  <bruno@clisp.org>
40945         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40946         * m4/log2f-ieee.m4: New file.
40947         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
40948         whether log2f works with a minus zero argument. Replace it if not.
40949         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
40950         (Depends-on): Add log2-ieee.
40951         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
40952         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
40954         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40955         * m4/log2-ieee.m4: New file.
40956         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
40957         whether log2 works with a minus zero argument. Replace it if not.
40958         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
40959         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
40960         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
40962         Tests for module 'log2l-ieee'.
40963         * modules/log2l-ieee-tests: New file.
40964         * tests/test-log2l-ieee.c: New file.
40966         New module 'log2l-ieee'.
40967         * modules/log2l-ieee: New file.
40969         Tests for module 'log2-ieee'.
40970         * modules/log2-ieee-tests: New file.
40971         * tests/test-log2-ieee.c: New file.
40973         New module 'log2-ieee'.
40974         * modules/log2-ieee: New file.
40976         Tests for module 'log2f-ieee'.
40977         * modules/log2f-ieee-tests: New file.
40978         * tests/test-log2f-ieee.c: New file.
40979         * tests/test-log2-ieee.h: New file.
40981         New module 'log2f-ieee'.
40982         * modules/log2f-ieee: New file.
40984 2012-03-11  Bruno Haible  <bruno@clisp.org>
40986         Tests for module 'log2l'.
40987         * modules/log2l-tests: New file.
40988         * tests/test-log2l.c: New file.
40990         New module 'log2l'.
40991         * lib/math.in.h (log2l): New declaration.
40992         * lib/log2l.c: New file.
40993         * m4/log2l.m4: New file.
40994         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
40995         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
40996         REPLACE_LOG2L.
40997         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
40998         REPLACE_LOG2L.
40999         * modules/log2l: New file.
41000         * tests/test-math-c++.cc: Check the declaration of log2l.
41001         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
41002         and OSF/1 problems.
41004 2012-03-11  Bruno Haible  <bruno@clisp.org>
41006         Tests for module 'log2f'.
41007         * modules/log2f-tests: New file.
41008         * tests/test-log2f.c: New file.
41010         New module 'log2f'.
41011         * lib/math.in.h (log2f): New declaration.
41012         * lib/log2f.c: New file.
41013         * m4/log2f.m4: New file.
41014         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
41015         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
41016         REPLACE_LOG2F.
41017         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
41018         REPLACE_LOG2F.
41019         * modules/log2f: New file.
41020         * tests/test-math-c++.cc: Check the declaration of log2f.
41021         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
41022         and OSF/1 and Cygwin problems.
41024 2012-03-11  Bruno Haible  <bruno@clisp.org>
41026         Tests for module 'log2'.
41027         * modules/log2-tests: New file.
41028         * tests/test-log2.c: New file.
41029         * tests/test-log2.h: New file.
41031         New module 'log2'.
41032         * lib/math.in.h (log2): New declaration.
41033         * lib/log2.c: New file.
41034         * m4/log2.m4: New file.
41035         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
41036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
41037         REPLACE_LOG2.
41038         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
41039         REPLACE_LOG2.
41040         * modules/log2: New file.
41041         * tests/test-math-c++.cc: Check the declaration of log2.
41042         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
41043         and OSF/1 and Cygwin problems.
41045 2012-03-11  Bruno Haible  <bruno@clisp.org>
41047         exp2* tests: More tests.
41048         * tests/test-exp2.h (test_function): Test all integral arguments that
41049         don't need to overflow or denormalized numbers.
41050         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
41051         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
41052         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
41054 2012-03-10  Bruno Haible  <bruno@clisp.org>
41056         log1pl-ieee: Work around test failure on AIX 7.1.
41057         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
41059         log1pl-ieee: Work around test failure on IRIX 6.5.
41060         * m4/log1pl-ieee.m4: New file.
41061         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
41062         test whether log1pl works with a minus zero argument. Replace it if
41063         not.
41064         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
41065         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
41066         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
41067         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
41068         (Depends-on): Update conditions.
41069         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41070         m4/signbit.m4.
41071         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
41072         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
41074         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
41075         * m4/log1pf-ieee.m4: New file.
41076         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
41077         test whether log1pf works with a minus zero argument. Replace it if
41078         not.
41079         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
41080         m4/signbit.m4.
41081         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
41082         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
41084         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
41085         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
41086         (configure.ac): Require gl_FUNC_LOG1PF.
41088         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
41089         * m4/log1p-ieee.m4: New file.
41090         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
41091         whether log1p works with a minus zero argument. Replace it if not.
41092         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
41093         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
41094         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
41095         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
41096         (Depends-on): Update conditions.
41097         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
41098         m4/signbit.m4.
41099         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
41100         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
41102         Tests for module 'log1pl-ieee'.
41103         * modules/log1pl-ieee-tests: New file.
41104         * tests/test-log1pl-ieee.c: New file.
41106         New module 'log1pl-ieee'.
41107         * modules/log1pl-ieee: New file.
41109         Tests for module 'log1p-ieee'.
41110         * modules/log1p-ieee-tests: New file.
41111         * tests/test-log1p-ieee.c: New file.
41113         New module 'log1p-ieee'.
41114         * modules/log1p-ieee: New file.
41116         Tests for module 'log1pf-ieee'.
41117         * modules/log1pf-ieee-tests: New file.
41118         * tests/test-log1pf-ieee.c: New file.
41119         * tests/test-log1p-ieee.h: New file.
41121         New module 'log1pf-ieee'.
41122         * modules/log1pf-ieee: New file.
41124 2012-03-10  Bruno Haible  <bruno@clisp.org>
41126         Tests for module 'log1pl'.
41127         * modules/log1pl-tests: New file.
41128         * tests/test-log1pl.c: New file.
41130         New module 'log1pl'.
41131         * lib/math.in.h (log1pl): New declaration.
41132         * lib/log1pl.c: New file.
41133         * m4/log1pl.m4: New file.
41134         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
41135         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
41136         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
41137         * modules/log1pl: New file.
41138         * tests/test-math-c++.cc: Check the declaration of log1pl.
41139         * doc/posix-functions/log1pl.texi: Mention the new module.
41141 2012-03-10  Bruno Haible  <bruno@clisp.org>
41143         Tests for module 'log1pf'.
41144         * modules/log1pf-tests: New file.
41145         * tests/test-log1pf.c: New file.
41147         New module 'log1pf'.
41148         * lib/math.in.h (log1pf): New declaration.
41149         * lib/log1pf.c: New file.
41150         * m4/log1pf.m4: New file.
41151         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
41152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
41153         REPLACE_LOG1PF.
41154         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
41155         REPLACE_LOG1PF.
41156         * modules/log1pf: New file.
41157         * tests/test-math-c++.cc: Check the declaration of log1pf.
41158         * doc/posix-functions/log1pf.texi: Mention the new module.
41160 2012-03-10  Bruno Haible  <bruno@clisp.org>
41162         log1p tests: More tests.
41163         * tests/test-log1p.h: New file.
41164         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
41165         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
41166         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
41167         (main): Invoke test_function.
41169         log1p: Provide replacement for Minix and MSVC.
41170         * lib/math.in.h (log1p): New declaration.
41171         * lib/log1p.c: New file.
41172         * m4/log1p.m4: New file.
41173         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
41174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
41175         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
41176         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
41177         (Depends-on): Add math, isnand, log, round.
41178         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
41179         HAVE_LOG1P is 0.
41180         * tests/test-math-c++.cc: Check the declaration of log1p.
41181         * doc/posix-functions/log1p.texi: Mention the replacement.
41183 2012-03-10  Bruno Haible  <bruno@clisp.org>
41185         math tests: Small simplification.
41186         * tests/test-exp.h (test_function): Use the same err_bound for
41187         'double' on platforms with sizeof (long double) == sizeof (double)
41188         than on platforms with sizeof (long double) > sizeof (double).
41189         * tests/test-exp2.h (test_function): Likewise.
41190         * tests/test-expm1.h (test_function): Likewise.
41191         * tests/test-log.h (test_function): Likewise.
41193 2012-03-10  Bruno Haible  <bruno@clisp.org>
41195         Fix some comments.
41196         * lib/expl.c: Fix an ambiguous comment.
41197         * lib/expm1.c: Likewise.
41198         * lib/expm1l.c: Likewise.
41199         * lib/exp2.c: Likewise.
41200         * lib/exp2l.c: Likewise.
41202 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
41204         regex: allow inclusion of <regex.h> before <limits.h>
41205         Without this patch, portable programs had to include <limits.h> before
41206         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
41207         I ran into this problem with a test version of GNU grep on Solaris 8.
41208         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
41209         This is done conditionally so that this change can be merged
41210         back to glibc.
41211         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
41212         using the included regex.
41214         fts: depend on fdopendir
41215         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
41216         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
41217         problem was introduced when fdopendir was split out.
41219 2012-03-10  Bruno Haible  <bruno@clisp.org>
41221         Remove unused variables.
41222         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
41223         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41225 2012-03-10  Bruno Haible  <bruno@clisp.org>
41227         isnanf-nolibm: Fix last commit.
41228         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
41230         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
41231         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
41233 2012-03-10  Bruno Haible  <bruno@clisp.org>
41235         logf-ieee: Work around test failure on NetBSD 5.1.
41236         * m4/logf-ieee.m4: New file.
41237         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
41238         whether logf works with a negative argument. Replace it if not.
41239         * lib/logf.c (logf): For negative arguments, return NaN.
41240         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
41241         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
41242         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
41244         logf-ieee: Work around test failure on Solaris 9.
41245         * modules/logf-ieee (Depends-on): Add log-ieee.
41246         (configure.ac): Require gl_FUNC_LOGF.
41248         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
41249         * m4/log-ieee.m4: New file.
41250         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
41251         log works with a negative argument. Replace it if not.
41252         * lib/log.c (log): For negative arguments, return NaN.
41253         * modules/log-ieee (Files): Add m4/log-ieee.m4.
41254         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
41255         * doc/posix-functions/log.texi: Mention the log-ieee module.
41257         Tests for module 'logl-ieee'.
41258         * modules/logl-ieee-tests: New file.
41259         * tests/test-logl-ieee.c: New file.
41261         New module 'logl-ieee'.
41262         * modules/logl-ieee: New file.
41264         Tests for module 'log-ieee'.
41265         * modules/log-ieee-tests: New file.
41266         * tests/test-log-ieee.c: New file.
41268         New module 'log-ieee'.
41269         * modules/log-ieee: New file.
41271         Tests for module 'logf-ieee'.
41272         * modules/logf-ieee-tests: New file.
41273         * tests/test-logf-ieee.c: New file.
41274         * tests/test-log-ieee.h: New file.
41276         New module 'logf-ieee'.
41277         * modules/logf-ieee: New file.
41279 2012-03-10  Bruno Haible  <bruno@clisp.org>
41281         log: Fix bug introduced on 2012-03-09.
41282         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
41284 2012-03-10  Pádraig Brady  <P@draigBrady.com>
41286         timer-time: link explicitly with pthreads on glibc
41287         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
41288         to support static linking, when newer glibc is
41289         detected, as that contains pthread emulation of
41290         POSIX timer functions where required.
41291         * modules/timer-time: Depend on threadlib to
41292         pull in the appropriate library to link.
41294 2012-03-10  Bruno Haible  <bruno@clisp.org>
41296         log* tests: More tests.
41297         * tests/test-log.h: New file.
41298         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
41299         (main): Invoke test_function.
41300         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
41301         (main): Invoke test_function.
41302         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
41303         (main): Invoke test_function.
41304         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41305         tests/randomd.c.
41306         (Makefile.am): Add randomd.c to test_log_SOURCES.
41307         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41308         tests/randomf.c.
41309         (Makefile.am): Add randomf.c to test_logf_SOURCES.
41310         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41311         tests/randoml.c.
41312         (Depends-on): Add 'float'.
41313         (Makefile.am): Add randoml.c to test_logl_SOURCES.
41315 2012-03-09  Bruno Haible  <bruno@clisp.org>
41317         logl: Work around OSF/1 5.1 bug.
41318         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
41319         * lib/logl.c (logl): If logl exists, use it and provide just the
41320         workaround.
41321         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
41322         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
41323         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
41324         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
41325         * modules/logl (configure.ac): Consider REPLACE_LOGL.
41326         (Depends-on): Update conditions.
41327         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
41329 2012-03-09  Bruno Haible  <bruno@clisp.org>
41331         logf: Work around OSF/1 5.1 bug.
41332         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
41333         * lib/logf.c (logf): If logf exists, use it and provide just the
41334         workaround.
41335         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
41336         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
41337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
41338         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
41339         * modules/logf (configure.ac): Consider REPLACE_LOGF.
41340         (Depends-on): Update conditions.
41341         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
41343 2012-03-09  Bruno Haible  <bruno@clisp.org>
41345         log: Work around OSF/1 5.1 bug.
41346         * lib/math.in.h (log): New declaration.
41347         * lib/log.c: New file.
41348         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
41349         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
41350         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
41351         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
41352         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
41353         * modules/log (Files): Add lib/log.c.
41354         (Depends-on): Add math.
41355         (configure.ac): If REPLACE_LOG is 1, compile an override.
41356         * tests/test-math-c++.cc: Check the declaration of log.
41357         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
41359 2012-03-09  Jim Meyering  <meyering@redhat.com>
41361         readtokens.c: adjust wording in a comment
41362         * lib/readtokens.c: Insert omitted "that" in a comment.
41364 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41366         modechange: add notations +40, 00440, etc.
41367         * lib/modechange.c (mode_compile): Support new notations
41368         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
41370 2012-03-08  Bruno Haible  <bruno@clisp.org>
41372         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
41373         * m4/exp2l-ieee.m4: New file.
41374         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
41375         test whether exp2l works with a NaN argument and with a negative
41376         infinity argument. Replace it if not.
41377         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
41378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
41379         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
41380         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
41381         (Depends-on): Update conditions.
41382         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41383         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
41384         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
41386         Tests for module 'exp2l-ieee'.
41387         * modules/exp2l-ieee-tests: New file.
41388         * tests/test-exp2l-ieee.c: New file.
41390         New module 'exp2l-ieee'.
41391         * modules/exp2l-ieee: New file.
41393         Tests for module 'exp2-ieee'.
41394         * modules/exp2-ieee-tests: New file.
41395         * tests/test-exp2-ieee.c: New file.
41397         New module 'exp2-ieee'.
41398         * modules/exp2-ieee: New file.
41400         Tests for module 'exp2f-ieee'.
41401         * modules/exp2f-ieee-tests: New file.
41402         * tests/test-exp2f-ieee.c: New file.
41403         * tests/test-exp2-ieee.h: New file.
41405         New module 'exp2f-ieee'.
41406         * modules/exp2f-ieee: New file.
41408 2012-03-08  Bruno Haible  <bruno@clisp.org>
41410         Tests for module 'exp2l'.
41411         * modules/exp2l-tests: New file.
41412         * tests/test-exp2l.c: New file.
41414         New module 'exp2l'.
41415         * lib/math.in.h (exp2l): New declaration.
41416         * lib/exp2l.c: New file.
41417         * lib/expl-table.c: New file, extracted from lib/expl.c.
41418         * lib/expl.c (gl_expl_table): New declaration.
41419         (expl): Remove expl_table. Update reference.
41420         * m4/exp2l.m4: New file.
41421         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
41422         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
41423         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
41424         * modules/exp2l: New file.
41425         * modules/expl (Files): Add lib/expl-table.c.
41426         (configure.ac): Compile also expl-table.c.
41427         * tests/test-math-c++.cc: Check the declaration of exp2l.
41428         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
41429         problem.
41431 2012-03-08  Bruno Haible  <bruno@clisp.org>
41433         Tests for module 'exp2f'.
41434         * modules/exp2f-tests: New file.
41435         * tests/test-exp2f.c: New file.
41437         New module 'exp2f'.
41438         * lib/math.in.h (exp2f): New declaration.
41439         * lib/exp2f.c: New file.
41440         * m4/exp2f.m4: New file.
41441         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
41442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
41443         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
41444         * modules/exp2f: New file.
41445         * tests/test-math-c++.cc: Check the declaration of exp2f.
41446         * doc/posix-functions/exp2f.texi: Mention the new module and the
41447         IRIX problem.
41449 2012-03-08  Bruno Haible  <bruno@clisp.org>
41451         Tests for module 'exp2'.
41452         * modules/exp2-tests: New file.
41453         * tests/test-exp2.c: New file.
41454         * tests/test-exp2.h: New file.
41456         New module 'exp2'.
41457         * lib/math.in.h (exp2): New declaration.
41458         * lib/exp2.c: New file.
41459         * m4/exp2.m4: New file.
41460         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
41461         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
41462         REPLACE_EXP2.
41463         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
41464         REPLACE_EXP2.
41465         * modules/exp2: New file.
41466         * tests/test-math-c++.cc: Check the declaration of exp2.
41467         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
41468         and OpenBSD problems.
41470 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41472         savedir: fix comment typo
41473         * lib/savedir.c (savedirstream): Fix typo in comment.
41475 2012-03-08  Bruno Haible  <bruno@clisp.org>
41477         test-readtokens.c: use const; remove unwarranted cast
41478         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
41480 2012-03-08  Bruno Haible  <bruno@clisp.org>
41482         fmal: Avoid compilation error on AIX.
41483         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
41484         AIX 5.2..7.1.
41486 2012-03-08  Bruno Haible  <bruno@clisp.org>
41488         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
41489         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
41490         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
41491         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
41492         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
41493         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
41494         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
41496 2012-03-08  Bruno Haible  <bruno@clisp.org>
41498         remainderf: Override buggy system function on IRIX 6.5.
41499         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
41500         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
41501         when it exists.
41502         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
41504 2012-03-08  Jim Meyering  <meyering@redhat.com>
41506         test-readtokens.c: avoid const-related compilation warnings
41507         * tests/test-readtokens.c: Avoid const-related compilation warnings.
41509 2012-03-07  Jim Meyering  <meyering@redhat.com>
41510             Bruno Haible  <bruno@clisp.org>
41512         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
41513         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
41514         tests/randomd.c.
41515         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
41516         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
41517         tests/randoml.c.
41518         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
41520 2012-03-07  Bruno Haible  <bruno@clisp.org>
41522         expm1l: Avoid compilation error on AIX.
41523         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
41524         AIX 5.2..7.1.
41526 2012-03-07  Bruno Haible  <bruno@clisp.org>
41528         expm1l: Don't override undeclared system function on IRIX 6.5.
41529         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
41530         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
41531         it exists. Set HAVE_DECL_EXPM1L.
41532         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
41533         HAVE_EXPM1L.
41534         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
41535         HAVE_EXPM1L.
41536         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
41538 2012-03-07  Bruno Haible  <bruno@clisp.org>
41540         remainderl: Don't override undeclared system function on IRIX 6.5.
41541         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
41542         HAVE_REMAINDERL.
41543         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
41544         declared when it exists. Set HAVE_DECL_REMAINDERL.
41545         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
41546         not HAVE_REMAINDERL.
41547         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
41548         HAVE_REMAINDERL.
41549         * doc/posix-functions/remainderl.texi: Mention missing declaration
41550         problem.
41552 2012-03-07  Bruno Haible  <bruno@clisp.org>
41554         rintf: Don't override undeclared system function on IRIX 6.5.
41555         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
41556         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
41557         exists. Set HAVE_DECL_RINTF.
41558         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
41559         HAVE_RINTF.
41560         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
41561         HAVE_RINTF.
41562         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
41564 2012-03-07  Bruno Haible  <bruno@clisp.org>
41566         roundl: Avoid compilation error on AIX.
41567         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
41568         AIX 5.2..7.1.
41570 2012-03-07  Bruno Haible  <bruno@clisp.org>
41572         roundl: Don't override undeclared system function on IRIX 6.5.
41573         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
41574         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
41575         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41576         * modules/roundl (configure.ac): For replacement code, test
41577         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41578         (Depends-on): Update conditions.
41579         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
41581 2012-03-07  Bruno Haible  <bruno@clisp.org>
41583         roundf: Don't override undeclared system function on IRIX 6.5.
41584         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
41585         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
41586         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41587         * modules/roundf (configure.ac): For replacement code, test
41588         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41589         (Depends-on): Update conditions.
41590         * modules/roundf-ieee (Depends-on): Update conditions.
41591         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
41593 2012-03-07  Bruno Haible  <bruno@clisp.org>
41595         round: Don't override undeclared system function on IRIX 6.5.
41596         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
41597         argument.
41598         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
41599         also when it is not declared. Set HAVE_ROUND. For replacement code,
41600         test HAVE_ROUND, not HAVE_DECL_ROUND.
41601         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
41602         not HAVE_DECL_ROUND.
41603         (Depends-on): Update conditions.
41604         * modules/round-ieee (Depends-on): Update conditions.
41605         * doc/posix-functions/round.texi: Mention the IRIX problem.
41607 2012-03-07  Bruno Haible  <bruno@clisp.org>
41609         copysignf: Don't override undeclared system function on IRIX 6.5.
41610         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
41611         HAVE_COPYSIGNF.
41612         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
41613         declared when it exists. Set HAVE_DECL_COPYSIGNF.
41614         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
41615         not HAVE_COPYSIGNF.
41616         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
41617         HAVE_COPYSIGNF.
41618         * doc/posix-functions/copysignf.texi: Mention missing declaration
41619         problem.
41621 2012-03-07  Jim Meyering  <meyering@redhat.com>
41623         readtokens: add tests
41624         * modules/readtokens-tests: New file.
41625         * tests/test-readtokens.c: New file.
41627 2012-03-07  Jim Meyering  <meyering@redhat.com>
41629         quotearg: the module must now include quote.h
41630         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
41631         So must the module.
41632         * modules/quotearg (Files): Add quote.h.
41634 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
41636         readtokens: avoid core dumps with unusual calling patterns
41637         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
41638         * lib/readtokens.c: Include limits.h.
41639         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
41640         (readtoken): Don't cache the delimiters; the cache code was buggy
41641         if !delim && saved_delim, or if the new n_delim differs from the old.
41642         Also, it wasn't thread-safe.
41644 2012-03-07  Bruno Haible  <bruno@clisp.org>
41646         quote: Adhere to common module description layout.
41647         * modules/quote (Makefile.am): Add back empty section.
41649 2012-03-06  Akim Demaille  <demaille@gostai.com>
41651         quote: fuse into quotearg
41652         This patch is made for the benefit of Bison.
41653         quote does not leave the choice of the quoting style to the user.
41654         quoting_style provides poor customizability, yet quoting_options,
41655         which is very rich, is hidden inside quotearg.c.  So in order to
41656         allow quote customization, move its implementation to quotearg.c.
41657         * lib/quote.c: Remove.
41658         * modules/quote: Adjust.
41659         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
41660         warning: provide all the members of literal structs.
41661         (quote_quoting_options): New.
41662         (quote, quote_n): Import implementation from quote.c.
41663         * lib/quote.h: Import the comments from quote.c.
41664         (quote_quoting_options): New.
41666 2012-03-06  Bruno Haible  <bruno@clisp.org>
41668         Tests for module 'expm1l-ieee'.
41669         * modules/expm1l-ieee-tests: New file.
41670         * tests/test-expm1l-ieee.c: New file.
41672         New module 'expm1l-ieee'.
41673         * modules/expm1l-ieee: New file.
41675         Tests for module 'expm1f-ieee'.
41676         * modules/expm1f-ieee-tests: New file.
41677         * tests/test-expm1f-ieee.c: New file.
41679         New module 'expm1f-ieee'.
41680         * modules/expm1f-ieee: New file.
41682         Tests for module 'expm1-ieee'.
41683         * modules/expm1-ieee-tests: New file.
41684         * tests/test-expm1-ieee.c: New file.
41685         * tests/test-expm1-ieee.h: New file.
41687         New module 'expm1-ieee'.
41688         * modules/expm1-ieee: New file.
41689         * m4/expm1-ieee.m4: New file.
41690         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
41691         whether expm1 works with a minus zero argument. Replace it if not.
41692         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
41693         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
41694         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
41695         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
41696         (Depends-on): Update conditions.
41697         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
41698         AIX problem.
41700 2012-03-06  Bruno Haible  <bruno@clisp.org>
41702         Work around expm1f bug on IRIX 6.5.
41703         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
41704         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
41705         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
41706         not work.
41707         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
41708         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
41709         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
41710         (Depends-on): Update conditions.
41711         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
41713 2012-03-06  Bruno Haible  <bruno@clisp.org>
41715         Tests for module 'expm1l'.
41716         * modules/expm1l-tests: New file.
41717         * tests/test-expm1l.c: New file.
41719         New module 'expm1l'.
41720         * lib/math.in.h (expm1l): New declaration.
41721         * lib/expm1l.c: New file.
41722         * m4/expm1l.m4: New file.
41723         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
41724         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
41725         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
41726         * modules/expm1l: New file.
41727         * tests/test-math-c++.cc: Check the declaration of expm1l.
41728         * doc/posix-functions/expm1l.texi: Mention the new module.
41730 2012-03-06  Bruno Haible  <bruno@clisp.org>
41732         Tests for module 'expm1f'.
41733         * modules/expm1f-tests: New file.
41734         * tests/test-expm1f.c: New file.
41736         New module 'expm1f'.
41737         * lib/math.in.h (expm1f): New declaration.
41738         * lib/expm1f.c: New file.
41739         * m4/expm1f.m4: New file.
41740         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
41741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
41742         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
41743         * modules/expm1f: New file.
41744         * tests/test-math-c++.cc: Check the declaration of expm1f.
41745         * doc/posix-functions/expm1f.texi: Mention the new module.
41747 2012-03-06  Bruno Haible  <bruno@clisp.org>
41749         Tests for module 'expm1'.
41750         * modules/expm1-tests: New file.
41751         * tests/test-expm1.c: New file.
41752         * tests/test-expm1.h: New file.
41754         New module 'expm1'.
41755         * lib/math.in.h (expm1): New declaration.
41756         * lib/expm1.c: New file.
41757         * m4/expm1.m4: New file.
41758         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
41759         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
41760         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
41761         * modules/expm1: New file.
41762         * tests/test-math-c++.cc: Check the declaration of expm1.
41763         * doc/posix-functions/expm1.texi: Mention the new module.
41765 2012-03-06  Bruno Haible  <bruno@clisp.org>
41767         math: Ensure declarations of math functions.
41768         * modules/acosf (Depends-on): Add 'extensions'.
41769         * modules/asinf (Depends-on): Likewise.
41770         * modules/atan2f (Depends-on): Likewise.
41771         * modules/atanf (Depends-on): Likewise.
41772         * modules/cbrt (Depends-on): Likewise.
41773         * modules/cbrtf (Depends-on): Likewise.
41774         * modules/cbrtl (Depends-on): Likewise.
41775         * modules/copysignf (Depends-on): Likewise.
41776         * modules/copysignl (Depends-on): Likewise.
41777         * modules/cosf (Depends-on): Likewise.
41778         * modules/coshf (Depends-on): Likewise.
41779         * modules/expf (Depends-on): Likewise.
41780         * modules/fabsf (Depends-on): Likewise.
41781         * modules/fabsl (Depends-on): Likewise.
41782         * modules/fmaf (Depends-on): Likewise.
41783         * modules/fmal (Depends-on): Likewise.
41784         * modules/fmodf (Depends-on): Likewise.
41785         * modules/fmodl (Depends-on): Likewise.
41786         * modules/frexpf (Depends-on): Likewise.
41787         * modules/frexpl (Depends-on): Likewise.
41788         * modules/hypot (Depends-on): Likewise.
41789         * modules/hypotf (Depends-on): Likewise.
41790         * modules/hypotl (Depends-on): Likewise.
41791         * modules/ldexpf (Depends-on): Likewise.
41792         * modules/ldexpl (Depends-on): Likewise.
41793         * modules/log10f (Depends-on): Likewise.
41794         * modules/log10l (Depends-on): Likewise.
41795         * modules/log1p (Depends-on): Likewise.
41796         * modules/logb (Depends-on): Likewise.
41797         * modules/logf (Depends-on): Likewise.
41798         * modules/modff (Depends-on): Likewise.
41799         * modules/modfl (Depends-on): Likewise.
41800         * modules/powf (Depends-on): Likewise.
41801         * modules/remainderf (Depends-on): Likewise.
41802         * modules/remainderl (Depends-on): Likewise.
41803         * modules/rintf (Depends-on): Likewise.
41804         * modules/rintl (Depends-on): Likewise.
41805         * modules/sinf (Depends-on): Likewise.
41806         * modules/sinhf (Depends-on): Likewise.
41807         * modules/sqrtf (Depends-on): Likewise.
41808         * modules/tanf (Depends-on): Likewise.
41809         * modules/tanhf (Depends-on): Likewise.
41810         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
41811         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
41812         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
41813         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
41814         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
41815         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
41816         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
41817         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
41818         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
41819         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
41820         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
41821         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
41822         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
41823         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
41824         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
41825         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
41826         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
41827         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41828         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
41829         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
41830         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
41831         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
41832         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
41833         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
41834         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
41835         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
41836         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
41837         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
41838         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
41839         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
41840         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41841         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
41842         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41843         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41844         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
41845         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
41846         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
41847         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
41848         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
41849         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
41850         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
41852 2012-03-06  Bruno Haible  <bruno@clisp.org>
41854         math: Update module names in warnings.
41855         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
41856         tanl): Use specific module name in warn-on-use warning.
41858 2012-03-06  Bruno Haible  <bruno@clisp.org>
41860         expl: Simplify computation.
41861         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
41863 2012-03-05  Bruno Haible  <bruno@clisp.org>
41865         exp* tests: More tests.
41866         * tests/test-exp.h: New file.
41867         * tests/test-exp.c: Include <float.h> and test-exp.h.
41868         (main): Invoke test_function.
41869         * tests/test-expf.c: Include <float.h> and test-exp.h.
41870         (main): Invoke test_function.
41871         * tests/test-expl.c: Include <float.h> and test-exp.h.
41872         (main): Invoke test_function.
41873         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
41874         (Makefile.am): Add randomd.c to test_exp_SOURCES.
41875         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
41876         (Makefile.am): Add randomf.c to test_expf_SOURCES.
41877         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
41878         (Depends-on): Add 'float'.
41879         (Makefile.am): Add randoml.c to test_expl_SOURCES.
41881         expl: Fix precision of computed result.
41882         * lib/expl.c: Completely rewritten.
41883         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
41884         (Maintainer): Add me.
41885         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
41887 2012-03-05  Bruno Haible  <bruno@clisp.org>
41889         cbrt* tests: More tests.
41890         * tests/test-cbrt.h: New file.
41891         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
41892         (main): Invoke test_function.
41893         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
41894         (main): Invoke test_function.
41895         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
41896         (main): Invoke test_function.
41897         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
41898         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
41899         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
41900         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
41901         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
41902         (Depends-on): Add 'float'.
41903         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
41905 2012-03-05  Bruno Haible  <bruno@clisp.org>
41907         hypot* tests: More tests.
41908         * tests/test-hypot.h: New file, partially extracted from
41909         tests/test-hypotl.c.
41910         * tests/test-hypot.c: Include test-hypot.h.
41911         (main): Invoke test_function.
41912         * tests/test-hypotf.c: Include test-hypot.h.
41913         (main): Invoke test_function.
41914         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
41915         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
41916         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
41917         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
41918         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
41919         tests/randomf.c.
41920         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
41921         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
41922         tests/randoml.c.
41923         (Depends-on): Add 'fpucw', 'float'.
41924         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
41926 2012-03-05  Bruno Haible  <bruno@clisp.org>
41928         fpucw: Doc about FreeBSD.
41929         * lib/fpucw.h: Mention FreeBSD in comments.
41931 2012-03-04  Bruno Haible  <bruno@clisp.org>
41933         sqrt* tests: More tests.
41934         * tests/test-sqrt.h: New file.
41935         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
41936         (main): Invoke test_function.
41937         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
41938         (main): Invoke test_function.
41939         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
41940         (main): Invoke test_function.
41941         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
41942         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
41943         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
41944         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
41945         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
41946         (Depends-on): Add 'float'.
41947         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
41949 2012-03-04  Bruno Haible  <bruno@clisp.org>
41951         remainder* tests: More tests.
41952         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
41953         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
41954         (main): Invoke test_function.
41955         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
41956         (main): Invoke test_function.
41957         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
41958         (main): Invoke test_function.
41959         * modules/remainder-tests (Files): Add tests/test-remainder.h,
41960         tests/randomd.c.
41961         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
41962         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
41963         tests/randomf.c.
41964         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
41965         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
41966         tests/randoml.c.
41967         (Depends-on): Add 'float'.
41968         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
41970 2012-03-04  Bruno Haible  <bruno@clisp.org>
41972         remainder, remainderf, remainderl: Fix computation for large quotients.
41973         * lib/remainder.c: Completely rewritten.
41974         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
41975         USE_FLOAT.
41976         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
41977         USE_LONG_DOUBLE.
41978         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
41979         isnand, isinf. Remove round, fma.
41980         * modules/remainderf (Files): Add lib/remainder.c.
41981         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
41982         Remove roundf, fmaf.
41983         * modules/remainderl (Files): Add lib/remainder.c.
41984         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
41985         isinf. Remove roundl, fmal.
41986         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
41987         REMAINDER_LIBM.
41988         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
41989         REMAINDERF_LIBM.
41990         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
41991         REMAINDERL_LIBM.
41993 2012-03-04  Bruno Haible  <bruno@clisp.org>
41995         fmod* tests: More tests.
41996         * tests/test-fmod.h (my_ldexp): New function.
41997         (test_function): Reduce amount of random numbers to test. Add tests
41998         of very large quotients x / y.
41999         * tests/test-fmod.c (MAX_EXP): New macro.
42000         * tests/test-fmodf.c (MAX_EXP): Likewise.
42001         * tests/test-fmodl.c (MAX_EXP): Likewise.
42003 2012-03-04  Bruno Haible  <bruno@clisp.org>
42005         fmod, fmodl: Fix computation for large quotients x / y.
42006         * lib/fmod.c: Completely rewritten.
42007         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
42008         USE_LONG_DOUBLE.
42009         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
42010         isnand. Remove fma.
42011         * modules/fmodl (Files): Add lib/fmod.c.
42012         (Depends-on): Add float, isfinite, signbit, fabsl,
42013         frexpl, ldexpl, isnanl. Remove fma.
42014         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
42015         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
42017 2012-03-03  Bruno Haible  <bruno@clisp.org>
42019         fmod* tests: More tests.
42020         * tests/test-fmod.h: New file.
42021         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
42022         (main): Invoke test_function.
42023         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
42024         (main): Invoke test_function.
42025         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
42026         (main): Invoke test_function.
42027         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
42028         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
42029         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
42030         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
42031         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
42032         (Depends-on): Add 'float'.
42033         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
42035 2012-03-03  Bruno Haible  <bruno@clisp.org>
42037         rint* tests: More tests.
42038         * tests/test-rint.h: New file, partially extracted from
42039         tests/test-rintl.c.
42040         * tests/test-rint.c: Include test-rint.h.
42041         (main): Invoke test_function.
42042         * tests/test-rintf.c: Include test-rint.h.
42043         (main): Invoke test_function.
42044         * tests/test-rintl.c: Include test-rint.h.
42045         (main): Invoke test_function.
42046         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
42047         (Makefile.am): Add randomd.c to test_rint_SOURCES.
42048         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
42049         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
42050         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
42051         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
42053 2012-03-03  Bruno Haible  <bruno@clisp.org>
42055         modf* tests: More tests.
42056         * tests/test-modf.h: New file.
42057         * tests/test-modf.c: Include <float.h> and test-modf.h.
42058         (main): Invoke test_function.
42059         * tests/test-modff.c: Include <float.h> and test-modf.h.
42060         (main): Invoke test_function.
42061         * tests/test-modfl.c: Include <float.h> and test-modf.h.
42062         (main): Invoke test_function.
42063         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
42064         (Makefile.am): Add randomd.c to test_modf_SOURCES.
42065         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
42066         (Makefile.am): Add randomf.c to test_modff_SOURCES.
42067         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
42068         (Depends-on): Add 'float'.
42069         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
42071 2012-03-03  Bruno Haible  <bruno@clisp.org>
42073         fabs* tests: More tests.
42074         * tests/test-fabs.h: New file, partially extracted from
42075         tests/test-fabsl.c.
42076         * tests/test-fabs.c (RANDOM): New macro.
42077         * tests/test-fabsf.c (RANDOM): New macro.
42078         * tests/test-fabsl.c (RANDOM): New macro.
42079         * modules/fabs-tests (Files): Add tests/randomd.c.
42080         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
42081         * modules/fabsf-tests (Files): Add tests/randomf.c.
42082         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
42083         * modules/fabsl-tests (Files): Add tests/randoml.c.
42084         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
42086 2012-03-03  Bruno Haible  <bruno@clisp.org>
42088         ldexp* tests: More tests.
42089         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
42090         * tests/test-ldexp.c (RANDOM): New macro.
42091         * tests/test-ldexpf.c (RANDOM): New macro.
42092         * tests/test-ldexpl.c (RANDOM): New macro.
42093         * modules/ldexp-tests (Files): Add tests/randomd.c.
42094         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
42095         * modules/ldexpf-tests (Files): Add tests/randomf.c.
42096         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
42097         * modules/ldexpl-tests (Files): Add tests/randoml.c.
42098         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
42100 2012-03-03  Bruno Haible  <bruno@clisp.org>
42102         frexp* tests: More tests.
42103         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
42104         * tests/test-frexp.c (RANDOM): New macro.
42105         * tests/test-frexpf.c (RANDOM): New macro.
42106         * tests/test-frexpl.c (RANDOM): New macro.
42107         * modules/frexp-tests (Files): Add tests/randomd.c.
42108         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
42109         * modules/frexpf-tests (Files): Add tests/randomf.c.
42110         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
42111         * modules/frexpl-tests (Files): Add tests/randoml.c.
42112         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
42114 2012-03-03  Bruno Haible  <bruno@clisp.org>
42116         Support for pseudo-random numbers in tests.
42117         * tests/randomf.c: New file.
42118         * tests/randomd.c: New file.
42119         * tests/randoml.c: New file.
42120         * tests/macros.h (randomf, randomd, randoml): New declarations.
42122 2012-03-03  Bruno Haible  <bruno@clisp.org>
42124         frexp* tests: Refactor.
42125         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
42126         * tests/test-frexp.c: Include and use it.
42127         * tests/test-frexpf.c: Likewise.
42128         * tests/test-frexpl.c: Likewise.
42129         * modules/frexp-tests (Files): Add tests/test-frexp.h.
42130         * modules/frexpf-tests (Files): Likewise.
42131         * modules/frexpl-tests (Files): Likewise.
42133 2012-03-02  Jim Meyering  <meyering@redhat.com>
42135         maint: don't specify XZ_OPT=-9ev in dist-related rule
42136         Using xz's -9 option is warranted only if you have a very large
42137         tarball (see xz's documentation for the sizes vs. presets), and
42138         requires 64MiB of memory at decompression time.
42139         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
42140         Automake's default of just "-e" is fine.  Override on a
42141         per-package basis by setting XZ_OPT e.g., in cfg.mk.
42143 2012-03-01  Eric Blake  <eblake@redhat.com>
42145         maint.mk: allow announcement for non-gnulib project
42146         * maint.mk (announcement): Skip gnulib version if not used.
42148 2012-03-01  Jim Meyering  <meyering@redhat.com>
42150         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
42151         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
42152         envvar settings cannot interfere.  Otherwise, setting envvars like
42153         prohibit=foo require=bar, etc. would cause spurious test failures.
42155 2012-03-01  Eric Blake  <eblake@redhat.com>
42157         maint.mk: add per-line exclusions to prohibitions
42158         * maint.mk (_sc_search_regexp): Add $exclude parameter.
42159         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
42160         (sc_const_long_option): Use it.
42162 2012-03-01  Bruno Haible  <bruno@clisp.org>
42164         Tests for module 'expl-ieee'.
42165         * modules/expl-ieee-tests: New file.
42166         * tests/test-expl-ieee.c: New file.
42168         New module 'expl-ieee'.
42169         * modules/expl-ieee: New file.
42171         Tests for module 'exp-ieee'.
42172         * modules/exp-ieee-tests: New file.
42173         * tests/test-exp-ieee.c: New file.
42175         New module 'exp-ieee'.
42176         * modules/exp-ieee: New file.
42178         Tests for module 'expf-ieee'.
42179         * modules/expf-ieee-tests: New file.
42180         * tests/test-expf-ieee.c: New file.
42181         * tests/test-exp-ieee.h: New file.
42183         New module 'expf-ieee'.
42184         * modules/expf-ieee: New file.
42186 2012-02-29  Bruno Haible  <bruno@clisp.org>
42188         cbrtl-ieee: Work around test failure on IRIX 6.5.
42189         * m4/cbrtl-ieee.m4: New file.
42190         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
42191         test whether cbrtl works with a minus zero argument. Replace it if not.
42192         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
42193         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
42194         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
42195         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
42196         (Depends-on): Update conditions.
42197         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
42198         m4/signbit.m4.
42199         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
42200         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
42201         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
42203         Tests for module 'cbrtl-ieee'.
42204         * modules/cbrtl-ieee-tests: New file.
42205         * tests/test-cbrtl-ieee.c: New file.
42207         New module 'cbrtl-ieee'.
42208         * modules/cbrtl-ieee: New file.
42210         Tests for module 'cbrt-ieee'.
42211         * modules/cbrt-ieee-tests: New file.
42212         * tests/test-cbrt-ieee.c: New file.
42214         New module 'cbrt-ieee'.
42215         * modules/cbrt-ieee: New file.
42217         Tests for module 'cbrtf-ieee'.
42218         * modules/cbrtf-ieee-tests: New file.
42219         * tests/test-cbrtf-ieee.c: New file.
42220         * tests/test-cbrt-ieee.h: New file.
42222         New module 'cbrtf-ieee'.
42223         * modules/cbrtf-ieee: New file.
42225 2012-02-29  Bruno Haible  <bruno@clisp.org>
42227         cbrtf: Work around bug in IRIX 6.5 system function.
42228         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
42229         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
42230         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
42231         work.
42232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
42233         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
42234         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
42235         (Depends-on): Update conditions.
42236         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
42238 2012-02-29  Bruno Haible  <bruno@clisp.org>
42240         Tests for module 'cbrtl'.
42241         * modules/cbrtl-tests: New file.
42242         * tests/test-cbrtl.c: New file.
42244         New module 'cbrtl'.
42245         * lib/math.in.h (cbrtl): New declaration.
42246         * lib/cbrtl.c: New file.
42247         * m4/cbrtl.m4: New file.
42248         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
42249         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
42250         HAVE_DECL_CBRTL.
42251         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
42252         HAVE_DECL_CBRTL.
42253         * modules/cbrtl: New file.
42254         * tests/test-math-c++.cc: Check the declaration of cbrtl.
42255         * doc/posix-functions/cbrtl.texi: Mention the new module.
42257 2012-02-29  Bruno Haible  <bruno@clisp.org>
42259         Tests for module 'cbrtf'.
42260         * modules/cbrtf-tests: New file.
42261         * tests/test-cbrtf.c: New file.
42263         New module 'cbrtf'.
42264         * lib/math.in.h (cbrtf): New declaration.
42265         * lib/cbrtf.c: New file.
42266         * m4/cbrtf.m4: New file.
42267         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
42268         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
42269         HAVE_DECL_CBRTF.
42270         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
42271         HAVE_DECL_CBRTF.
42272         * modules/cbrtf: New file.
42273         * tests/test-math-c++.cc: Check the declaration of cbrtf.
42274         * doc/posix-functions/cbrtf.texi: Mention the new module.
42276 2012-02-29  Bruno Haible  <bruno@clisp.org>
42278         cbrt: Provide replacement on MSVC and Minix.
42279         * lib/math.in.h (cbrt): New declaration.
42280         * lib/cbrt.c: New file.
42281         * m4/cbrt.m4: New file.
42282         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
42283         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
42284         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
42285         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
42286         (Depends-on): Add dependencies.
42287         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
42288         * tests/test-math-c++.cc: Check the declaration of cbrt.
42289         * doc/posix-functions/cbrt.texi: Mention that the module provides a
42290         replacement.
42292 2012-02-29  Bruno Haible  <bruno@clisp.org>
42294         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
42295         * m4/hypotl-ieee.m4: New file.
42296         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
42297         test whether hypotl works with mixed NaN and Infinity arguments.
42298         Replace it if not.
42299         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
42300         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
42301         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
42302         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
42303         (Depends-on): Update conditions.
42304         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
42305         (Depends-on): Add hypot-ieee.
42306         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
42307         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
42309         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
42310         * m4/hypotf-ieee.m4: New file.
42311         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
42312         test whether hypotf works with mixed NaN and Infinity arguments.
42313         Replace it if not.
42314         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
42315         (Depends-on): Add hypot-ieee.
42316         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
42317         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
42319         hypot-ieee: Work around test failure on OSF/1 and native Windows.
42320         * lib/math.in.h (hypot): New declaration.
42321         * lib/hypot.c: New file.
42322         * m4/hypot-ieee.m4: New file.
42323         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
42324         whether hypot works with mixed NaN and Infinity arguments. Replace it
42325         if not.
42326         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
42327         REPLACE_HYPOT.
42328         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
42329         * modules/hypot (Files): Add lib/hypot.c.
42330         (Depends-on): Add dependencies.
42331         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
42332         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
42333         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
42334         * tests/test-math-c++.cc: Check the declaration of hypot.
42335         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
42337         Tests for module 'hypotl-ieee'.
42338         * modules/hypotl-ieee-tests: New file.
42339         * tests/test-hypotl-ieee.c: New file.
42341         New module 'hypotl-ieee'.
42342         * modules/hypotl-ieee: New file.
42344         Tests for module 'hypot-ieee'.
42345         * modules/hypot-ieee-tests: New file.
42346         * tests/test-hypot-ieee.c: New file.
42348         New module 'hypot-ieee'.
42349         * modules/hypot-ieee: New file.
42351         Tests for module 'hypotf-ieee'.
42352         * modules/hypotf-ieee-tests: New file.
42353         * tests/test-hypotf-ieee.c: New file.
42354         * tests/test-hypot-ieee.h: New file.
42356         New module 'hypotf-ieee'.
42357         * modules/hypotf-ieee: New file.
42359 2012-02-29  Bruno Haible  <bruno@clisp.org>
42361         Remove unused variables.
42362         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
42363         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42364         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
42365         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42367 2012-02-29  Eric Blake  <eblake@redhat.com>
42369         termios: fix pid_t always, not just for tcgetsid
42370         * doc/posix-headers/termios.texi (termios.h): Mention problem.
42371         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
42372         just when building tcgetsid.
42374 2012-02-29  Bruno Haible  <bruno@clisp.org>
42376         Tests for module 'hypotl'.
42377         * modules/hypotl-tests: New file.
42378         * tests/test-hypotl.c: New file.
42380         New module 'hypotl'.
42381         * lib/math.in.h (hypotl): New declaration.
42382         * lib/hypotl.c: New file.
42383         * m4/hypotl.m4: New file.
42384         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
42386         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
42387         * modules/hypotl: New file.
42388         * tests/test-math-c++.cc: Check the hypotl declaration.
42389         * doc/posix-functions/hypotl.texi: Mention the new module.
42391 2012-02-29  Eric Blake  <eblake@redhat.com>
42393         tcgetsid: fix cygwin header bug
42394         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
42396         docs: update cygwin progress
42397         * doc/posix-functions/llround.texi (llround): Added in cygwin
42398         1.7.8.
42399         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
42400         * doc/glibc-functions/program_invocation_name.texi
42401         (program_invocation_name): Likewise.
42402         * doc/glibc-functions/program_invocation_short_name.texi
42403         (program_invocation_short_name): Likewise.
42404         * doc/glibc-functions/madvise.texi (madvise): Likewise.
42405         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
42406         Likewise.
42407         * doc/posix-functions/pthread_spin_destroy.texi
42408         (pthread_spin_destroy): Added in cygwin 1.7.10.
42409         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
42410         Likewise.
42411         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
42412         Likewise.
42413         * doc/posix-functions/pthread_spin_trylock.texi
42414         (pthread_spin_trylock): Likewise.
42415         * doc/posix-functions/pthread_spin_unlock.texi
42416         (pthread_spin_unlock): Likewise.
42417         * doc/posix-functions/pthread_setschedprio.texi
42418         (pthread_setschedprio): Likewise.
42419         * doc/posix-functions/pthread_attr_getstack.texi
42420         (pthread_attr_getstack): Likewise.
42421         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
42422         (pthread_attr_getstackaddr): Likewise.
42423         * doc/glibc-functions/pthread_getattr_np.texi
42424         (pthread_getattr_np): Likewise.
42425         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
42426         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
42427         * doc/posix-functions/clock_settime.texi (clock_settime):
42428         Likewise.
42429         * doc/posix-functions/pthread_attr_getguardsize.texi
42430         (pthread_attr_getguardsize): Likewise.
42431         * doc/posix-functions/pthread_attr_setguardsize.texi
42432         (pthread_attr_setguardsize): Likewise.
42433         * doc/posix-functions/pthread_attr_setstack.texi
42434         (pthread_attr_setstack): Likewise.
42435         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
42436         (pthread_attr_setstackaddr): Likewise.
42437         * doc/posix-functions/clock_getcpuclockid.texi
42438         (clock_getcpuclockid): Likewise.
42439         * doc/posix-functions/pthread_getcpuclockid.texi
42440         (pthread_getcpuclockid): Likewise.
42441         * doc/glibc-functions/error.texi (error): Likewise.
42442         * doc/glibc-functions/error_at_line.texi (error_at_line):
42443         Likewise.
42444         * doc/glibc-functions/error_message_count.texi
42445         (error_message_count): Likewise.
42446         * doc/glibc-functions/error_one_per_line.texi
42447         (error_one_per_line): Likewise.
42448         * doc/glibc-functions/error_print_progname.texi
42449         (error_print_progname): Likewise.
42450         * doc/posix-functions/pthread_condattr_getclock.texi
42451         (pthread_condattr_getclock): Likewise.
42452         * doc/posix-functions/pthread_condattr_setclock.texi
42453         (pthread_condattr_setclock): Likewise.
42454         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
42455         Likewise.
42456         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
42457         * doc/glibc-functions/getpt.texi (getpt): Likewise.
42458         * doc/glibc-functions/get_current_dir_name.texi
42459         (get_current_dir_name): Likewise.
42460         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
42461         Likewise.
42462         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
42463         wrong return type.
42464         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
42465         1.7.11.
42467 2012-02-29  Bruno Haible  <bruno@clisp.org>
42469         Tests for module 'hypotf'.
42470         * modules/hypotf-tests: New file.
42471         * tests/test-hypotf.c: New file.
42473         New module 'hypotf'.
42474         * lib/math.in.h (hypotf): New declaration.
42475         * lib/hypotf.c: New file.
42476         * m4/hypotf.m4: New file.
42477         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
42479         REPLACE_HYPOTF.
42480         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
42481         REPLACE_HYPOTF.
42482         * modules/hypotf: New file.
42483         * tests/test-math-c++.cc: Check the hypotf declaration.
42484         * doc/posix-functions/hypotf.texi: Mention the new module.
42486         hypot: Prepare for hypotf module.
42487         * m4/hypot.m4: New file.
42488         * modules/hypot (Files): Add m4/hypot.m4.
42489         (configure.ac): Invoke gl_FUNC_HYPOT.
42491 2012-02-29  Bruno Haible  <bruno@clisp.org>
42493         hypot tests: More tests.
42494         * tests/test-hypot.c: Include <float.h>.
42495         (main): Add tests about overflow and underflow.
42497 2012-02-29  Bruno Haible  <bruno@clisp.org>
42499         math code: Add comments.
42500         * lib/acosl.c: Add comment about related glibc source files.
42501         * lib/asinl.c: Likewise.
42502         * lib/atanl.c: Likewise.
42503         * lib/expl.c: Likewise.
42504         * lib/logl.c: Likewise.
42505         * lib/sincosl.c: Likewise.
42506         * lib/sinl.c: Likewise.
42507         * lib/tanl.c: Likewise.
42508         * lib/trigl.c: Likewise.
42509         * lib/cosl.c: Likewise. Fix comments.
42511 2012-02-28  Bruno Haible  <bruno@clisp.org>
42513         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
42514         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
42515         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
42516         HUGE_VALL are defined.
42517         (numeric_equald): Renamed from numeric_equal.
42518         (numeric_equalf, numeric_equall): New functions.
42519         (main): Check also HUGE_VALF, HUGE_VALL.
42520         * modules/math-tests (Files): Add tests/macros.h.
42521         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
42522         HUGE_VALL.
42524 2012-02-28  Bruno Haible  <bruno@clisp.org>
42526         doc: Move ISO C11 feature notes into POSIX chapters.
42527         * doc/posix-functions/aligned_alloc.texi: Renamed from
42528         doc/glibc-functions/aligned_alloc.texi.
42529         * doc/posix-functions/quick_exit.texi: Renamed from
42530         doc/glibc-functions/quick_exit.texi.
42531         * doc/posix-headers/uchar.texi: Renamed from
42532         doc/glibc-headers/uchar.texi.
42533         * doc/posix-functions/c16rtomb.texi: Renamed from
42534         doc/glibc-functions/c16rtomb.texi.
42535         * doc/posix-functions/c32rtomb.texi: Renamed from
42536         doc/glibc-functions/c32rtomb.texi.
42537         * doc/posix-functions/mbrtoc16.texi: Renamed from
42538         doc/glibc-functions/mbrtoc16.texi.
42539         * doc/posix-functions/mbrtoc32.texi: Renamed from
42540         doc/glibc-functions/mbrtoc32.texi.
42541         * doc/gnulib.texi: Update.
42542         (Glibc uchar.h): Remove section.
42543         Suggested by Eric Blake.
42545 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
42547         stdnoreturn: port to MSVC better
42548         MSVC standard headers use __declspec(noreturn), so #define noreturn
42549         to empty on that platform.  Reported by Bruno Haible in
42550         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
42551         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
42552         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
42554 2012-02-28  Bruno Haible  <bruno@clisp.org>
42556         doc: Mention new glibc headers and functions.
42557         * doc/glibc-headers/uchar.texi: New file.
42558         * doc/glibc-functions/aligned_alloc.texi: New file.
42559         * doc/glibc-functions/c16rtomb.texi: New file.
42560         * doc/glibc-functions/c32rtomb.texi: New file.
42561         * doc/glibc-functions/clock_adjtime.texi: New file.
42562         * doc/glibc-functions/fanotify_init.texi: New file.
42563         * doc/glibc-functions/fanotify_mark.texi: New file.
42564         * doc/glibc-functions/inet6_opt_append.texi: New file.
42565         * doc/glibc-functions/inet6_opt_find.texi: New file.
42566         * doc/glibc-functions/inet6_opt_finish.texi: New file.
42567         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
42568         * doc/glibc-functions/inet6_opt_init.texi: New file.
42569         * doc/glibc-functions/inet6_opt_next.texi: New file.
42570         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
42571         * doc/glibc-functions/inet6_rth_add.texi: New file.
42572         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
42573         * doc/glibc-functions/inet6_rth_init.texi: New file.
42574         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
42575         * doc/glibc-functions/inet6_rth_segments.texi: New file.
42576         * doc/glibc-functions/inet6_rth_space.texi: New file.
42577         * doc/glibc-functions/login.texi: New file.
42578         * doc/glibc-functions/mbrtoc16.texi: New file.
42579         * doc/glibc-functions/mbrtoc32.texi: New file.
42580         * doc/glibc-functions/name_to_handle_at.texi: New file.
42581         * doc/glibc-functions/ntp_gettimex.texi: New file.
42582         * doc/glibc-functions/open_by_handle_at.texi: New file.
42583         * doc/glibc-functions/prlimit.texi: New file.
42584         * doc/glibc-functions/process_vm_readv.texi: New file.
42585         * doc/glibc-functions/process_vm_writev.texi: New file.
42586         * doc/glibc-functions/recvmmsg.texi: New file.
42587         * doc/glibc-functions/scandirat.texi: New file.
42588         * doc/glibc-functions/sendmmsg.texi: New file.
42589         * doc/glibc-functions/setns.texi: New file.
42590         * doc/glibc-functions/timespec_get.texi: New file.
42591         * doc/gnulib.texi: Include them.
42592         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
42593         sections.
42594         Reported by Eric Blake.
42596 2012-02-28  Bruno Haible  <bruno@clisp.org>
42598         Avoid compilation errors with MSVC option -fp:strict.
42599         * lib/floor.c: Use MSVC specific pragma fenv_access.
42600         * lib/ceil.c: Likewise.
42601         * lib/trunc.c: Likewise.
42602         * lib/round.c: Likewise.
42603         * lib/rint.c: Likewise.
42604         * lib/fma.c: Likewise.
42605         * lib/integer_length.c: Likewise.
42606         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42607         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42608         * tests/test-floor2.c: Likewise.
42609         * tests/test-floorf2.c: Likewise.
42610         * tests/test-ceil2.c: Likewise.
42611         * tests/test-ceilf2.c: Likewise.
42612         * tests/test-trunc2.c: Likewise.
42613         * tests/test-truncf2.c: Likewise.
42614         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
42616 2012-02-27  Bruno Haible  <bruno@clisp.org>
42618         Tests for module 'sqrtl-ieee'.
42619         * modules/sqrtl-ieee-tests: New file.
42620         * tests/test-sqrtl-ieee.c: New file.
42622         New module 'sqrtl-ieee'.
42623         * modules/sqrtl-ieee: New file.
42625         Tests for module 'sqrt-ieee'.
42626         * modules/sqrt-ieee-tests: New file.
42627         * tests/test-sqrt-ieee.c: New file.
42629         New module 'sqrt-ieee'.
42630         * modules/sqrt-ieee: New file.
42632         Tests for module 'sqrtf-ieee'.
42633         * modules/sqrtf-ieee-tests: New file.
42634         * tests/test-sqrtf-ieee.c: New file.
42635         * tests/test-sqrt-ieee.h: New file.
42637         New module 'sqrtf-ieee'.
42638         * modules/sqrtf-ieee: New file.
42640 2012-02-27  Bruno Haible  <bruno@clisp.org>
42642         remainderl-ieee: Work around test failure on OSF/1.
42643         * m4/remainderl-ieee.m4: New file.
42644         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
42645         present, test whether remainderl works with a zero second argument.
42646         Replace it if not.
42647         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
42648         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
42649         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
42650         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
42651         (Depends-on): Update conditions.
42652         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
42653         (Depends-on): Add remainder-ieee.
42654         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
42655         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
42656         module.
42658         remainderf-ieee: Work around test failure on OSF/1.
42659         * m4/remainderf-ieee.m4: New file.
42660         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
42661         present, test whether remainderf works with a zero second argument.
42662         Replace it if not.
42663         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
42664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
42665         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
42666         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
42667         (Depends-on): Update conditions.
42668         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
42669         (Depends-on): Add remainder-ieee.
42670         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
42671         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
42672         module.
42674         remainder-ieee: Work around test failure on OSF/1.
42675         * m4/remainder-ieee.m4: New file.
42676         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
42677         present, test whether remainder works with a zero second argument.
42678         Replace it if not.
42679         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
42680         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
42681         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
42682         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
42683         (Depends-on): Update dependencies.
42684         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
42685         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
42686         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
42688         Tests for module 'remainderl-ieee'.
42689         * modules/remainderl-ieee-tests: New file.
42690         * tests/test-remainderl-ieee.c: New file.
42692         New module 'remainderl-ieee'.
42693         * modules/remainderl-ieee: New file.
42695         Tests for module 'remainder-ieee'.
42696         * modules/remainder-ieee-tests: New file.
42697         * tests/test-remainder-ieee.c: New file.
42699         New module 'remainder-ieee'.
42700         * modules/remainder-ieee: New file.
42702         Tests for module 'remainderf-ieee'.
42703         * modules/remainderf-ieee-tests: New file.
42704         * tests/test-remainderf-ieee.c: New file.
42705         * tests/test-remainder-ieee.h: New file.
42707         New module 'remainderf-ieee'.
42708         * modules/remainderf-ieee: New file.
42710 2012-02-27  Bruno Haible  <bruno@clisp.org>
42712         modff, modfl: Fix configure syntax error.
42713         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
42714         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
42716 2012-02-27  Bruno Haible  <bruno@clisp.org>
42718         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
42719         * m4/fmodl-ieee.m4: New file.
42720         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
42721         whether fmodl works with zero arguments. Replace it if not.
42722         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
42723         (Depends-on): Add fmod-ieee.
42724         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
42725         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
42727         fmodf-ieee: Work around test failure on OSF/1.
42728         * m4/fmodf-ieee.m4: New file.
42729         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
42730         whether fmodf works with zero arguments. Replace it if not.
42731         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
42732         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
42733         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
42734         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
42735         (Depends-on): Update dependencies.
42736         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
42737         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
42738         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
42740         fmodf-ieee: Work around test failure on MSVC 9.
42741         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
42742         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
42744         fmod-ieee: Work around test failures on OSF/1, mingw.
42745         * m4/fmod-ieee.m4: New file.
42746         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
42747         whether fmod works with zero arguments. Replace it if not.
42748         * lib/math.in.h (fmod): New declaration.
42749         * lib/fmod.c: New file.
42750         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
42751         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
42752         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
42753         * modules/fmod (Files): Add lib/fmod.c.
42754         (Depends-on): Add math, isinf, trunc, fma.
42755         (configure.ac): Arrange to compile lib/fmod.c if needed.
42756         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
42757         m4/signbit.m4.
42758         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
42759         * tests/test-math-c++.cc: Check the declaration of fmod.
42760         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
42762         fmodl-ieee: Fix test failures.
42763         * lib/fmodl.c (fmodl): Treat Inf specially.
42764         * modules/fmodl (Depends-on): Add isinf.
42766         Tests for module 'fmodl-ieee'.
42767         * modules/fmodl-ieee-tests: New file.
42768         * tests/test-fmodl-ieee.c: New file.
42770         New module 'fmodl-ieee'.
42771         * modules/fmodl-ieee: New file.
42773         Tests for module 'fmod-ieee'.
42774         * modules/fmod-ieee-tests: New file.
42775         * tests/test-fmod-ieee.c: New file.
42777         New module 'fmod-ieee'.
42778         * modules/fmod-ieee: New file.
42780         Tests for module 'fmodf-ieee'.
42781         * modules/fmodf-ieee-tests: New file.
42782         * tests/test-fmodf-ieee.c: New file.
42783         * tests/test-fmod-ieee.h: New file.
42785         New module 'fmodf-ieee'.
42786         * modules/fmodf-ieee: New file.
42788 2012-02-27  Bruno Haible  <bruno@clisp.org>
42790         Tests for module 'rintl-ieee'.
42791         * modules/rintl-ieee-tests: New file.
42792         * tests/test-rintl-ieee.c: New file.
42794         New module 'rintl-ieee'.
42795         * modules/rintl-ieee: New file.
42797         Tests for module 'rint-ieee'.
42798         * modules/rint-ieee-tests: New file.
42799         * tests/test-rint-ieee.c: New file.
42801         New module 'rint-ieee'.
42802         * modules/rint-ieee: New file.
42804         Tests for module 'rintf-ieee'.
42805         * modules/rintf-ieee-tests: New file.
42806         * tests/test-rintf-ieee.c: New file.
42807         * tests/test-rint-ieee.h: New file.
42809         New module 'rintf-ieee'.
42810         * modules/rintf-ieee: New file.
42812 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
42814         regex: re_search etc. should return -2 when memory exhausted
42815         This bug was uncovered when testing 'grep'.  Without the fix,
42816         re_search and friends return -1 when memory is exhausted, but -1
42817         means no match, and this causes grep to falsely report no-match
42818         instead of memory-exhaustion.  See
42819         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
42820         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
42821         trouble; this can occur if re_search_internal ran out of memory.
42823 2012-02-26  Bruno Haible  <bruno@clisp.org>
42825         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
42826         * m4/modfl-ieee.m4: New file.
42827         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
42828         whether modfl works with Inf. Replace it if not.
42829         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
42830         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
42831         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
42832         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
42833         (Depends-on): Update dependencies.
42834         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
42835         m4/signbit.m4.
42836         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
42837         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
42839         modfl-ieee: Fix dependencies.
42840         * modules/modfl-ieee (Depends-on): Add modf-ieee.
42842         modfl-ieee: Fix test failures.
42843         * lib/modfl.c (modfl): Treat NaN and Inf specially.
42844         * modules/modfl (Depends-on): Add isfinite, isinf.
42846         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
42847         * m4/modff-ieee.m4: New file.
42848         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
42849         whether modff works with NaN and Inf. Replace it if not.
42850         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
42851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
42852         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
42853         * modules/modff (configure.ac): Consider REPLACE_MODFF.
42854         (Depends-on): Update dependencies.
42855         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
42856         m4/signbit.m4.
42857         (Depends-on): Add modf-ieee.
42858         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
42859         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
42861         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
42862         * m4/modf-ieee.m4: New file.
42863         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
42864         whether modf works with NaN and Inf. Replace it if not.
42865         * lib/math.in.h (modf): New declaration.
42866         * lib/modf.c: New file.
42867         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
42868         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
42869         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
42870         * modules/modf (Files): Add lib/modf.c.
42871         (Depends-on): Add math, isfinite, trunc, isinf.
42872         (configure.ac): Addrange to compile lib/modf.c if needed.
42873         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
42874         m4/signbit.m4.
42875         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
42876         * tests/test-math-c++.cc: Check the declaration of modf.
42877         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
42879         Tests for module 'modfl-ieee'.
42880         * modules/modfl-ieee-tests: New file.
42881         * tests/test-modfl-ieee.c: New file.
42883         New module 'modfl-ieee'.
42884         * modules/modfl-ieee: New file.
42886         Tests for module 'modf-ieee'.
42887         * modules/modf-ieee-tests: New file.
42888         * tests/test-modf-ieee.c: New file.
42890         New module 'modf-ieee'.
42891         * modules/modf-ieee: New file.
42893         Tests for module 'modff-ieee'.
42894         * modules/modff-ieee-tests: New file.
42895         * tests/test-modff-ieee.c: New file.
42896         * tests/test-modf-ieee.h: New file.
42898         New module 'modff-ieee'.
42899         * modules/modff-ieee: New file.
42901 2012-02-26  Bruno Haible  <bruno@clisp.org>
42903         Tests for module 'fabsl-ieee'.
42904         * modules/fabsl-ieee-tests: New file.
42905         * tests/test-fabsl-ieee.c: New file.
42907         New module 'fabsl-ieee'.
42908         * modules/fabsl-ieee: New file.
42910         Tests for module 'fabs-ieee'.
42911         * modules/fabs-ieee-tests: New file.
42912         * tests/test-fabs-ieee.c: New file.
42914         New module 'fabs-ieee'.
42915         * modules/fabs-ieee: New file.
42917         Tests for module 'fabsf-ieee'.
42918         * modules/fabsf-ieee-tests: New file.
42919         * tests/test-fabsf-ieee.c: New file.
42920         * tests/test-fabs-ieee.h: New file.
42922         New module 'fabsf-ieee'.
42923         * modules/fabsf-ieee: New file.
42925 2012-02-26  Bruno Haible  <bruno@clisp.org>
42927         Tests for module 'fmal-ieee'.
42928         * modules/fmal-ieee-tests: New file.
42929         * tests/test-fmal-ieee.c: New file.
42931         New module 'fmal-ieee'.
42932         * modules/fmal-ieee: New file.
42934         Tests for module 'fma-ieee'.
42935         * modules/fma-ieee-tests: New file.
42936         * tests/test-fma-ieee.c: New file.
42938         New module 'fma-ieee'.
42939         * modules/fma-ieee: New file.
42941         Tests for module 'fmaf-ieee'.
42942         * modules/fmaf-ieee-tests: New file.
42943         * tests/test-fmaf-ieee.c: New file.
42944         * tests/test-fma-ieee.h: New file.
42946         New module 'fmaf-ieee'.
42947         * modules/fmaf-ieee: New file.
42949 2012-02-26  Bruno Haible  <bruno@clisp.org>
42951         Tests for module 'ldexpl-ieee'.
42952         * modules/ldexpl-ieee-tests: New file.
42953         * tests/test-ldexpl-ieee.c: New file.
42955         New module 'ldexpl-ieee'.
42956         * modules/ldexpl-ieee: New file.
42958         Tests for module 'ldexp-ieee'.
42959         * modules/ldexp-ieee-tests: New file.
42960         * tests/test-ldexp-ieee.c: New file.
42962         New module 'ldexp-ieee'.
42963         * modules/ldexp-ieee: New file.
42965         Tests for module 'ldexpf-ieee'.
42966         * modules/ldexpf-ieee-tests: New file.
42967         * tests/test-ldexpf-ieee.c: New file.
42968         * tests/test-ldexp-ieee.h: New file.
42970         New module 'ldexpf-ieee'.
42971         * modules/ldexpf-ieee: New file.
42973 2012-02-26  Bruno Haible  <bruno@clisp.org>
42975         Refactor frexp*-ieee tests.
42976         * tests/test-frexp-ieee.h: New file.
42977         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
42978         (main): Just call test_function.
42979         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
42980         (main): Just call test_function.
42981         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
42982         (main): Just call test_function.
42983         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
42984         * modules/frexp-ieee-tests (Files): Likewise.
42985         * modules/frexpl-ieee-tests (Files): Likewise.
42987         Tests for module 'frexpl-ieee'.
42988         * modules/frexpl-ieee-tests: New file.
42989         * tests/test-frexpl-ieee.c: New file.
42991         New module 'frexpl-ieee'.
42992         * modules/frexpl-ieee: New file.
42994         Tests for module 'frexp-ieee'.
42995         * modules/frexp-ieee-tests: New file.
42996         * tests/test-frexp-ieee.c: New file.
42998         New module 'frexp-ieee'.
42999         * modules/frexp-ieee: New file.
43001         Tests for module 'frexpf-ieee'.
43002         * modules/frexpf-ieee-tests: New file.
43003         * tests/test-frexpf-ieee.c: New file.
43005         New module 'frexpf-ieee'.
43006         * modules/frexpf-ieee: New file.
43008 2012-02-26  Bruno Haible  <bruno@clisp.org>
43010         roundl-ieee tests: More tests.
43011         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43012         (main): Add tests for [MX] shaded specification in POSIX.
43013         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43014         (Depends-on): Add isnanl-nolibm.
43016         round-ieee tests: More tests.
43017         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43018         (main): Add tests for [MX] shaded specification in POSIX.
43019         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43020         (Depends-on): Add isnand-nolibm.
43022         roundf-ieee tests: More tests.
43023         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43024         (main): Add tests for [MX] shaded specification in POSIX.
43025         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43026         (Depends-on): Add isnanf-nolibm.
43028         truncl-ieee tests: More tests.
43029         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43030         (main): Add tests for [MX] shaded specification in POSIX.
43031         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43032         (Depends-on): Add isnanl-nolibm.
43034         trunc-ieee tests: More tests.
43035         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43036         (main): Add tests for [MX] shaded specification in POSIX.
43037         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43038         (Depends-on): Add isnand-nolibm.
43040         truncf-ieee tests: More tests.
43041         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43042         (main): Add tests for [MX] shaded specification in POSIX.
43043         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43044         (Depends-on): Add isnanf-nolibm.
43046         ceill-ieee tests: More tests.
43047         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43048         (main): Add tests for [MX] shaded specification in POSIX.
43049         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43050         (Depends-on): Add isnanl-nolibm.
43052         ceil-ieee tests: More tests.
43053         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43054         (main): Add tests for [MX] shaded specification in POSIX.
43055         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43056         (Depends-on): Add isnand-nolibm.
43058         ceilf-ieee tests: More tests.
43059         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43060         (main): Add tests for [MX] shaded specification in POSIX.
43061         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43062         (Depends-on): Add isnanf-nolibm.
43064         floorl-ieee tests: More tests.
43065         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
43066         (main): Add tests for [MX] shaded specification in POSIX.
43067         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43068         (Depends-on): Add isnanl-nolibm.
43070         floor-ieee tests: More tests.
43071         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
43072         (main): Add tests for [MX] shaded specification in POSIX.
43073         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43074         (Depends-on): Add isnand-nolibm.
43076         floorf-ieee tests: More tests.
43077         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
43078         (main): Add tests for [MX] shaded specification in POSIX.
43079         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
43080         (Depends-on): Add isnanf-nolibm.
43082 2012-02-26  Bruno Haible  <bruno@clisp.org>
43084         fpieee: More comments.
43085         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
43087 2012-02-25  Bruno Haible  <bruno@clisp.org>
43089         Tests for module 'log10l'.
43090         * modules/log10l-tests: New file.
43091         * tests/test-log10l.c: New file.
43092         * tests/test-math-c++.cc: Check the declaration of log10l.
43094         New module 'log10l'.
43095         * lib/math.in.h (log10l): New declaration.
43096         * lib/log10l.c: New file.
43097         * m4/log10l.m4: New file.
43098         * modules/log10l: New file.
43099         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
43100         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
43101         HAVE_DECL_LOG10L.
43102         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
43103         HAVE_DECL_LOG10L.
43104         * doc/posix-functions/log10l.texi: Mention the new module.
43106 2012-02-25  Bruno Haible  <bruno@clisp.org>
43108         fmodl, remainder*: Avoid wrong results due to rounding errors.
43109         * lib/fmodl.c (fmodl): Correct the result if it is not within the
43110         expected bounds.
43111         * lib/remainderf.c (remainderf): Likewise.
43112         * lib/remainder.c (remainder): Likewise.
43113         * lib/remainderl.c (remainderl): Likewise.
43115 2012-02-25  Bruno Haible  <bruno@clisp.org>
43117         Tests for module 'remainderl'.
43118         * modules/remainderl-tests: New file.
43119         * tests/test-remainderl.c: New file.
43120         * tests/test-math-c++.cc: Check the declaration of remainderl.
43122         New module 'remainderl'.
43123         * lib/math.in.h (remainderl): New declaration.
43124         * lib/remainderl.c: New file.
43125         * m4/remainderl.m4: New file.
43126         * modules/remainderl: New file.
43127         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
43128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
43129         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
43130         HAVE_REMAINDERL.
43131         * doc/posix-functions/remainderl.texi: Mention the new module.
43133 2012-02-25  Bruno Haible  <bruno@clisp.org>
43135         Tests for module 'remainderf'.
43136         * modules/remainderf-tests: New file.
43137         * tests/test-remainderf.c: New file.
43138         * tests/test-math-c++.cc: Check the declaration of remainderf.
43140         New module 'remainderf'.
43141         * lib/math.in.h (remainderf): New declaration.
43142         * lib/remainderf.c: New file.
43143         * m4/remainderf.m4: New file.
43144         * modules/remainderf: New file.
43145         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
43146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
43147         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
43148         HAVE_REMAINDERF.
43149         * doc/posix-functions/remainderf.texi: Mention the new module.
43151 2012-02-25  Bruno Haible  <bruno@clisp.org>
43153         remainder: Support for MSVC.
43154         * lib/math.in.h (remainder): New declaration.
43155         * lib/remainder.c: New file.
43156         * m4/remainder.m4: New file.
43157         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
43158         (Depends-on): Add math, round, fma.
43159         (configure.ac): Use results of gl_FUNC_REMAINDER.
43160         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
43161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
43162         HAVE_DECL_REMAINDER.
43163         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
43164         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
43165         * tests/test-math-c++.cc: Check the declaration of remainder.
43166         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
43167         problems are fixed.
43169 2012-02-25  Bruno Haible  <bruno@clisp.org>
43171         Tests for module 'fmodl'.
43172         * modules/fmodl-tests: New file.
43173         * tests/test-fmodl.c: New file.
43174         * tests/test-math-c++.cc: Check the declaration of fmodl.
43176         New module 'fmodl'.
43177         * lib/math.in.h (fmodl): New declaration.
43178         * lib/fmodl.c: New file.
43179         * m4/fmodl.m4: New file.
43180         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
43181         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
43182         REPLACE_FMODL.
43183         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
43184         REPLACE_FMODL.
43185         * modules/fmodl: New file.
43186         * doc/posix-functions/fmodl.texi: Mention the new module.
43188 2012-02-25  Bruno Haible  <bruno@clisp.org>
43190         Tests for module 'modfl'.
43191         * modules/modfl-tests: New file.
43192         * tests/test-modfl.c: New file.
43193         * tests/test-math-c++.cc: Check the declaration of modfl.
43195         New module 'modfl'.
43196         * lib/math.in.h (modfl): New declaration.
43197         * lib/modfl.c: New file.
43198         * m4/modfl.m4: New file.
43199         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
43200         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
43201         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
43202         * modules/modfl: New file.
43203         * doc/posix-functions/modfl.texi: Mention the new module.
43205 2012-02-25  Bruno Haible  <bruno@clisp.org>
43207         Tests for module 'fabsl'.
43208         * modules/fabsl-tests: New file.
43209         * tests/test-fabsl.c: New file.
43210         * tests/test-math-c++.cc: Check the declaration of fabsl.
43212         New module 'fabsl'.
43213         * lib/math.in.h (fabsl): New declaration.
43214         * lib/fabsl.c: New file.
43215         * m4/fabsl.m4: New file.
43216         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
43217         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
43218         REPLACE_FABSL.
43219         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
43220         REPLACE_FABSL.
43221         * modules/fabsl: New file.
43222         * doc/posix-functions/fabsl.texi: Mention the new module.
43224 2012-02-25  Bruno Haible  <bruno@clisp.org>
43226         fabs tests: More tests.
43227         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
43228         (zero): New variable.
43229         (main): Add tests for signed zero.
43230         * modules/fabs-tests (Files): Add tests/minus-zero.h.
43232         fabsf tests: More tests.
43233         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
43234         (zero): New variable.
43235         (main): Add tests for signed zero.
43236         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
43238 2012-02-24  Bruno Haible  <bruno@clisp.org>
43240         atanl: Provide function definition on MSVC.
43241         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
43242         function pointer.
43243         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
43245 2012-02-24  Bruno Haible  <bruno@clisp.org>
43247         acosl: Provide function definition on MSVC.
43248         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
43249         function pointer.
43250         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
43252 2012-02-24  Bruno Haible  <bruno@clisp.org>
43254         asinl: Provide function definition on MSVC.
43255         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
43256         function pointer.
43257         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
43259 2012-02-24  Bruno Haible  <bruno@clisp.org>
43261         tanl: Provide function definition on MSVC.
43262         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
43263         function pointer.
43264         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
43266 2012-02-24  Bruno Haible  <bruno@clisp.org>
43268         cosl: Provide function definition on MSVC.
43269         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
43270         function pointer.
43271         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
43273 2012-02-24  Bruno Haible  <bruno@clisp.org>
43275         sinl: Provide function definition on MSVC.
43276         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
43277         function pointer.
43278         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
43280 2012-02-24  Bruno Haible  <bruno@clisp.org>
43282         logl: Provide function definition on MSVC.
43283         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
43284         function pointer.
43285         * lib/math.in.h (logl): Undefine if it does not exist as a function.
43287 2012-02-24  Bruno Haible  <bruno@clisp.org>
43289         expl: Provide function definition on MSVC.
43290         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
43291         function pointer.
43292         * lib/math.in.h (expl): Undefine if it does not exist as a function.
43294 2012-02-24  Bruno Haible  <bruno@clisp.org>
43296         sqrtl: Provide function definition on MSVC.
43297         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
43298         a function pointer.
43299         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
43301 2012-02-24  Bruno Haible  <bruno@clisp.org>
43303         ceill: Provide function definition on MSVC.
43304         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
43305         used as a function pointer.
43306         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
43308 2012-02-24  Bruno Haible  <bruno@clisp.org>
43310         floorl: Provide function definition on MSVC.
43311         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
43312         used as a function pointer.
43313         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
43315 2012-02-24  Bruno Haible  <bruno@clisp.org>
43317         ceilf: Provide function definition on MSVC.
43318         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
43319         used as a function pointer.
43320         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
43322 2012-02-24  Bruno Haible  <bruno@clisp.org>
43324         floorf: Provide function definition on MSVC.
43325         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
43326         used as a function pointer.
43327         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
43329 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43331         stdnoreturn: new module
43332         This implements a replacement for C11's <stdnoreturn.h>.
43333         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
43334         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
43335         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
43336         * tests/test-stdnoreturn.c: New files.
43338 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
43340         regex: fix false multibyte matches in some regular expressions
43341         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
43342         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
43343         * lib/regex_internal.c (re_string_skip_chars):
43344         Fix miscomputation of remain_len that may cause incomplete
43345         multi-byte character and false match.
43347 2012-02-24  Jim Meyering  <meyering@redhat.com>
43349         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
43350         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
43351         uses with "==" *before* the call, e.g., 0 == strcmp (...)
43352         Remove now-unnecessary str''cmp obfuscation.
43353         Suggested by Akim Demaille.
43355 2012-02-24  Bruno Haible  <bruno@clisp.org>
43357         streq: Rename macro.
43358         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
43359         * NEWS: Mention the change.
43360         * lib/mbrtowc.c (mbrtowc): Update.
43361         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
43362         * lib/wcwidth.c (wcwidth): Update.
43363         Suggested by Akim Demaille and Jim Meyering.
43365 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43367         regex: fix typo in definition of MIN
43368         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
43369         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
43371 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43372             Bruno Haible  <bruno@clisp.org>
43374         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
43375         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
43376         entries into a stack-allocated buffer directly.
43377         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
43379 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43380             Bruno Haible  <bruno@clisp.org>
43382         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
43384          - There were several instances of this pattern:
43386              for (;;) {
43387                n = acl (f, GETACLCNT, 0, NULL);
43388                [ allocate an array A of size N ]
43389                if (acl (f, GETACL, n, a) == n)
43390                  break;
43391              }
43393            This loop might never terminate if some other process is constantly
43394            manipulating the file's ACL.  The loop should be rewritten to
43395            terminate.
43397          - The acl (... GETACLNT ...) call is merely an optimization; its value
43398            is merely a hint as to how big to make the array.  A better
43399            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
43400            and just guess a reasonably-big size, growing the size and trying
43401            again if it's not large enough.  This guarantees termination, and
43402            saves a system call.
43404         * lib/acl-internal.h: Include <limits.h>.
43405         (MIN, SIZE_MAX): New macros.
43406         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
43407         a stack-allocated buffer, and use malloc if it does not fit. Don't
43408         use GETACLCNT.
43409         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43411 2012-02-19  Bruno Haible  <bruno@clisp.org>
43413         acl: Fix endless loop on Solaris with vxfs.
43414         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
43415         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
43416         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43417         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
43418         * tests/test-sameacls.c (main)[Solaris]: Likewise.
43419         Reported by Bill Jones in
43420         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
43422 2012-02-19  Bruno Haible  <bruno@clisp.org>
43424         acl: Fix copy-acl test failure on Solaris 11.0.
43425         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
43426         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
43427         that this function returns 0 in some more cases.
43429 2012-02-19  Bruno Haible  <bruno@clisp.org>
43431         acl: Update doc references.
43432         * doc/acl-resources.txt: Update links to Solaris documentation.
43434 2012-02-19  Bruno Haible  <bruno@clisp.org>
43436         Fix test failure in many locales on Solaris 11.
43437         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
43438         'tr' arguments.
43439         * tests/test-pipe-filter-ii1.c (main): Likewise.
43440         * build-aux/bootstrap (check_versions): Run 'tr' command with range
43441         expressions in the C locale.
43442         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
43443         * m4/host-os.m4 (gl_HOST_OS): Likewise.
43445 2012-02-19  Bruno Haible  <bruno@clisp.org>
43447         gnulib-tool: Improve usage message.
43448         * gnulib-tool (func_usage): Move doc of --help and --version to the
43449         section "Operation modes".
43451 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
43453         README-release: make it easier to execute commands
43454         * top/README-release: break commands out on to separate lines.
43456 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
43458         GNUmakefile: simplify detection of unconfigured trees
43459         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
43460         whether the tree make is being run from is already configured or
43461         not.  Related simplifications.
43463 2012-02-13  Simon Josefsson  <simon@josefsson.org>
43465         * gnulib-tool (func_usage): Document --help and --version.
43467 2012-02-11  Jim Meyering  <meyering@redhat.com>
43469         bootstrap: don't exit 0 upon gnulib-tool failure
43470         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
43471         its exit status, not 0.
43473 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
43475         README-release: various improvements
43476         * top/README-release: Give a command to push changes for the
43477         release.  Add "distcheck" to list of other pre-release checks.
43478         Fix instance of "make stable" which should be "make TYPE".
43480 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
43482         maint: replace FSF snail-mail addresses with URLs
43483         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
43484         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
43485         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
43486         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
43487         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
43488         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
43489         * lib/check-version.c, lib/check-version.h, lib/config.charset:
43490         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
43491         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
43492         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
43493         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
43494         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
43495         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
43496         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
43497         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
43498         * lib/glthread/thread.c, lib/glthread/thread.h:
43499         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
43500         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
43501         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
43502         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
43503         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
43504         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
43505         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
43506         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
43507         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
43508         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
43509         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
43510         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
43511         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
43512         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
43513         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
43514         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
43515         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
43516         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
43517         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
43518         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
43519         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
43520         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
43521         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
43522         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
43523         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
43524         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
43525         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
43526         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
43527         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
43528         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
43529         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
43530         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
43531         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
43532         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
43533         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
43534         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
43535         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
43536         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
43537         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
43538         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
43539         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
43540         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
43541         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
43542         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
43543         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
43544         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
43545         * tests/test-poll.c, tests/test-quotearg-simple.c:
43546         * tests/test-quotearg.c, tests/test-quotearg.h:
43547         * tests/test-round-ieee.c, tests/test-round1.c:
43548         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
43549         * tests/test-roundl-ieee.c, tests/test-roundl.c:
43550         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
43551         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
43552         * tests/test-strerror.c, tests/test-strerror_r.c:
43553         * tests/test-strsignal.c, tests/test-strverscmp.c:
43554         * tests/test-xmemdup0.c:
43555         Replace FSF snail mail addresses with URLs, as per GNU coding
43556         standards.  See glibc bug
43557         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
43559 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43561         README-release: capitalize a word and split a line
43562         * top/README-release: Fix punctuation and spacing.
43564 2012-02-08  Akim Demaille  <demaille@gostai.com>
43566         fatal-signal: use C prototypes (with explicit void).
43567         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43568         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
43570 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43572         regex: spelling fix
43573         * lib/regexec.c: spelling fix
43575         regex: rely on stdint.h for SIZE_MAX
43576         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
43578 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43580         regex: merge glibc changes
43582         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
43583         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
43584         (init_word_char): Work even if bitset words are not exactly 32 or
43585         64 bits wide.  Don't assume there are no padding bits.
43586         * lib/regex.c [_LIBC]: Do not include <config.h>.
43587         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
43588         and -Wtype-limits.
43589         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
43590         needless disagreement with glibc.  All uses changed.  Define it to
43591         1 only if _GNU_SOURCE, to match glibc.
43592         (_REG_RM_NAME): Remove; no longer needed, since the names in
43593         question are now all protected by __USE_GNU.
43594         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
43595         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
43596         * lib/regex_internal.h (MIN): New macro.
43598         2012-01-03 Ulrich Drepper <drepper@gmail.com>
43599         * lib/regcomp.c (init_word_char): Optimize regex a bit.
43601         2011-12-30 Jakub Jelinek <jakub@redhat.com>
43602         * lib/regex_internal.c (re_string_fetch_byte_case):
43603         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
43604         is miscompiled, and it turns out it is because of an incorrect
43605         attribute on re_string_fetch_byte_case.  Unlike
43606         re_string_peek_byte_case, this one is really not pure, it modifies
43607         memory (increments pstr->cur_idx), and with the pure attribute GCC
43608         assumed it doesn't and it cached the presumed value of
43609         regexp->cur_idx in a variable across the
43610          for (;; ++i)
43611            {
43612              if (i >= BRACKET_NAME_BUF_SIZE)
43613                return REG_EBRACK;
43614              if (token->type == OP_OPEN_CHAR_CLASS)
43615                ch = re_string_fetch_byte_case (regexp);
43616              else
43617                ch = re_string_fetch_byte (regexp);
43618              if (re_string_eoi(regexp))
43619                return REG_EBRACK;
43620              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
43621                break;
43622              elem->opr.name[i] = ch;
43623            }
43625         2011-11-29 Andreas Schwab <schwab@redhat.com>
43626         * lib/regcomp.c (build_equiv_class):
43627         Fix access after end of search string in regex matcher.
43629         2011-11-12 Ulrich Drepper <drepper@redhat.com>
43630         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
43632         2011-10-12 Ulrich Drepper <drepper@redhat.com>
43633         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
43635         2011-10-11 Ulrich Drepper <drepper@redhat.com>
43636         * lib/regcomp.c (parse_branch, parse_sub_exp):
43637         More regex memory leak fixes and tests.
43638         (parse_sub_exp, parse_bracket_exp):
43639         Fix memory leak for some invalid regular expressions.
43641         2011-05-28 Ulrich Drepper <drepper@gmail.com>
43642         * lib/regex_internal.c, lib/regexec.c:
43643         Fix unnecessary overallocation due to incomplete character.  When
43644         incomplete characters are found at the end of a string the code
43645         ran amok and allocated lots of memory.  Stricter limits are now in
43646         place.
43648         2011-05-20 Reuben Thomas <rrt@sc3d.org>
43649         * lib/regex.h: Update documentation.
43651         2011-05-16 Aharon Robbins <arnold@skeeve.com>
43652         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
43654         2010-05-05 Andreas Schwab <schwab@redhat.com>
43655         * lib/regexec.c (find_collation_sequence_value):
43656         Fix lookup of collation sequence value during regexp matching.
43658         2010-01-22 Ulrich Drepper <drepper@redhat.com>
43659         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
43661         2008-01-16 Ulrich Drepper <drepper@redhat.com>
43662         * lib/regex.h: Cleanup namespace.
43664         2007-11-26 Ulrich Drepper <drepper@redhat.com>
43665         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
43667         2007-08-26 Ulrich Drepper <drepper@redhat.com>
43668         * lib/regex_internal.h: Prevent some declarations and definitions
43669         to be seen when used in tests.
43671         2005-05-06 Ulrich Drepper <drepper@redhat.com>
43672         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
43673         __libc_lock_* macros if not _LIBC.
43674         (struct re_dfa_t): Add lock.
43676 2012-02-07  Eric Blake  <eblake@redhat.com>
43678         maint.mk: also prohibit lower-case @var@
43679         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
43680         lower case, like @top_srcdir@.
43682 2012-02-04  Eric Blake  <eblake@redhat.com>
43684         canonicalize: avoid uninitialized memory use
43685         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
43686         random '/' left in dest.
43687         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
43689 2012-02-04  Bruno Haible  <bruno@clisp.org>
43691         isatty: Fix test failure of ptsname_r on native Windows.
43692         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
43693         and don't set errno.
43694         (isatty): Test first whether fd is valid. Set errno when returning 0.
43696 2012-02-04  Bruno Haible  <bruno@clisp.org>
43698         spawn-pipe tests: Fix a NULL program name in a diagnostic.
43699         * tests/test-spawn-pipe-main.c: Include progname.h.
43700         (main): Invoke set_program_name.
43701         * modules/spawn-pipe-tests (Depends-on): Add progname.
43703         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
43704         * tests/test-nonblocking-socket-main.c: Include progname.h.
43705         (main): Invoke set_program_name.
43706         * modules/nonblocking-socket-tests (Depends-on): Add progname.
43708         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
43709         * tests/test-nonblocking-pipe-main.c: Include progname.h.
43710         (main): Invoke set_program_name.
43711         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
43713 2012-02-04  Eric Blake  <eblake@redhat.com>
43715         canonicalize-lgpl: fix // handling
43716         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
43718         canonicalize: fix // handling
43719         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
43720         /// to //, since only // is special.
43722 2012-02-04  Bruno Haible  <bruno@clisp.org>
43724         ioctl: Fix test failure on native Windows.
43725         * lib/ioctl.c: Include msvc-nothrow.h.
43726         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
43728 2012-02-04  Bruno Haible  <bruno@clisp.org>
43730         fsync: Avoid test failure on native Windows.
43731         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
43732         read-only.
43734 2012-02-04  Bruno Haible  <bruno@clisp.org>
43736         sys_select: Avoid syntax error on OpenBSD 5.0.
43737         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
43738         currently being included, just include the system's <sys/select.h>.
43740 2012-02-04  Bruno Haible  <bruno@clisp.org>
43742         sys_select: Avoid syntax error on OpenBSD 5.0.
43743         * lib/sys_select.in.h: Include <signal.h> only after the include_next
43744         <sys/select.h>, not before.
43745         Reported by Jiri B <jirib@devio.us>.
43747 2012-02-04  Bruno Haible  <bruno@clisp.org>
43749         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
43750         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
43751         global variables.
43752         * tests/test-get-rusage-data.c (main): Likewise.
43753         Reported by Jim Meyering.
43755 2012-02-04  Bruno Haible  <bruno@clisp.org>
43757         stdioext: Fix last commit.
43758         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
43760 2012-02-03  Bruno Haible  <bruno@clisp.org>
43762         stdioext: Add tentative support for Plan9.
43763         * lib/stdio-impl.h: Include <errno.h>.
43764         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
43765         * lib/freadable.c (freadable): Likewise.
43766         * lib/fwritable.c (fwritable): Likewise.
43767         * lib/fbufmode.c (fbufmode): Likewise.
43768         * lib/freading.c (freading): Likewise.
43769         * lib/fwriting.c (fwriting): Likewise.
43770         * lib/freadptr.c (freadptr): Likewise.
43771         * lib/freadseek.c (freadptrinc): Likewise.
43772         * lib/freadahead.c (freadahead): Likewise.
43773         * lib/fpurge.c (fpurge): Likewise.
43774         * lib/fseeko.c (rpl_fseeko): Likewise.
43775         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
43776         Reported by Jens Staal <staal1978@gmail.com>.
43778 2012-02-02  Jim Meyering  <meyering@redhat.com>
43780         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
43781         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
43782         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
43783         not even to try to add the attribute.  Instead, add a pragma to suppress
43784         the suggestion/warning.
43786 2012-01-31  Karl Berry  <karl@gnu.org>
43788         setstate doc: typo.
43789         * doc/posix-functions/setstate.texi (setstate): { not (.
43791 2012-01-31  Bruno Haible  <bruno@clisp.org>
43793         popen: Make more robust on Windows.
43794         * lib/popen.c: On native Windows, use the _popen based code even if
43795         HAVE_POPEN is set.
43796         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
43797         environment variable on native Windows.
43799 2012-01-30  Bruno Haible  <bruno@clisp.org>
43801         pclose: Fix typo.
43802         * lib/stdio.in.h (pclose): Fix typo in warning message.
43804 2012-01-30  Bruno Haible  <bruno@clisp.org>
43806         doc about getlogin_r, setstate.
43807         * doc/posix-functions/getlogin_r.texi: List the incompatible
43808         declaration problem under "not fixed by gnulib".
43809         * doc/posix-functions/setstate.texi: Mention incompatible declaration
43810         problem on Solaris 11 and other platforms.
43812 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
43813             Bruno Haible  <bruno@clisp.org>
43815         poll tests: Make test more robust.
43816         * tests/test-poll.c: Include macros.h.
43817         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
43818         return value of various I/O operations.
43819         * modules/poll-tests (Files): Add tests/macros.h.
43821 2012-01-30  Bruno Haible  <bruno@clisp.org>
43823         sys_stat: Fix support for mingw64 and MSVC.
43824         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
43825         header files already do it.
43826         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
43827         stat itself.
43828         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43830 2012-01-30  Bruno Haible  <bruno@clisp.org>
43832         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
43833         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
43834         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
43836 2012-01-29  Bruno Haible  <bruno@clisp.org>
43838         quotearg: Fix test failure on MacOS X 10.5.
43839         * tests/test-quotearg-simple.c: Include localcharset.h.
43840         (main): If the locale encoding is not ASCII, bypass the tests of
43841         locale_quoting_style and clocale_quoting_style.
43842         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
43844 2012-01-29  Jim Meyering  <meyering@redhat.com>
43846         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
43847         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
43848         detect uses of canonicalize_file_name.
43850 2012-01-28  Bruno Haible  <bruno@clisp.org>
43852         test-framework-sh: Fix test failure with AIX 7.1 diff.
43853         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
43854         in column 1, like 'diff -c' does.
43855         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
43856         whether 'diff -u' is used. Instead, test whether the output contains
43857         some '@' character.
43859 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43861         strtoimax: eliminate need for stdint.h, inttypes.h checks
43862         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
43863         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
43864         the prerequisites for a recently-introduced strtoimax test.
43865         I guess this might cause strtoimax to be replaced when not
43866         strictly necessary on older hosts, but this shouldn't introduce
43867         any bugs and it should make Emacs 'configure' faster on typical
43868         modern hosts.  Problem discovered when importing the latest gnulib
43869         to an Emacs test version.
43870         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
43872 2012-01-28  Bruno Haible  <bruno@clisp.org>
43874         sys_time: Override 'struct timeval' on some native Windows platforms.
43875         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
43876         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
43877         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
43878         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
43879         needs to be overridden.
43880         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
43881         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
43882         * tests/test-sys_select.c: Check that the tv_sec member has the same
43883         size as a 'time_t'.
43884         * tests/test-sys_time.c: Likewise.
43885         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
43886         is set, set also REPLACE_GETTIMEOFDAY.
43887         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
43888         convert the resulting 'struct timeval' before returning.
43889         * lib/select.c: Include <sys/time.h>.
43890         (select, timeval): Undefine at the right place.
43891         * modules/select (Depends-on): Add sys_time.
43892         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
43893         some Windows platforms.
43894         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43896 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43898         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
43899         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
43900         an integer.
43901         * lib/fcntl.c (dupfd): Likewise.
43902         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
43904 2012-01-28  Bruno Haible  <bruno@clisp.org>
43906         fcntl: Avoid compilation error on native Windows.
43907         * modules/fcntl (Depends-on): Add 'close'.
43909 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43911         select, poll, isatty: Avoid warnings on x86_64 mingw64.
43912         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
43913         pointer to an integer.
43914         * lib/poll.c (IsConsoleHandle): Likewise.
43915         * lib/isatty.c (IsConsoleHandle): Likewise.
43917 2012-01-28  Jim Meyering  <meyering@redhat.com>
43919         doc: clarify README-release
43920         * top/README-release: Clarify: you should make a point to have
43921         the latest stable versions of build tools in your PATH, and the
43922         reference to buildreq is solely for its list of tool names, not
43923         for its minimal-functional version numbers.
43924         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
43926         maint.mk: use more readable (yet functionally equivalent) quoting
43927         It is common to quote a single quote in a single quoted string like
43928         this:  '...'\''...'.  Unless you know the idiom, that looks like
43929         gibberish, so prefer to double-quote the string when possible.
43930         Then you can use a more readable, lone single quote: "...'..."
43931         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
43932         "don't" is more readable than the equivalent 'don'\''t'.
43933         (sc_cast_of_x_alloc_return_value): Likewise.
43934         (sc_cast_of_alloca_return_value): Likewise.
43935         (sc_makefile_path_separator_check): Similar: use ":" in '...',
43936         rather than '\'':'\''.
43938 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43940         stdalign: relax _Alignof and tighten _Alignas test
43941         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
43942         as it was too strict: alignof must divide offsetof, but it need
43943         not equal offsetof.  Inspired by Joseph S. Myers's comment
43944         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
43945         Conversely, tighten the _Alignas test a bit, as the resulting
43946         alignment must be exactly 8.
43948 2012-01-27  Bruno Haible  <bruno@clisp.org>
43950         stdalign: Document the last change.
43951         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
43953 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43955         stdalign: check that alignof and offsetof are consistent
43956         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
43957         Problem reported for gnulib by Richard W.M. Jones in
43958         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
43960 2012-01-27  Jim Meyering  <meyering@redhat.com>
43962         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
43963         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
43964         convert a sequence with gaps to the minimal containing range.
43965         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
43966         * tests/test-update-copyright.sh: Test for this.
43967         The FSF confirmed it is ok to do this, assuming there is at
43968         least one significant change per year in the affected range:
43969         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
43971 2012-01-26  Bruno Haible  <bruno@clisp.org>
43973         pipe2: refine doc about thread-safety
43974         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
43975         multithread-safety problem.
43976         * doc/glibc-functions/accept4.texi: Likewise.
43978 2012-01-26  Bruno Haible  <bruno@clisp.org>
43980         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
43981         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
43982         In the test program, include <fcntl.h>, for O_RDONLY.
43984 2012-01-26  Eric Blake  <eblake@redhat.com>
43986         pipe2: document lack of thread-safety in replacement
43987         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
43988         issue in replacement.
43989         * doc/glibc-functions/accept4.texi (accept4): Likewise.
43990         Based on a report by Eric Wong.
43992 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43993             Bruno Haible  <bruno@clisp.org>
43995         malloca: Avoid warnings on x86_64 mingw64.
43996         * lib/malloca.c: Include <stdint.h>.
43997         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
43998         * modules/malloca (Depends-on): Add stdint.
43999         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
44001 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44003         obstack: remove __STDC__ conditionals
44004         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
44005         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
44006         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
44007         m4/include_next.m4 as the only gnulib-maintained places that still
44008         refer to __STDC__.
44010 2012-01-24  Bruno Haible  <bruno@clisp.org>
44012         havelib: Modern quoting.
44013         * build-aux/config.rpath: Quote 'like this', not `like this', as per
44014         the recent change to the GNU coding standards.
44016 2012-01-24  Bruno Haible  <bruno@clisp.org>
44018         stdint: Improve support for Android.
44019         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
44020         Reported by Simon Josefsson <simon@josefsson.org>.
44022 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44024         doc: omit trailing empty lines from INSTALL etc.
44025         * doc/Makefile (INSTALL): Omit trailing empty lines.
44026         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
44027         omit trailing empty lines.  This simplifies the build procedure.
44029 2012-01-23  Jim Meyering  <meyering@redhat.com>
44031         tests: avoid spurious warnings about gl_sockets_startup
44032         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
44033         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
44034         reporting a "statement with no effect".
44035         * tests/test-accept.c (main): Mark as "(void)".
44036         * tests/test-accept4.c (main): Likewise.
44037         * tests/test-bind.c (main): Likewise.
44038         * tests/test-connect.c (main): Likewise.
44039         * tests/test-getpeername.c (main): Likewise.
44040         * tests/test-getsockname.c (main): Likewise.
44041         * tests/test-getsockopt.c (main): Likewise.
44042         * tests/test-listen.c (main): Likewise.
44043         * tests/test-recv.c (main): Likewise.
44044         * tests/test-recvfrom.c (main): Likewise.
44045         * tests/test-send.c (main): Likewise.
44046         * tests/test-sendto.c (main): Likewise.
44047         * tests/test-setsockopt.c (main): Likewise.
44048         * tests/test-shutdown.c (main): Likewise.
44050 2012-01-21  Bruno Haible  <bruno@clisp.org>
44052         locale-fr.m4: Fix for Android.
44053         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
44054         failure of the test program on Bionic libc.
44056 2012-01-21  Jim Meyering  <meyering@redhat.com>
44058         bootstrap: fail when bootstrap_post_import_hook fails
44059         Otherwise, it's far too easy to miss diagnostics emitted
44060         between gnulib-tool's output and that of running configure.
44061         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
44063 2012-01-17  Jim Meyering  <meyering@redhat.com>
44065         maint: enable sc_trailing_blank
44066         * build-aux/pmccabe.css: Remove trailing blanks.
44067         * doc/acl-cygwin.txt: Likewise.
44068         * doc/gnu-oids.texi: Likewise
44069         * cfg.mk: Enable sc_trailing_blank.
44070         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
44072 2012-01-17  Jim Meyering  <meyering@redhat.com>
44074         maint: enable sc_prohibit_openat_without_use
44075         * cfg.mk: Enable sc_prohibit_openat_without_use.
44076         Exempt lib/selinux-at.c.
44078 2012-01-17  Jim Meyering  <meyering@redhat.com>
44080         maint: enable sc_prohibit_cloexec_without_use
44081         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
44082         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
44084 2012-01-17  Jim Meyering  <meyering@redhat.com>
44086         maint: enable sc_prohibit_intprops_without_use
44087         * cfg.mk: Enable sc_prohibit_intprops_without_use
44088         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
44090 2012-01-17  Jim Meyering  <meyering@redhat.com>
44092         maint: enable sc_prohibit_hash_pjw_without_use
44093         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
44094         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
44095         to match any use of \<hash_pjw\>, i.e., not necessarily with a
44096         following " (".
44098 2012-01-17  Jim Meyering  <meyering@redhat.com>
44100         maint: enable double-word-prohibiting rule
44101         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
44102         Exempt three files.
44104 2012-01-17  Jim Meyering  <meyering@redhat.com>
44106         maint: remove empty lines at EOF, but excluding modules/*
44107         Apply syntax rules at home as well as abroad.  Most changes
44108         were induced by running this:
44109           make srcdir=. _build-aux=build-aux -f top/maint.mk \
44110             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
44111             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
44112         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
44113         Exempt modules/* and two binary files.
44114         Also exempt doc/INSTALL*, per request from Bruno Haible.
44115         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
44116         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
44117         * doc/Copyright/request-assign.future: Likewise.
44118         * doc/Copyright/request-disclaim.changes: Likewise.
44119         * doc/INSTALL: Likewise.
44120         * doc/INSTALL.ISO: Likewise.
44121         * doc/INSTALL.UTF-8: Likewise.
44122         * doc/acl-cygwin.txt: Likewise.
44123         * doc/acl-resources.txt: Likewise.
44124         * doc/fdl-1.2.texi: Likewise.
44125         * doc/fdl-1.3.texi: Likewise.
44126         * doc/fdl.texi: Likewise.
44127         * lib/argp-pin.c: Likewise.
44128         * lib/round.c: Likewise.
44129         * lib/unicase/u16-totitle.c: Likewise.
44130         * lib/unictype/block_test.c: Likewise.
44131         * lib/uninorm/canonical-decomposition.c: Likewise.
44132         * m4/README: Likewise.
44133         * m4/relocatable-lib.m4: Likewise.
44134         * tests/test-isnand-nolibm.c: Likewise.
44135         * tests/test-isnand.c: Likewise.
44136         * tests/uninorm/NormalizationTest.txt: Likewise.
44138 2012-01-17  Jim Meyering  <meyering@redhat.com>
44140         maint: add framework to run syntax-check rules against gnulib sources
44141         * cfg.mk: New file, to disable all currently-failing tests.
44142         We'll enable them one by one, as they are made to pass.
44143         * Makefile (sc_maint): New rule.
44145 2012-01-21  Bruno Haible  <bruno@clisp.org>
44147         stdint: Add support for Android.
44148         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
44149         include the system's <stdint.h>.
44150         Reported by Simon Josefsson <simon@josefsson.org>.
44152 2012-01-19  Jim Meyering  <meyering@redhat.com>
44154         bootstrap: add bootstrap_post_import_hook
44155         Bison does still need something like the gnulib_mk_hook whose
44156         invocation I had to remove along with slurp in commit 767ccd40.
44157         Technically, we could get along without it, but doing so would
44158         have required living with a warning and a mandatory post-bootstrap
44159         automake rerun.
44160         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
44161         (bootstrap_post_import_hook): New function.
44162         Invoke it after gnulib-tool --import and before autoreconf.
44164 2012-01-18  Jim Meyering  <meyering@redhat.com>
44166         gitlog-to-changelog: don't use "no_"-prefixed variable name
44167         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
44168         to enable both --cluster and --no-cluster.  Change variable name,
44169         s/\$no_cluster/$cluster/, and reverse usage to match.
44171         gitlog-to-changelog: use "||", not "or" in expressions
44172         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
44173         expressions.
44175 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
44177         gitlog-to-changelog: new option --no-cluster
44178         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
44179         clustering of adjacent commit messages.
44181 2012-01-17  Jim Meyering  <meyering@redhat.com>
44183         maint: spell file systems with two words, not one
44184         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
44185         two words, not one.
44187 2012-01-16  Jim Meyering  <meyering@redhat.com>
44189         bootstrap: add a FIXME comment to ensure we eventually remove the hack
44190         * build-aux/bootstrap (gnulib_tool_options): Add comment.
44192 2012-01-16  Eric Blake  <eblake@redhat.com>
44194         bootstrap: cater to autoconf 2.59
44195         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
44196         is not available.
44198         bootstrap: properly check for libtool
44199         * build-aux/bootstrap (libtoolize): Also run libtool when older
44200         usage is detected.
44202 2012-01-15  Bruno Haible  <bruno@clisp.org>
44204         Improve support for MSVC 9.
44205         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
44206         clashes on MSVC.
44207         * lib/fcntl.in.h: Likewise.
44208         * lib/stdlib.in.h: Likewise.
44209         * lib/sys_stat.in.h: Likewise.
44211 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
44213         gnupload: we hold the master copy of this script now
44214         For motivation and more information, see:
44215         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
44216         * build-aux/gnupload: Make it clear in the heading comments that the
44217         master copy of this file is maintained by gnulib.  Since we are at
44218         it, bump its copyright year and ...
44219         ($scriptversion): ... the date in its version.
44220         ($usage): Patches and bug reports should be sent to the gnulib list,
44221         not the automake one.
44222         * config/srclist.txt: Don't try to sync 'gnupload' from automake
44223         anymore.
44225 2012-01-15  Bruno Haible  <bruno@clisp.org>
44227         Fix module 'random'.
44228         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
44229         initstate, setstate are declared.
44231 2012-01-14  Bruno Haible  <bruno@clisp.org>
44233         Tests for module 'random'.
44234         * modules/random-tests: New file.
44235         * tests/test-random.c: New file, based on tests/test-random_r.c.
44237         New module 'random'.
44238         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
44239         declarations.
44240         * lib/random.c: New file, based on glibc/stdlib/random.c.
44241         * m4/random.m4: New file.
44242         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
44243         HAVE_RANDOM.
44244         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
44245         * modules/random: New file.
44246         * config/srclist.txt: Add an entry for random.c.
44247         * doc/posix-functions/random.texi: Mention the 'random' module.
44248         * doc/posix-functions/initstate.texi: Likewise.
44249         * doc/posix-functions/setstate.texi: Likewise.
44250         * doc/posix-functions/srandom.texi: Likewise.
44252 2012-01-12  Bruno Haible  <bruno@clisp.org>
44254         random_r: Use common idioms.
44255         * lib/random_r.c: Include <stdlib.h> first.
44257         random_r: Override incompatible API on AIX, OSF/1.
44258         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
44259         Override the system function if REPLACE_RANDOM_R is 1.
44260         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
44261         and OSF/1, set REPLACE_RANDOM_R.
44262         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
44263         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
44264         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
44265         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
44266         * doc/glibc-functions/random_r.texi: Likewise.
44267         * doc/glibc-functions/setstate_r.texi: Likewise.
44269         random_r: Support for MSVC 9.
44270         * lib/random_r.c: Include stdint.h, not inttypes.h.
44272 2012-01-12  Eric Blake  <eblake@redhat.com>
44274         inet_ntop: guard extra work by IF_LINT
44275         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
44276         better code generation when not checking for warnings.
44277         Suggested by Paul Eggert and Jim Meyering.
44279         strptime: fix regression on mingw
44280         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
44281         Fix regression.  Reported by Bruno Haible.
44283 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
44284             Bruno Haible  <bruno@clisp.org>
44286         copy-file: add error-code-returning variant.
44287         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
44288         (qcopy_file_preserving): New declaration.
44289         * lib/copy-file.c (qcopy_file_preserving): Renamed from
44290         copy_file_preserving. Change return type to 'int'. Don't emit an error
44291         message here.
44292         (copy_file_preserving): New function.
44293         * tests/test-copy-file.c: Include <stdlib.h>.
44294         (main): Test qcopy_file_preserving if the environment variable
44295         NO_STDERR_OUTPUT is set.
44296         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
44297         with NO_STDERR_OUTPUT
44298         * tests/test-copy-file-2.sh: Likewise.
44300 2012-01-10  Bruno Haible  <bruno@clisp.org>
44302         copy-file: Use 'quote' module consistently.
44303         * lib/copy-file.c (copy_file_preserving): Use quote().
44305         copy-file: Refactor.
44306         * lib/copy-file.c: Include quote.h.
44307         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
44308         message here.
44309         * modules/copy-file (Depends-on): Add quote.
44311         acl: Export qcopy_acl.
44312         * lib/acl.h (qcopy_acl): New declaration.
44313         * lib/copy-acl.c (qcopy_acl): Make non-static.
44315         acl: Rename a local variable.
44316         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
44318         acl: Align return values of copy_acl and qcopy_acl.
44319         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
44320         maybe < -1.
44322 2012-01-11  Eric Blake  <eblake@redhat.com>
44324         strptime: silence gcc warnings
44325         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
44326         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
44327         Reported by Daniel P. Berrange.
44329         inet_ntop: silence gcc warning
44330         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
44331         Reported by Daniel P. Berrange.
44333 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
44335         getloadavg test: skip the test on GNU/Linux without /proc mounted
44336         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
44337         file.  When /proc is not mounted, it always fails with ENOENT.
44338         * tests/test-getloadavg.c (main): Treat ENOENT return code from
44339         getloadavg(3) the same way as ENOSYS and ENOTSUP.
44341 2012-01-10  Bruno Haible  <bruno@clisp.org>
44343         regex: Avoid link error on MSVC 9.
44344         * modules/regex (Depends-on): Add wctype.
44346 2012-01-10  Bruno Haible  <bruno@clisp.org>
44348         doc: Mention --with-tests option.
44349         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
44350         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
44351         --with-tests.
44352         Reported by Reuben Thomas.
44354 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
44356         users.txt: order package names lexicographically.
44357         * users.txt: Order package names lexicographically.
44359 2012-01-10  Jim Meyering  <meyering@redhat.com>
44361         maint.mk: fix description in comment
44362         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
44364         ignore-value: remove deprecated ignore_ptr function
44365         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
44366         * NEWS: Note this.
44368 2012-01-09  Jim Meyering  <meyering@redhat.com>
44370         test-init.sh: avoid a subshell
44371         * tests/test-init.sh: Remove protective subshell.
44372         Suggested by Bernhard Voelker.  While a subshell is normally
44373         required to protect against older shells (Solaris, FreeBSD) that
44374         warn about a missing program before performing redirection, the
44375         shell-selection tests performed by init.sh probably exclude any
44376         offending shell.
44378 2012-01-08  Bruno Haible  <bruno@clisp.org>
44380         setlocale tests: Avoid test failure on Solaris 11.0.
44381         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
44382         variable.
44384 2012-01-08  Bruno Haible  <bruno@clisp.org>
44386         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
44387         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44388         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44389         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
44390         macro.
44391         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
44392         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44393         * lib/spawn_faction_addopen.c: Add workaround implementation if
44394         HAVE_WORKING_POSIX_SPAWN.
44395         * modules/spawn (Makefile): Substitute
44396         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44397         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
44398         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
44399         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44400         (Depends-on): Update conditions.
44401         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44402         the Solaris 11 bug.
44404 2012-01-08  Bruno Haible  <bruno@clisp.org>
44406         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
44407         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44408         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44409         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
44410         macro.
44411         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
44412         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44413         * lib/spawn_faction_adddup2.c: Add workaround implementation if
44414         HAVE_WORKING_POSIX_SPAWN.
44415         * modules/spawn (Makefile): Substitute
44416         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44417         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
44418         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
44419         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44420         (Depends-on): Update conditions.
44421         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44422         the Solaris 11 bug.
44424 2012-01-08  Bruno Haible  <bruno@clisp.org>
44426         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
44427         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44428         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44429         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
44430         HAVE_WORKING_POSIX_SPAWN.
44431         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
44432         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
44433         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44434         * lib/spawn_faction_addclose.c: Add workaround implementation if
44435         HAVE_WORKING_POSIX_SPAWN.
44436         * modules/spawn (Makefile): Substitute
44437         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44438         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
44439         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
44440         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44441         (Depends-on): Update conditions.
44442         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44443         the Solaris 11 bug.
44445 2012-01-08  Bruno Haible  <bruno@clisp.org>
44447         doc: Update for Solaris 11.0.
44448         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
44449         * m4/printf.m4: Update comments.
44451 2012-01-08  Bruno Haible  <bruno@clisp.org>
44453         mktime: Avoid compilation error on Solaris 11.
44454         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
44456 2012-01-08  Bruno Haible  <bruno@clisp.org>
44458         doc: Small fix.
44459         * doc/posix-headers/nl_types.texi: Correct platforms list.
44461 2012-01-08  Simon Josefsson  <simon@josefsson.org>
44463         Add lgpl-3.0 module.
44464         * MODULES.html.sh (Support for building documentation): Add
44465         lgpl-3.0.
44466         * modules/lgpl-3.0: New file.
44468 2012-01-08  Jim Meyering  <meyering@redhat.com>
44470         select.c: indent with spaces, not TABs
44471         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
44473 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44475         quotearg: do not use grave accent for left quote
44476         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
44477         locale_quoting_style.
44478         (quotearg_buffer_restyled): Fix example.
44479         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
44481 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44483         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
44484         Most programs do not have translation catalogs for English and much
44485         less separate catalogs for British and American English.  Drop the
44486         suggestion to translators about these two, and provide it
44487         automatically for Unicode locales.  Like most programs, even those
44488         using American English, we use single quotation marks.  This conflicts
44489         with the American typographic convention, but works better when you
44490         cite the entire error message within double quotes.  It also tries not
44491         to clash with established practice and with what non-gnulib programs
44492         will usually do.
44493         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
44494         using an UTF-8 or GB-18030 locale.  The list of other locales with
44495         quotes was provided by Bruno Haible.
44496         (quotearg_buffer_restyled): Adjust instructions to translators.
44497         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
44498         text, since this would be wrong when using Unicode.
44499         * modules/quotearg: Depend on c-strcaseeq.
44501 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44503         quotearg: fix Wikipedia link
44504         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
44506 2012-01-07  Simon Josefsson  <simon@josefsson.org>
44508         Fix for mingw with MSVC9.
44509         * m4/ld-version-script.m4: Check that compiler rejects version
44510         scripts with syntax errors.  Reported by Bruno Haible
44511         <bruno@clisp.org>.
44513 2012-01-06  Bruno Haible  <bruno@clisp.org>
44515         Talk about "native Windows API", not "Woe32".
44516         * lib/accept4.c: Update comments to mention native Windows.
44517         * lib/execute.c: Likewise.
44518         * lib/fatal-signal.c: Likewise.
44519         * lib/localcharset.c: Likewise.
44520         * lib/nanosleep.c: Likewise.
44521         * lib/nl_langinfo.c: Likewise.
44522         * lib/pclose.c: Likewise.
44523         * lib/pipe-filter-gi.c: Likewise.
44524         * lib/pipe-filter-ii.c: Likewise.
44525         * lib/pipe.c: Likewise.
44526         * lib/pipe2.c: Likewise.
44527         * lib/popen.c: Likewise.
44528         * lib/progreloc.c: Likewise.
44529         * lib/relocatable.c: Likewise.
44530         * lib/sigaction.c: Likewise.
44531         * lib/sigprocmask.c: Likewise.
44532         * lib/spawn-pipe.h: Likewise.
44533         * lib/spawn-pipe.c: Likewise.
44534         * lib/spawni.c: Likewise.
44535         * lib/stat-time.h: Likewise.
44536         * lib/w32spawn.h: Likewise.
44537         * tests/test-isatty.c: Likewise.
44538         * lib/config.charset: More comments.
44539         * doc/gnulib-intro.texi: Mention native Windows.
44540         * doc/posix-functions/_Exit_C99.texi: Likewise.
44541         * doc/posix-headers/fcntl.texi: Likewise.
44543 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
44545         argp: Avoid crash if translator uses % characters in a translation.
44546         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
44547         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44549 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
44551         doc: C11 and C++11 are now official
44552         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
44553         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
44554         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
44555         * modules/stdalign:
44556         Replace references to draft C1X to C11, and to draft C++0X to C++11.
44558 2012-01-06  Bruno Haible  <bruno@clisp.org>
44560         uc-is-grapheme-break tests: Tweak.
44561         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
44562         message.
44564 2012-01-06  Bruno Haible  <bruno@clisp.org>
44566         test-init.sh: correct the test for diff -u
44567         * tests/test-init.sh: Also redirect stdout to /dev/null.
44569 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44571         Use ', not `, for quoting output.
44572         * build-aux/announce-gen (usage, sizes, print_news_deltas)
44573         (print_changelog_deltas, get_tool_versions, main program):
44574         * build-aux/git-version-gen:
44575         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
44576         * build-aux/move-if-change (help):
44577         * build-aux/useless-if-before-free (usage, main program):
44578         * check-module (parse_module_file, usage)
44579         (find_included_lib_files, check_module):
44580         * lib/argmatch.c (main) [TEST]:
44581         * lib/argp-help.c (_help):
44582         * lib/getopt1.c (main) [TEST]:
44583         * lib/git-merge-changelog.c (usage):
44584         * lib/xstrtol-error.c (xstrtol_error):
44585         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
44586         * m4/argz.m4 (gl_FUNC_ARGZ):
44587         * m4/bison.m4 (gl_BISON):
44588         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
44589         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
44590         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44591         * m4/fpending.m4 (gl_PREREQ_FPENDING):
44592         * m4/gc-random.m4 (gl_GC_RANDOM):
44593         * m4/intl.m4 (gt_CHECK_DECL):
44594         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
44595         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
44596         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
44597         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
44598         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
44599         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
44600         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
44601         * tests/test-dirname.c (main):
44602         * tests/test-getpass.c (main):
44603         * tests/test-iconvme.c (main):
44604         * tests/test-parse-datetime.c (LOG):
44605         * tests/test-xstrtoimax.sh:
44606         * tests/test-xstrtol.sh:
44607         * tests/test-xstrtoll.sh:
44608         * tests/test-xstrtoumax.sh:
44609         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
44610         * top/GNUmakefile (abort-due-to-no-makefile):
44611         Quote 'like this', not `like this', as per the recent change to
44612         the GNU coding standards.
44614 2012-01-05  Bruno Haible  <bruno@clisp.org>
44616         strtoimax: Don't force a replacement on systems where intmax_t is int.
44617         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
44618         'intmax_t' is not larger than 'int'.
44619         Reported by Pádraig Brady <P@draigBrady.com>.
44621 2012-01-05  Bruno Haible  <bruno@clisp.org>
44623         doc: Mention NetBSD bugs.
44624         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
44625         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
44627 2012-01-05  Bruno Haible  <bruno@clisp.org>
44629         strtoumax tests: Enhance tests.
44630         * tests/test-strtoumax.c (main): Add tests for large values.
44632 2012-01-05  Bruno Haible  <bruno@clisp.org>
44634         strtoimax: Work around AIX 5.1 bug.
44635         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
44636         definition.
44637         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
44638         Set HAVE_STRTOIMAX.
44639         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
44640         REPLACE_STRTOIMAX.
44641         * modules/inttypes-incomplete (Makefile.am): Substitute
44642         REPLACE_STRTOIMAX.
44643         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
44644         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
44645         (Depends-on): Update conditions.
44646         * tests/test-strtoimax.c (main): Add tests for large values.
44647         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
44649 2012-01-05  Bruno Haible  <bruno@clisp.org>
44651         inttypes: Modernize.
44652         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
44653         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
44654         (Makefile.am): Update inttypes.h rule.
44656 2012-01-05  Jim Meyering  <meyering@redhat.com>
44658         init.sh: don't waste a subshell just to redirect stderr
44659         * tests/init.sh: In testing for diff -u and diff -c, use a
44660         stderr-redirecting exec inside `...` rather than a subshell.
44662         test-init.sh: avoid failure on HP-UX 11.00
44663         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
44664         resolves to diff -c or cmp.  Reported by Bruno Haible.
44666 2012-01-05  Bruno Haible  <bruno@clisp.org>
44668         Tests for module 'strtoull'.
44669         * modules/strtoull-tests: New file.
44670         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
44672 2012-01-05  Bruno Haible  <bruno@clisp.org>
44674         Tests for module 'strtoll'.
44675         * modules/strtoll-tests: New file.
44676         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
44678 2012-01-05  Bruno Haible  <bruno@clisp.org>
44680         Tests for module 'strtoul'.
44681         * modules/strtoul-tests: New file.
44682         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
44684 2012-01-05  Bruno Haible  <bruno@clisp.org>
44686         Tests for module 'strtol'.
44687         * modules/strtol-tests: New file.
44688         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
44690 2012-01-04  Jim Meyering  <meyering@redhat.com>
44692         test-init.sh: accommodate Solaris 5.10's different diff -u output
44693         * tests/test-init.sh: Also exempt @@ lines from the comparison
44694         of diff output, since Solaris 5.10 and GNU diff formats differ.
44695         Reported by Stefano Lattarini.
44697 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44699         test-posixtm: don't assume signed integer wraparound
44700         * tests/test-posixtm.c (main): Don't assume wraparound semantics
44701         after signed integer overflow.  Inspired by (though it may not
44702         fix) Bruno Haible's bug report in
44703         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
44705         Spell out "Windows 9x" and "Windows XP".
44706         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
44707         "Windows 9x" and "WinXP" with "Windows XP".
44709 2012-01-04  Jim Meyering  <meyering@redhat.com>
44711         test-vc-list-files-cvs.sh: remove obsolete comment
44712         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
44713         double exit.  Now that's all encapsulated via skip_ and Exit.
44715 2012-01-04  Bruno Haible  <bruno@clisp.org>
44717         Talk about "native Windows API", not "Win32".
44718         * lib/classpath.c: Update comments to mention native Windows.
44719         * lib/csharpexec.c: Likewise.
44720         * lib/dup2.c: Likewise.
44721         * lib/error.c: Likewise.
44722         * lib/fcntl.c: Likewise.
44723         * lib/filename.h: Likewise.
44724         * lib/findprog.c: Likewise.
44725         * lib/get-rusage-as.c: Likewise.
44726         * lib/get-rusage-data.c: Likewise.
44727         * lib/getpagesize.c: Likewise.
44728         * lib/javaexec.c: Likewise.
44729         * lib/msvc-inval.c: Likewise.
44730         * lib/msvc-nothrow.c: Likewise.
44731         * lib/nanosleep.c: Likewise.
44732         * lib/nonblocking.c: Likewise.
44733         * lib/printf-parse.c: Likewise.
44734         * lib/setlocale.c: Likewise.
44735         * lib/sigaction.c: Likewise.
44736         * lib/strerror_r.c: Likewise.
44737         * lib/tmpdir.c: Likewise.
44738         * lib/vasnprintf.c: Likewise.
44739         * lib/w32spawn.h: Likewise.
44740         * lib/waitpid.c: Likewise.
44741         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
44742         * m4/locale-ar.m4: Likewise.
44743         * m4/locale-fr.m4: Likewise.
44744         * m4/locale-ja.m4: Likewise.
44745         * m4/locale-tr.m4: Likewise.
44746         * m4/locale-zh.m4: Likewise.
44747         * m4/printf.m4: Likewise.
44748         * tests/test-cloexec.c: Likewise.
44749         * tests/test-copy-acl.sh: Likewise.
44750         * tests/test-copy-file.sh: Likewise.
44751         * tests/test-file-has-acl.sh: Likewise.
44752         * tests/test-set-mode-acl.sh: Likewise.
44753         * tests/test-dup-safer.c: Likewise.
44754         * tests/test-dup2.c: Likewise.
44755         * tests/test-dup3.c: Likewise.
44756         * tests/test-fcntl.c: Likewise.
44757         * tests/test-nonblocking-pipe.h: Likewise.
44758         * tests/test-nonblocking-socket.h: Likewise.
44759         * tests/test-pipe.c: Likewise.
44760         * tests/test-pipe2.c: Likewise.
44761         * tests/test-spawn-pipe-child.c: Likewise.
44762         * doc/acl-resources.txt: Likewise.
44763         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44764         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
44765         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
44766         * lib/localcharset.c: Update comments to mention native Windows.
44767         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44768         * lib/localename.c: Likewise.
44769         * lib/progreloc.c: Likewise.
44770         * lib/relocatable.c: Likewise.
44771         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44772         (windows_compute_revents): Renamed from win32_compute_revents.
44773         (windows_compute_revents_socket): Renamed from
44774         win32_compute_revents_socket.
44775         * lib/select.c: Update comments to mention native Windows.
44776         (windows_poll_handle): Renamed from win32_poll_handle.
44777         * m4/threadlib.m4: Update comments to mention native Windows.
44778         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
44779         --enable-threads=windows instead of --enable-threads=win32. Set
44780         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
44781         * lib/glthread/lock.h: Update comments to mention native Windows.
44782         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
44783         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
44784         USE_WIN32_THREADS.
44785         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
44786         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
44787         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
44788         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
44789         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
44790         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
44791         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
44792         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
44793         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
44794         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
44795         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
44796         * tests/test-tls.c: Likewise.
44797         Rationale:
44798         Microsoft renamed the "Win32 API" to "Windows API", as it is available
44799         on both 32-bit and 64-bit Windows systems.
44800         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
44801         line of distinction is between "native Windows" on one side and Unix/
44802         POSIX systems on the other side. More details in
44803         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
44804         Suggested by Paul Eggert.
44806 2012-01-03  Bruno Haible  <bruno@clisp.org>
44808         isatty: Support for MSVC 9.
44809         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
44810         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
44811         (_isatty_nothrow): New function.
44812         (isatty): Use it instead of _isatty.
44813         (IsConsoleHandle): Add comment, from Paolo Bonzini.
44814         * lib/poll.c (IsConsoleHandle): Likewise.
44815         * lib/select.c (IsConsoleHandle): Likewise.
44816         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
44817         (gl_PREREQ_ISATTY): New macro.
44818         * modules/isatty (Depends-on): Add msvc-inval.
44819         (configure.ac): Invoke gl_PREREQ_ISATTY.
44821 2012-01-03  Jim Meyering  <meyering@redhat.com>
44823         maint.mk: remove temporary transition aid from over 1.5 years ago
44824         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
44825         purpose was to aid in the transition (avoiding silent malfunction)
44826         from that old name to the new _sc_search_regexp.  This shim was
44827         added by commit 219c504b.
44829         init.sh: do not try to accommodate compare arguments starting with "-"
44830         * tests/init.sh (compare_dev_null_): Do not try to accommodate
44831         compare arguments that start with "-".  Besides, we do not worry
44832         about this when invoking diff or cmp; why start now with sed?
44833         Using "--" to separate options from argument would trigger sed
44834         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
44835         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
44837 2012-01-02  Bruno Haible  <bruno@clisp.org>
44839         Enhance tests for module 'isatty'.
44840         * modules/isatty-tests (Depends-on): Add pipe-posix.
44841         * tests/test-isatty.c: Include <fcntl.h>.
44842         (DEV_NULL): New macro.
44843         (main): Test the resut of isatty() also on regular files, pipes, and
44844         /dev/null.
44846         New module 'isatty'.
44847         * lib/unistd.in.h (isatty): New declaration.
44848         * lib/isatty.c: New file, based on an idea of
44849         Bastien Roucariès <roucaries.bastien@gmail.com>.
44850         * m4/isatty.m4: New file.
44851         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
44852         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
44853         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
44854         REPLACE_ISATTY.
44855         * modules/isatty: New file.
44856         * doc/posix-functions/isatty.texi: Mention the new module.
44857         Suggested by Paolo Bonzini.
44859 2012-01-02  Bruno Haible  <bruno@clisp.org>
44861         canonicalize: Tweak 2011-12-29 commit.
44862         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
44863         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
44865 2012-01-02  Jim Meyering  <meyering@redhat.com>
44867         gitlog-to-changelog: describe input syntax in --help output
44868         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
44870         gitlog-to-changelog: fix typo in --help: show backslash before email @
44871         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
44872         in sources, but not in actual output.
44874 2011-12-30  Jim Meyering  <meyering@redhat.com>
44876         gitlog-to-changelog: don't malfunction when name contains %-directive
44877         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
44878         in a name string cause trouble.  E.g., with a user name of "%s",
44879         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
44881 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
44883         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
44884         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
44885         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
44886         the "  (tiny change)" notation that is appended to the standard
44887         ChangeLog "date  name  email" header line.
44889 2012-01-01  Jim Meyering  <meyering@redhat.com>
44891         test-framework-sh: init.sh: fix "make dist" failure
44892         When using gnulib-tool's --with-tests option and any module that
44893         depends on test-framework-sh, "make dist" would fail due to the
44894         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
44895         in the gltests directory, and not in the gllib/ directory.
44896         One way to work around that is to move the EXTRA_DIST += init.sh
44897         from the primary module to the -tests one:
44898         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
44899         * modules/test-framework-sh (Makefile.am): ...not here.
44900         Reported by Tom G. Christensen in
44901         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
44903         version-etc: update copyright year reported by --version
44904         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
44906 2011-12-31  Pádraig Brady  <P@draigBrady.com>
44908         canonicalize: only stat() if required
44909         * lib/canonicalize.c (canonicalize_filename_mode):
44910         Avoid calling l?stat() when both CAN_MISSING,
44911         and CAN_NOLINKS are set, as we neither need
44912         to resolve symlinks or test component existence.
44914 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
44916         doc: cover st_ino issues once; add OpenVMS etc.
44917         * doc/posix-functions/stat.texi (stat):
44918         * doc/posix-functions/lstat.texi (lstat):
44919         * doc/posix-functions/fstatat.texi (fstatat):
44920         * doc/posix-functions/fstat.texi (fstat):
44921         Move general 'struct stat' stuff to sys_stat.texi,
44922         leaving behind a pointer.
44923         * doc/posix-headers/sys_stat.texi (sys/stat.h):
44924         Merge duplicate info about 'struct stat' problems into here.
44925         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
44926         and suggest partial workarounds.
44928         same-inode: port to OpenVMS
44929         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
44930         three st_ino values.
44932 2011-12-30  Pádraig Brady  <P@draigBrady.com>
44934         canonicalize: fix references to stat() and lstat()
44935         * lib/canonicalize.c (canonicalize_filename_mode):
44936         Ensure references always resolve to a replacement
44937         function if required (even via a macro).
44939 2011-12-30  Jim Meyering  <meyering@redhat.com>
44941         gitlog-to-changelog: remove a little duplication
44942         * build-aux/gitlog-to-changelog (main): Grep @lines once,
44943         rather than twice.
44945 2011-12-29  Pádraig Brady  <P@draigBrady.com>
44947         canonicalize: add support for not resolving symlinks
44948         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
44949         indicate we don't want to follow symlinks.  Also
44950         provide CAN_MODE_MASK to aid setting these existing
44951         mutually exclusive values.
44952         * lib/canonicalize.c (canonicalize_filename_mode):
44953         Extract the flags from can_mode parameter, which
44954         are currently just used to select between stat()
44955         and lstat().  Also ensure that mutually exclusive
44956         values are flagged immediately as invalid.
44957         * tests/test-canonicalize.c: Verify symlinks are
44958         not followed, and that invalid flag combinations
44959         are diagnosed.
44961 2011-12-25  Jim Meyering  <meyering@redhat.com>
44963         gitlog-to-changelog: do not clump multi-paragraph entries
44964         Identical header lines (date,name,email+coauthors) are suppressed,
44965         thus putting all entries with those same characteristics under
44966         a single header.  However, when a log entry consists of two or
44967         more paragraphs, it may not be clear where it starts and ends.
44968         This change makes it so that such an entry is always separated
44969         from others by a header line, even when that header would
44970         otherwise be suppressed.
44971         * build-aux/gitlog-to-changelog: Implement the above.
44972         Inspired by a related request from Stefano Lattarini in
44973         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
44975 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44977         announce-gen: fix `cmd' typo in diagnostic
44978         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
44979         diagnostic: a missing '$' meant that the command was not output.
44981 2011-12-23  Jim Meyering  <meyering@redhat.com>
44983         test-framework-sh: distribute init.sh
44984         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
44985         Otherwise, "make -C gnulib-tests check" (at least in grep) would
44986         fail due to the lack of init.sh.
44988         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
44989         * modules/atexit-tests: Rather than listing tests/init.sh,
44990         now that there's a module for it, simply depend on that new module.
44991         * modules/closein-tests: Likewise.
44992         * modules/exclude-tests: Likewise.
44993         * modules/getcwd-tests: Likewise.
44994         * modules/perror-tests: Likewise.
44995         * modules/pread-tests: Likewise.
44996         * modules/pwrite-tests: Likewise.
44997         * modules/vc-list-files-tests: Likewise.
44998         * modules/verify-tests: Likewise.
44999         * modules/xalloc-die-tests: Likewise.
45000         * modules/xstrtoimax-tests: Likewise.
45001         * modules/xstrtol-tests: Likewise.
45002         * modules/xstrtoll-tests: Likewise.
45003         * modules/xstrtoumax-tests: Likewise.
45004         * modules/yesno-tests: Likewise.
45006 2011-12-22  Jim Meyering  <meyering@redhat.com>
45008         test-framework-sh: add minimal tests of init.sh's compare function
45009         * modules/test-framework-sh-tests: New file.
45010         * tests/test-init.sh: New file.
45012         test-framework-sh: new module
45013         * modules/test-framework-sh: New file.
45014         * MODULES.html.sh (Support for maintaining and releasing projects):
45015         List it.
45017         init.sh: do not emit simulated diff output to stderr
45018         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
45020 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
45022         .gitignore: ignore gnulib.dvi and regex.info
45023         * doc/.gitignore:add gnulib.dvi and regex.info
45025 2011-12-22  Jim Meyering  <meyering@redhat.com>
45027         init.sh: correct previous change
45028         * tests/init.sh (compare): My previous change was wrong.
45029         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
45031         init.sh: avoid unwarranted test failure when using "set -e"
45032         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
45033         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
45034         a use like "compare exp out" would get evoke an unconditional failure.
45036 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
45038         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
45039         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
45040         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
45041         autoreconf that did not.
45042         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
45043         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
45045 2011-12-17  Jim Meyering  <meyering@redhat.com>
45047         bootstrap: remove some now-unneeded code
45048         This script arose back when gnulib-tool was young.
45049         Since then, it has seen improvements that render much of this
45050         script unnecessary.  In particular, it can now make symlinks
45051         to the files it uses.  Also, I no longer see as much value in
45052         marking files as read-only via comments.
45053         If you relied on the symlink-creation feature of the preceding
45054         version of this script, you can get most of that functionality
45055         by adding the --symlink option to the definition of
45056         gnulib_tool_option_extras in your bootstrap.conf file.
45057         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
45058         Run autopoint and libtoolize *before* gnulib-tool.
45059         After it, run an abbreviated autoreconf, rather than a loop around
45060         all tools.
45061         (slirp, bt_mark_as_generated): Remove functions.
45063 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45065         ftoastr: fix typo
45066         * lib/ftoastr.h: Fix misspelling in comment.
45068 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
45070         * top/README-release: fix punctuation.
45072 2011-12-17  Jim Meyering  <meyering@redhat.com>
45074         bootstrap: correct the recent buildreq change
45075         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
45076         had no effect.
45077         * build-aux/bootstrap (buildreq): Bracket each search term with
45078         "*...*", so that the shell "case" statement works as intended.
45079         Add comments.
45081 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
45083         build: let bootstrap resort to wget when downloading .po files
45084         * build-aux/bootstrap (download_po_files): Fallback to wget when
45085         downloading the .po files via rsync fails.  This is necessary to
45086         bootstrap from behind a strict firewall.
45088 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45090         stdint: don't assume C++11 when compiling with g++
45091         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
45092         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
45093         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
45094         work also in C++ before C++11, as that improperly inhibits
45095         generating a substitute stdint.h for that case.
45097 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
45099         alloca: protect comment from gnulib-tool
45100         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
45101         that gnulib-tool doesn't think it's a license, and munge it to
45102         say "GCC version 3".
45104 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
45106         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
45107         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
45108         $(abs_top_builddir) instead of $(top_builddir).
45110 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
45112         strftime-tests: also test nanoseconds
45113         * tests/test-strftime.c (T): Add a test of %N.
45115 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
45117         inttypes, stdint: add C++11 support
45118         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
45119         when including inttypes.h and stdint.h.  Support this change to
45120         the standard.
45121         * doc/posix-headers/inttypes.texi (inttypes.h):
45122         * doc/posix-headers/stdint.texi (stdint.h): Document this.
45123         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
45124         Define if not defined already, for the benefit of pre-C++11 hosts.
45125         Define the standard format macros (e.g., PRId8) always.
45126         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
45127         Likewise, if __cpluspus.  Define the standard constant and limit
45128         macros (e.g., INT8_C, INT8_MAX) always.
45129         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
45130         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
45131         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
45132         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
45133         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
45134         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
45135         Likewise.
45137 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45139         nonblocking tests: Fix test failure on Linux/PPC.
45140         Suggested by Prerna Saxena in
45141         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
45142         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
45143         Set to 1100000.
45145 2011-12-12  Jim Meyering  <meyering@redhat.com>
45147         argmatch: don't hard-code `' when listing valid option arguments
45148         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
45149         use the quote function to add quotes.  Use fputs rather than
45150         fprintf for the format string with no format directive.
45152 2011-12-07  Eric Blake  <eblake@redhat.com>
45154         bootstrap: detect tools required by gnulib-tool
45155         * build-aux/bootstrap (buildreq): Provide minimum implicit
45156         dependencies.
45157         * DEPENDENCIES: Mention patch as a prereq.
45159 2011-12-04  Bruno Haible  <bruno@clisp.org>
45161         sethostname: Port to Windows platforms.
45162         * lib/sethostname.c: Provide an alternate implementation for Windows
45163         platforms.
45164         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
45165         (main): Skip the test if sethostname() fails with EPERM. On Windows
45166         platforms, don't check the result of gethostname().
45168 2011-12-04  Bruno Haible  <bruno@clisp.org>
45169             Jim Meyering  <meyering@redhat.com>
45171         tests: Avoid spurious error message on platforms without mktemp program.
45172         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
45174 2011-12-04  Bruno Haible  <bruno@clisp.org>
45176         sethostname: Fix documentation.
45177         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
45178         "not fixed" section.
45180 2011-12-03  Bruno Haible  <bruno@clisp.org>
45182         gnulib-tool: Verify that the License field is present and non-empty.
45183         * gnulib-tool (func_get_license_raw): New function, extracted from
45184         func_get_license.
45185         (func_get_license): Use it. Warn if the module is not a test module and
45186         has no license.
45187         Suggested by Jim Meyering.
45189 2011-12-03  Bruno Haible  <bruno@clisp.org>
45191         sethostname tests: Fix link error on mingw.
45192         * tests/test-sethostname1.c: New file, extracted from
45193         tests/test-sethostname.c.
45194         * tests/test-sethostname2.c: New file, extracted from
45195         tests/test-sethostname.c.
45196         * tests/test-sethostname.c: Remove file.
45197         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
45198         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
45199         (Depends-on): Add gethostname.
45200         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
45201         Link the latter with $(GETHOSTNAME_LIB).
45203         sethostname tests: Fix compilation error on mingw.
45204         * tests/test-sethostname.c: Don't include <sys/types.h>.
45205         (geteuid): Use a dummy value without uid_t.
45206         * modules/sethostname-tests (Depends-on): Remove sys_types.
45208         sethostname tests: Avoid a gcc warning.
45209         * tests/test-sethostname.c (main): Remove an unused variable.
45211         Tweak last commit.
45212         * modules/sethostname-tests (Files): Sort by decreasing importance.
45213         (configure.ac): Check for geteuid.
45214         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
45215         the test when there's nothing to test. Drop an unnecessary cast.
45216         Improve an error message. Verify that the final sethostname() call
45217         succeeds.
45219 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45221         Add a test suite for the sethostname module.
45222         * modules/sethostname-tests: New file.  A test program
45223         for the sethostname module.
45224         * tests/test-sethostname.c: Likewise.
45226 2011-12-03  Bruno Haible  <bruno@clisp.org>
45228         Tweak last commit.
45229         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
45230         Fix preprocessor directives indentation. Fix typos.
45231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
45232         * modules/unistd (Makefile): Likewise.
45234 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45236         Integrate the sethostname module into unistd.
45237         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
45238         into the unistd.h header.
45239         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
45240         preprocessor directives.
45241         * modules/unistd: Setup the Makefile substitutions of the
45242         SETHOSTNAME preprocessor directives.
45244 2011-12-03  Bruno Haible  <bruno@clisp.org>
45246         Tweak last commit.
45247         * lib/sethostname.c: Don't include <string.h>.
45248         (sethostname): No need to copy the argument string to the stack. Don't
45249         call clearerr. Preserve errno when fprintf failed.
45250         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
45251         Don't invoke AC_REPLACE_FUNCS.
45252         * modules/sethostname (Link): Remove empty section.
45253         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
45254         failure problem.
45256 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45258         New module 'sethostname'.
45259         * lib/sethostname.c (sethostname): New file.  Provide sethostname
45260         for systems that lack it.
45261         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
45262         sethostname declaration and function.
45263         * modules/sethostname: New file.  Define the sethostname module.
45265 2011-12-03  Bruno Haible  <bruno@clisp.org>
45267         Tweak last commit.
45268         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
45270 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45272         Split the HOST_NAME_MAX detection into a separate m4 macro.
45273         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
45274         macro so it can be used by the pending sethostname module.
45276 2011-12-03  Bruno Haible  <bruno@clisp.org>
45278         Fix module descriptions syntax.
45279         * modules/argv-iter (License): Fix syntax.
45280         * modules/di-set (License): Likewise.
45281         * modules/ino-map (License): Likewise.
45282         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
45284 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45286         stdalign: port to Clang 3.0
45287         Problem reported by Simon Josefsson in
45288         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
45289         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
45290         which has <stdalign.h> but which does not define alignof.
45291         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
45293 2011-12-01  Eric Blake  <eblake@redhat.com>
45295         mktempd: silence dd usage
45296         * build-aux/mktempd (rand_bytes): Silence dd.
45298 2011-11-30  Simon Josefsson  <simon@josefsson.org>
45300         manywarnings: Don't mention gcc version in docstring.
45301         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
45302         Jim Meyering <meyering@redhat.com>.
45304 2011-11-30  Jim Meyering  <meyering@redhat.com>
45306         hash: mark a few floating point constants with "f" suffix
45307         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
45308         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
45309         floating point constants with "f", since they're destined to be
45310         saved/used as "float"s.
45312 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
45314         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
45315         * tests/test-float.c (test_long_double): Correct and re-enable the
45316         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
45318 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
45320         Avoid subtracting two pointers that don't point into the same block.
45321         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
45322         only pointers into the same memory block are subtracted. We cannot
45323         assume that sizeof (ptrdiff_t) == sizeof (void *).
45325 2011-11-29  Eric Blake  <eblake@redhat.com>
45327         maint.mk: add syntax check for use of compare from init.sh
45328         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
45329         moved here from coreutils.
45331         manywarnings: drop -Wunsuffixed-float-constants
45332         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
45333         '1.0D', which is the only way to silence this warning for 'double'.
45335 2011-11-29  Jim Meyering  <meyering@redhat.com>
45337         hash: mark compute_bucket_size with the pure attribute
45338         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
45340         quotearg, propername: correct pragma guard expression
45341         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
45342         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
45344 2011-11-28  Jim Meyering  <meyering@redhat.com>
45346         propername: do not mark proper_name with the const attribute
45347         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
45348         since it examines data pointed to by its parameter.
45349         * lib/propername.c (proper_name): Instead, add a pragma to suppress
45350         the suggestion from -Wsuggest-attribute=const.
45352         propername: mark one more function as const
45353         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
45355 2011-11-27  Jim Meyering  <meyering@redhat.com>
45357         mark functions with const and pure attributes
45359         Mark functions per suggestions from gcc-4.6 when using these options:
45360         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
45361         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
45362         Follow these guidelines: when possible, apply the attribute to
45363         an extern declaration, not to its definition.  Apply it to the
45364         definition only when the definition is static.
45365         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
45366         * lib/argv-iter.h (argv_iter_n_args): Likewise.
45367         * lib/base64.h (isbase64): Likewise.
45368         * lib/basename-lgpl.c (last_component, base_len): Likewise.
45369         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
45370         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
45371         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
45372         (c_tolower, c_toupper): Likewise.
45373         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
45374         * lib/chdir-long.c (find_non_slash): Likewise.
45375         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
45376         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
45377         * lib/file-type.h (file_type): Likewise.
45378         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
45379         * lib/filevercmp.c (verrevcmp): Likewise.
45380         * lib/freadahead.h (freadahead): Likewise.
45381         * lib/fts.c (fts_maxarglen): Likewise.
45382         * lib/hash-pjw.h (hash_pjw): Likewise.
45383         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
45384         * lib/hash.c (is_prime, next_prime): Likewise.
45385         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
45386         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
45387         (hash_table_ok, hash_get_first, hash_string): Likewise.
45388         (compute_bucket_size): Likewise.
45389         * lib/i-ring.h (i_ring_empty): Likewise.
45390         * lib/isnan.c (isnanl): Likewise.
45391         * lib/math.h (isnanl, rpl_isnanl): Likewise.
45392         * lib/memcasecmp.h (memcasecmp): Likewise.
45393         * lib/memchr2.h (memchr2): Likewise.
45394         * lib/memcmp2.h (memcmp2): Likewise.
45395         * lib/parse-datetime.y (lookup_zone): Likewise.
45396         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
45397         [!WINDOWS_SOCKETS]: Likewise.
45398         * lib/strnlen1.h (strnlen1): Likewise.
45399         * lib/uniwidth.in.h (uc_width): Likewise.
45400         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
45401         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
45402         (quoting_options_from_style): Add a comment.
45403         * lib/propername.h (proper_name): Add a comment.
45405 2011-11-27  Bruno Haible  <bruno@clisp.org>
45407         Remove unused macros from !_LIBC code in glibc-borrowed files.
45408         * lib/fnmatch.c (STRCOLL): Remove macro.
45409         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
45410         * lib/glob.c (__stat, __readdir64): Remove macros.
45411         * lib/tempname.c (__open64, __xstat64): Remove macros.
45412         Suggested by Paul Eggert.
45414 2011-11-27  Bruno Haible  <bruno@clisp.org>
45416         getcwd: Fix link error on MSVC 9.
45417         * modules/getcwd (Depends-on): Add readdir, rewinddir.
45419 2011-11-27  Bruno Haible  <bruno@clisp.org>
45421         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
45422         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
45423         HAVE_OPENDIR is 0.
45424         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
45425         HAVE_CLOSEDIR is 0.
45426         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
45427         is 0.
45428         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
45430 2011-11-27  Bruno Haible  <bruno@clisp.org>
45432         getcwd: Fix bug from 2011-08-17.
45433         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
45434         platforms that need it.
45435         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
45436         code of 4 to be a failure, not a success. This ensures that
45437         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
45439 2011-11-27  Bruno Haible  <bruno@clisp.org>
45441         binary-io tests: Avoid test failure on mingw when libtool is used.
45442         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
45443         Don't verify the size of t-bin-out1.tmp here.
45444         * tests/test-binary-io.sh: Verify it here.
45445         Reported by Simon Josefsson.
45447 2011-11-26  Bruno Haible  <bruno@clisp.org>
45449         Fix conflict between two instantiations of module 'unistd'.
45450         * gnulib-tool (func_emit_autoconf_snippet): Substitute
45451         ${include_guard_prefix} also in the autoconf snippet.
45452         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
45453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
45454         GNULIB_UNISTD_H_GETOPT.
45455         * modules/getopt-posix (configure.ac): Set the
45456         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
45457         * modules/getopt-gnu (configure.ac): Likewise.
45458         * modules/unistd (Makefile.am): Change the substitution value of
45459         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
45460         Reported by Simon Josefsson.
45462 2011-11-25  Bruno Haible  <bruno@clisp.org>
45464         pagealign_alloc: Doc and comments.
45465         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
45466         module.
45467         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
45469 2011-11-25  Jim Meyering  <meyering@redhat.com>
45471         test-update-copyright.sh: avoid false-positive failure
45472         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
45473         around false positive failure on Cygwin/Windows.  The latter was
45474         matching erroneously-created files with names like
45475         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
45477 2011-11-25  Simon Josefsson  <simon@josefsson.org>
45479         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
45480         * m4/valgrind-tests.m4: Check that the parameters that will be
45481         used works, not just a subset of them.  Reported by Bruno Haible
45482         <bruno@clisp.org>.
45484 2011-11-24  Jim Meyering  <meyering@redhat.com>
45486         test-stdalign.c: comment out long double tests
45487         * tests/test-stdalign.c: Don't try to reduce alignment of long double
45488         variables.  That provokes errors like this from gcc-4.7.0 20111124:
45489         error: '_Alignas' specifiers cannot reduce alignment of \
45490         'static_longdouble_alignas'.
45492 2011-11-22  Jim Meyering  <meyering@redhat.com>
45494         init.sh: make "compare /dev/null FILE" output more readable
45495         * tests/init.sh (compare_): Document the preferred order of arguments.
45496         (emit_diff_u_header_): New function.
45497         (compare_dev_null_): Emit a simulated diff, rather than just the
45498         contents of the unexpected file.  Suggestion from Bruno Haible.
45500 2011-11-21  Jim Meyering  <meyering@redhat.com>
45501             Eric Blake  <eblake@redhat.com>
45503         init.sh: work around OSF/1 5.1's mishandling of /dev/null
45504         * tests/init.sh: Make our compare function slightly more portable.
45505         Reported by Bruno Haible in
45506         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
45508 2011-11-21  Simon Josefsson  <simon@josefsson.org>
45510         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
45511         before using it, in code that ends up in config.h.
45513 2011-11-20  Bruno Haible  <bruno@clisp.org>
45515         getcwd: Work around getcwd bug on AIX 5..7.
45516         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
45517         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
45518         Use a different value for gl_cv_func_getcwd_path_max. Move the
45519         definition of HAVE_PARTLY_WORKING_GETCWD from here...
45520         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
45521         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
45522         Define HAVE_MINIMALLY_WORKING_GETCWD.
45523         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
45524         where it is not even minimally working, that is, on AIX.
45525         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
45526         m4/getcwd-path-max.m4.
45527         (main): Update exit code computation.
45528         * doc/posix-functions/getcwd.texi: Mention list of platforms where
45529         getcwd does not handle long file names.
45531 2011-11-20  Bruno Haible  <bruno@clisp.org>
45533         getcwd: Fix bug from 2009-09-10.
45534         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
45535         like "no".
45537 2011-11-20  Simon Josefsson  <simon@josefsson.org>
45539         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
45541 2011-11-20  Bruno Haible  <bruno@clisp.org>
45543         fma tests: Avoid shadowing local variables.
45544         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
45545         expected.
45547 2011-11-20  Bruno Haible  <bruno@clisp.org>
45549         copysignf tests: Fix.
45550         * tests/test-copysignf.c: Fix signature check.
45552 2011-11-20  Bruno Haible  <bruno@clisp.org>
45554         fma: Remove unused code.
45555         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
45556         unused macros.
45558 2011-11-20  Bruno Haible  <bruno@clisp.org>
45560         sethostname: Fix doc about AIX.
45561         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
45562         sethostname; it has it.
45564         sethostname: Mention more portability problems.
45565         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
45566         problem.
45567         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
45569 2011-11-19  Bruno Haible  <bruno@clisp.org>
45571         Depend on module fcntl-h when AT_FDCWD is used.
45572         * modules/utimens (Depends-on): Add fcntl-h.
45573         * modules/areadlinkat (Depends-on): Likewise.
45574         * modules/areadlinkat-with-size (Depends-on): Likewise.
45575         * modules/faccessat (Depends-on): Likewise.
45576         * modules/fchmodat (Depends-on): Likewise.
45577         * modules/fchownat (Depends-on): Likewise.
45578         * modules/getcwd (Depends-on): Likewise.
45579         * modules/mkdirat (Depends-on): Likewise.
45580         * modules/mkfifoat (Depends-on): Likewise.
45581         * modules/readlinkat (Depends-on): Likewise.
45582         * modules/symlinkat (Depends-on): Likewise.
45583         * modules/dup2-tests (Depends-on): Likewise.
45584         * modules/fdutimensat-tests (Depends-on): Likewise.
45585         * modules/futimens-tests (Depends-on): Likewise.
45587 2011-11-19  Bruno Haible  <bruno@clisp.org>
45589         euidaccess: Update a comment.
45590         * lib/euidaccess.c: Update comment about platforms with faccessat.
45592 2011-11-19  Bruno Haible  <bruno@clisp.org>
45594         openat: Fix file list.
45595         * modules/openat (Files): Remove lib/at-func.c.
45597 2011-11-19  Bruno Haible  <bruno@clisp.org>
45599         fstatat: Simplify.
45600         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
45601         gnulib should define rpl_fstatat, there is a
45602         "#define fstatat rpl_fstatat" in <sys/stat.h>.
45604 2011-11-19  Bruno Haible  <bruno@clisp.org>
45606         Ensure 'inline' can be used in tests/test-utimens-common.h.
45607         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
45608         * modules/futimens-tests (configure.ac): Likewise.
45609         * modules/utimens-tests (configure.ac): Likewise.
45610         * modules/utimensat-tests (configure.ac): Likewise.
45612 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45614         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
45615         not hash_insert0.
45616         (hash_insert_if_absent): Doc fix.
45618 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45620         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
45622 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
45624         test-getcwd: disambiguate exit status
45625         * tests/test-getcwd.c (test_long_name): Return 0..7.
45626         (main): Exit with an unambiguous exit status.  The old
45627         code yielded a mysterious mixture of two failure codes.
45629         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
45630         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
45631         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
45632         rpl_fstatat or fstatat.  This should fix the other problem
45633         reported by Kai Habel in
45634         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45635         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
45636         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
45637         and I reproduced it on a Solaris 8 host we still have in production.
45639 2011-11-18  Jim Meyering  <meyering@redhat.com>
45641         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
45642         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
45643         Add a sentence to the comment.
45644         (hash_insert0): New function that simply calls hash_insert_if_absent.
45645         * lib/hash.h (hash_insert_if_absent): Declare it.
45646         (hash_insert0): Add deprecation attribute.
45647         (_GL_ATTRIBUTE_DEPRECATED): Define.
45648         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
45649         not hash_insert0.
45650         * NEWS: Mention it, even though it's not really an incompatible change.
45652 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
45654         openat: avoid compilation failure due to lack of <errno.h> inclusion
45655         * lib/openat.c: Include <errno.h>.
45657 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45659         * modules/getcwd (Depends-on): Add fdopendir.
45660         This fixes one of the two problems reported by Kai Habel in
45661         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45663         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
45664         stdalign problem reported by Ian Beckwith in
45665         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
45666         * modules/crypto/gc-arcfour (Depends-on):
45667         Depend conditionally on crypto/arcfour.
45668         * modules/crypto/gc-arctwo (Depends-on):
45669         Depend conditionally on crypto/arctwo.
45670         * modules/crypto/gc-des (Depends-on):
45671         Depend conditionally on crypto/des.
45672         * modules/crypto/gc-hmac-md5 (Depends-on):
45673         Depend conditionally on crypto/hmac-md5.
45674         * modules/crypto/gc-hmac-sha1 (Depends-on):
45675         Depend conditionally on crypto/hmac-sha1.
45676         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
45677         * modules/crypto/gc-md4 (Depends-on):
45678         Depend conditionally on crypto/md4.
45679         * modules/crypto/gc-md5 (Depends-on):
45680         Depend conditionally on crypto/md5.
45681         * modules/crypto/gc-rijndael (Depends-on):
45682         Depend conditionally on crypto/rijndael.
45683         * modules/crypto/gc-sha1 (Depends-on):
45684         Depend conditionally on crypto/sha1.
45685         * modules/crypto/gc-arcfour:
45686         * modules/crypto/gc-arctwo:
45687         * modules/crypto/gc-des:
45688         * modules/crypto/gc-hmac-md5:
45689         * modules/crypto/gc-hmac-sha1:
45690         * modules/crypto/gc-md2:
45691         * modules/crypto/gc-md4:
45692         * modules/crypto/gc-md5:
45693         * modules/crypto/gc-rijndael:
45694         * modules/crypto/gc-sha1:
45695         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
45696         now that the conditional dependencies do the work for us.
45698 2011-11-17  Jim Meyering  <meyering@redhat.com>
45700         tests: factor st_ctime-comparison out of two headers
45701         * tests/test-utimens-common.h (ctime_compare): Define.
45702         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
45703         * tests/test-lutimens.h (test_lutimens): Likewise.
45704         * tests/test-utimens.h (test_utimens): Likewise.
45706         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
45707         Invoke the test program via an init.sh-using wrapper.
45708         * tests/test-getcwd.sh: New file.
45709         * modules/getcwd-tests (Files): Add it.
45710         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
45712 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
45714         gitlog-to-changelog: support multi-author commits.
45715         The FSF cares about keeping track of all authors of patches to its
45716         projects, but Git doesn't provide obvious support for multi-author
45717         changesets. Consensus seems to be forming around the use of extra
45718         Signed-off-by inspired lines in the log message formatted as
45719         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
45720         multi-author commits between version control systems.
45721         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
45722         log message and output in standard ChangeLog multi-author format.
45723         Reported by Peter Rosin <peda@lysator.liu.se>
45725 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
45726             Bruno Haible  <bruno@clisp.org>
45728         Fix some modules' file list.
45729         * modules/fstatat (Files): Add m4/lstat.m4.
45730         * modules/openat (Files): Likewise.
45731         * modules/unlinkat (Files): Likewise.
45733 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
45735         maint.mk: fix tight-scope.mk generation in VPATH builds.
45736         * top/maint.mk (tight-scope.mk): Make sure to prefix file
45737         reference with $(srcdir) so that the file is found correctly even
45738         when running `make syntax-check' in a VPATH build.
45740 2011-11-13  Bruno Haible  <bruno@clisp.org>
45741             Jim Meyering  <meyering@redhat.com>
45743         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
45744         * tests/init.sh (compare): Remove "No differences encountered" or
45745         synonymous output from the 'diff' program.
45747 2011-11-13  Bruno Haible  <bruno@clisp.org>
45749         Makefile: Tweak indentation.
45750         * Makefile: Use tab as first character in every line that contains rule
45751         commands.
45753 2011-11-13  Bruno Haible  <bruno@clisp.org>
45755         Syntax check for copyright statements.
45756         * check-copyright: New file.
45757         * Makefile (sc_check_copyright): New rule.
45759 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45761         * build-aux/git-version-gen: Add --prefix to configure the tag
45762         match string.
45764 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45766         * build-aux/git-version-gen: Add --help and --version.
45768 2011-11-12  Jim Meyering  <meyering@redhat.com>
45770         revamp the other test-exclude?.sh scripts to use init.sh, too
45771         * tests/test-exclude1.sh: Use init.sh.
45772         * tests/test-exclude2.sh: Likewise.
45773         * tests/test-exclude3.sh: Likewise.
45774         * tests/test-exclude4.sh: Likewise.
45775         * tests/test-exclude5.sh: Likewise.
45776         * tests/test-exclude6.sh: Likewise.
45777         * tests/test-exclude7.sh: Likewise.
45778         * tests/test-exclude8.sh: Likewise.
45779         * modules/exclude-tests (Files): List init.sh.
45781         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
45782         These shell scripts ignored failure of the binary test-exclude,
45783         so making the latter return 77 didn't cause them to be skipped.
45784         * tests/test-exclude5.sh: Exit with test-exclude's error status
45785         when that program fails.  Revamp to use init.sh.
45786         * tests/test-exclude2.sh: Likewise.
45788         test-exclude: fix a typo
45789         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
45791 2011-11-11  Bruno Haible  <bruno@clisp.org>
45793         obstack: Fix compilation error on MSVC 9.
45794         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
45796 2011-11-11  Jim Meyering  <meyering@redhat.com>
45798         test-exclude: skip tests rather than failing on deficient systems
45799         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
45800         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
45801         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
45802         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
45804 2011-11-10  Bruno Haible  <bruno@clisp.org>
45806         ptsname_r test: Avoid gcc warning on glibc systems.
45807         * tests/test-ptsname_r.c (null_ptr): New function.
45808         (test_errors): Use it.
45810 2011-11-10  Bruno Haible  <bruno@clisp.org>
45812         ptsname_r: Avoid compilation error on OSF/1 5.1.
45813         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
45814         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
45815         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
45816         function is not declared or incompatibly declared.
45817         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
45818         * modules/ptsname_r (Depends-on, configure.ac): Update.
45819         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
45821 2011-11-10  Bruno Haible  <bruno@clisp.org>
45823         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
45824         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
45825         When cross-compiling, guess yes on all platforms except AIX.
45826         Reported by Ludovic Courtès <ludo@gnu.org>.
45828 2011-11-09  Bruno Haible  <bruno@clisp.org>
45830         ptsname_r tests: Fix bugs.
45831         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
45832         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
45834 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45836         fstatat: work with cross-compilation
45837         Problem reported by Ludovic Courtès in
45838         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
45839         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
45840         "cross-compiling" and assume the bug is present.  Replace
45841         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
45842         an inverted sense, to be more conservative about our assumptions.
45843         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
45845 2011-11-09  Bruno Haible  <bruno@clisp.org>
45847         Improve MODULES.html output.
45848         * modules/mkfifoat (Description): Use the word "function".
45849         * modules/readlinkat (Description): Likewise.
45850         * modules/symlinkat (Description): Likewise.
45852 2011-11-09  Eric Blake  <eblake@redhat.com>
45854         ptsname_r-tests: new test module
45855         * modules/ptsname_r-tests: New module.
45856         * tests/test-ptsname_r.c: New file.
45858         ptsname_r: new module
45859         * modules/ptsname_r: New module.
45860         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
45861         * lib/ptsname.c (__ptsname_r): Split...
45862         * lib/ptsname_r.c: ...into new file.
45863         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
45864         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
45865         * modules/stdlib (Makefile.am): Substitute witnesses.
45866         * lib/stdlib.in.h (ptsname_r): Declare it.
45867         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
45868         * MODULES.html.sh (Misc): Likewise.
45869         * modules/ptsname (Depends-on): Alter dependency.
45870         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
45872 2011-11-09  Jim Meyering  <meyering@redhat.com>
45874         announce-gen: be more concise when there's only one URL+tarball
45875         * build-aux/announce-gen (get_tool_versions): When you distribute
45876         only one type of tarball, combine the first two "Here are..."
45877         sections and make the key-checking grammar independent of
45878         how many tarballs there are.
45880 2011-11-09  Eric Blake  <eblake@redhat.com>
45882         openpty: provide a stub on mingw
45883         * lib/pty.in.h (includes): Provide forward declarations.
45884         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
45886         raise: fix mingw handling of SIGPIPE
45887         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
45889 2011-11-08  Bruno Haible  <bruno@clisp.org>
45891         More conditional dependencies.
45892         * modules/faccessat (Depends-on): Add conditions.
45893         * modules/fchmodat (Depends-on): Likewise.
45894         * modules/fchownat (Depends-on): Likewise.
45895         * modules/fstatat (Depends-on): Likewise.
45896         * modules/mkfifoat (Depends-on): Likewise.
45897         * modules/readlinkat (Depends-on): Likewise.
45898         * modules/symlinkat (Depends-on): Likewise.
45899         * modules/unlinkat (Depends-on): Likewise.
45900         * modules/utimensat (Depends-on): Likewise.
45901         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
45902         * modules/linkat (Depends-on): Refine the conditions.
45903         * modules/renameat (Depends-on): Likewise.
45905 2011-11-08  Bruno Haible  <bruno@clisp.org>
45907         faccessat: Move AC_LIBOBJ invocation to module description.
45908         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
45909         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
45910         invocation from here...
45911         * modules/faccessat (configure.ac): ... to here. Invoke
45912         gl_PREREQ_FACCESSAT.
45914 2011-11-08  Bruno Haible  <bruno@clisp.org>
45916         faccessat: Simplify autoconf macro.
45917         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
45918         gl_FUNC_EUIDACCESS.
45920 2011-11-08  Bruno Haible  <bruno@clisp.org>
45922         renameat: Fix dependencies.
45923         * modules/renameat (Depends-on): Add stdbool.
45925 2011-11-08  Bruno Haible  <bruno@clisp.org>
45927         mkfifoat: Fix module description.
45928         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
45929         not gl_UNISTD_MODULE_INDICATOR.
45931 2011-11-08  Bruno Haible  <bruno@clisp.org>
45933         fstatat: Remove unused dependency.
45934         * modules/fstatat (Depends-on): Remove fstat.
45936 2011-11-08  Simon Josefsson  <simon@josefsson.org>
45938         GNUmakefile: behave when Makefile is missing.
45939         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
45941 2011-11-08  Bruno Haible  <bruno@clisp.org>
45943         openat: Conditionalize dependencies.
45944         * lib/openat.c: Reduce the scope of some #includes.
45945         * modules/openat (Depends-on): Add conditions.
45947 2011-11-07  Jim Meyering  <meyering@redhat.com>
45949         maint.mk: extract GPG key ID without using a temporary file
45950         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
45951         without using a temporary file.  Based on a suggestion from Werner Koch
45952         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
45954 2011-11-07  Eric Blake  <eblake@redhat.com>
45956         grantpt: fix typo
45957         * lib/stdlib.in.h (grantpt): Check correct function.
45959         maint.mk: silence new syntax check
45960         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
45962 2011-11-06  Bruno Haible  <bruno@clisp.org>
45964         Doc about floating-point and math API.
45965         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
45966         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
45968 2011-11-06  Bruno Haible  <bruno@clisp.org>
45970         stdalign tests: Skip the test when compiled by Sun C.
45971         * tests/test-stdalign.c (main): Skip the test on Sun C.
45973 2011-11-06  Bruno Haible  <bruno@clisp.org>
45975         ansi-c++-opt: Complete the 2011-06-05 change.
45976         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
45977         does not support namespaces, set the variable to "no", not to ":".
45979 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45981         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
45983 2011-11-06  Bruno Haible  <bruno@clisp.org>
45985         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
45986         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
45987         (minus_zerol) [HP-UX]: New macro.
45988         (unary_minus) [HP-UX]: New function.
45989         (copysignl) [HP-UX]: Use unary_minus function.
45991 2011-11-06  Bruno Haible  <bruno@clisp.org>
45993         ldexp, ldexpf, ldexpl: Enhance tests.
45994         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
45995         and tests/test-ldexpl.c.
45996         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
45997         LDEXP, MIN_EXP, MAX_EXP): New macros.
45998         Include test-ldexp.h.
45999         (main): Just call test_function.
46000         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
46001         infinity.h, nan.h.
46002         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46003         MAX_EXP): New macros.
46004         Include test-ldexp.h.
46005         (x, y): Remove variables.
46006         (main): Just call test_function.
46007         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
46008         infinity.h, nan.h.
46009         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
46010         MAX_EXP): New macros.
46011         Include test-ldexp.h.
46012         (x, y): Remove variables.
46013         (main): Just call test_function.
46014         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
46015         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
46016         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46017         (Depends-on): Add isnand-nolibm, signbit, float.
46018         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
46019         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
46020         (Depends-on): Add isnanf-nolibm, signbit, float.
46022 2011-11-06  Bruno Haible  <bruno@clisp.org>
46024         math tests: Cosmetics.
46025         * tests/test-math-c++.cc: Reorder declarations.
46027 2011-11-05  Bruno Haible  <bruno@clisp.org>
46029         fma*: Simplify test.
46030         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
46031         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
46033         Tests for module 'fmal'.
46034         * modules/fmal-tests: New file.
46035         * tests/test-fmal1.c: New file.
46036         * tests/test-fmal2.c: New file.
46038         New module 'fmal'.
46039         * lib/math.in.h (fmal): New declaration.
46040         * lib/fmal.c: New file.
46041         * m4/fmal.m4: New file.
46042         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
46043         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
46044         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
46045         REPLACE_FMAL.
46046         * modules/fmal: New file.
46047         * doc/posix-functions/fmal.texi: Mention the new module and the various
46048         bugs.
46050         Tests for module 'fmaf'.
46051         * modules/fmaf-tests: New file.
46052         * tests/test-fmaf1.c: New file.
46053         * tests/test-fmaf2.c: New file.
46055         New module 'fmaf'.
46056         * lib/math.in.h (fmaf): New declaration.
46057         * lib/fmaf.c: New file.
46058         * m4/fmaf.m4: New file.
46059         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
46060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
46061         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
46062         REPLACE_FMAF.
46063         * modules/fmaf: New file.
46064         * doc/posix-functions/fmaf.texi: Mention the new module and the various
46065         bugs.
46067         Tests for module 'fma'.
46068         * modules/fma-tests: New file.
46069         * tests/test-fma1.c: New file.
46070         * tests/test-fma1.h: New file.
46071         * tests/test-fma2.c: New file.
46072         * tests/test-fma2.h: New file.
46074         New module 'fma'.
46075         * lib/math.in.h (fma): New declaration.
46076         * lib/fma.c: New file.
46077         * m4/fma.m4: New file.
46078         * m4/fegetround.m4: New file.
46079         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
46080         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
46081         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
46082         REPLACE_FMA.
46083         * modules/fma: New file.
46084         * doc/posix-functions/fma.texi: Mention the new module and the various
46085         bugs.
46087         Extend gl_MATHFUNC.
46088         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
46089         Support 'void' as argument type.
46090         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
46092 2011-11-05  Jim Meyering  <meyering@redhat.com>
46094         maint.mk: also prohibit inclusion of dirent.h without use
46095         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
46097 2011-11-05  Bruno Haible  <bruno@clisp.org>
46099         ldexpl tests: Avoid test failure on MSVC 9.
46100         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
46101         value. Needed in order to enforce the conversion from a value greater
46102         than LDBL_MAX to Infinity.
46104 2011-11-05  Bruno Haible  <bruno@clisp.org>
46106         New modules 'at-internal', 'openat-h', split off from module 'openat'.
46107         * modules/at-internal: New file, extracted from modules/openat.
46108         * modules/openat-h: New file.
46109         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
46110         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
46111         * modules/openat (Description): Add reference to POSIX function.
46112         (Files): Remove lib/openat.h, lib/openat-proc.c.
46113         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
46114         intprops, unistd.
46115         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
46116         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
46117         gl_FCNTL_MODULE_INDICATOR.
46118         (Include): Remove unistd.h, openat.h.
46119         * modules/areadlinkat (Files): Add lib/at-func.c.
46120         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46121         openat-die, openat-h, save-cwd.
46122         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
46123         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46124         openat-die, openat-h, save-cwd, unistd.
46125         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
46126         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46127         openat-h, save-cwd. Remove fcntl-h, openat.
46128         * modules/fchmodat (Files): Remove lib/openat.h.
46129         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46130         openat, stdbool, unistd.
46131         * modules/fchownat (Files): Remove lib/openat.h.
46132         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46133         openat, stdbool, sys_stat.
46134         * modules/fdopendir (Files): Remove lib/openat-priv.h,
46135         lib/openat-proc.c.
46136         (Depends-on): Add at-internal.
46137         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
46138         * modules/fstatat (Files): Remove lib/openat.h.
46139         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46140         stdbool, unistd.
46141         * modules/fts (Depends-on): Add openat-h.
46142         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
46143         openat.
46144         * modules/mkdirat (Files): Remove lib/openat.h.
46145         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
46146         openat, stdbool, sys_stat.
46147         * modules/mkfifoat (Files): Add lib/at-func.c.
46148         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46149         openat-h, save-cwd. Remove fcntl-h, openat.
46150         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
46151         * modules/readlinkat (Files): Add lib/at-func.c.
46152         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46153         openat-h, save-cwd. Remove fcntl-h, openat.
46154         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
46155         openat.
46156         * modules/selinux-at (Files): Add lib/at-func.c.
46157         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46158         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
46159         * modules/symlinkat (Files): Add lib/at-func.c.
46160         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46161         openat-h, save-cwd. Remove fcntl-h, openat.
46162         * modules/unlinkat (Files): Remove lib/openat.h.
46163         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46164         stdbool.
46165         * modules/utimensat (Files): Add lib/at-func.c.
46166         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
46167         openat-die, openat-h, save-cwd.
46168         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
46169         * modules/fdutimensat-tests (Depends-on): Add openat.
46170         * modules/fstatat-tests (Depends-on): Add openat-h.
46171         * modules/readlinkat-tests (Depends-on): Add openat.
46172         * modules/symlinkat-tests (Depends-on): Add openat.
46174 2011-11-05  Bruno Haible  <bruno@clisp.org>
46176         openat: Include <stdbool.h>.
46177         * lib/openat.c: Include <stdbool.h>.
46179 2011-11-04  Bruno Haible  <bruno@clisp.org>
46181         fchownat, renameat, unlinkat: Fix dependencies.
46182         * modules/fchownat (Depends-on): Add fstatat.
46183         * modules/renameat (Depends-on): Likewise.
46184         * modules/unlinkat (Depends-on): Likewise.
46186 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
46188         openat: remove direct dependency on dirent
46189         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
46190         and hasn't been needed ever since fdopendir was split into its own
46191         module on 2009-08-31.
46192         * modules/openat (Depends-on): Remove dirent.
46194 2011-11-04  Bruno Haible  <bruno@clisp.org>
46196         renameat: Optimize code size.
46197         * modules/renameat (configure.ac): Don't compile at-func2.c if
46198         REPLACE_RENAMEAT is 1.
46200 2011-11-04  Bruno Haible  <bruno@clisp.org>
46202         openat tests: Fix file list.
46203         * modules/openat-tests (Files): Add tests/test-open.h.
46205 2011-11-04  Bruno Haible  <bruno@clisp.org>
46207         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
46208         * modules/fchmodat (Depends-on): Add openat-die.
46209         * modules/fchownat (Depends-on): Likewise.
46210         * modules/linkat (Depends-on): Likewise.
46211         * modules/renameat (Depends-on): Likewise.
46212         * modules/openat (Depends-on): Add dirent.
46214 2011-11-04  Jim Meyering  <meyering@redhat.com>
46216         at-func*.c: fix comments
46217         * lib/at-func2.c: Correct/improve first-line comment.
46218         * lib/at-func.c: Correct grammar in first-line comment.
46220 2011-11-04  Bruno Haible  <bruno@clisp.org>
46222         New module 'mkdirat', split off from module 'openat'.
46223         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
46224         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
46225         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
46226         * modules/mkdirat: New file, extracted from modules/openat.
46227         * modules/openat (Files): Remove lib/mkdirat.c.
46228         (Depends-on): Remove mkdir.
46229         (configure.ac): Remove AC_LIBOBJ of mkdirat.
46230         (Include): Remove <sys/stat.h>.
46231         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
46232         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
46233         tests/test-mkdir.h.
46234         (Depends-on): Remove ignore-value.
46235         (Makefile.am): Remove rules for test-mkdirat.
46236         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
46237         of module 'openat'.
46238         * NEWS: Mention the change.
46240 2011-11-04  Bruno Haible  <bruno@clisp.org>
46242         closedir: Avoid warning on mingw.
46243         * lib/closedir.c: Include <unistd.h>.
46245 2011-11-04  Bruno Haible  <bruno@clisp.org>
46247         New module 'fstatat', split off from module 'openat'.
46248         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
46249         defined.
46250         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
46251         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
46252         gl_FUNC_FSTATAT.
46253         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
46254         * modules/fstatat: New file, extracted from modules/openat.
46255         * modules/openat (Files): Remove lib/fstatat.c.
46256         (Depends-on): Remove lstat.
46257         (configure.ac): Remove AC_LIBOBJ of fstatat.
46258         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
46259         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
46260         tests/test-lstat.h, tests/test-stat.h.
46261         (Depends-on): Remove getcwd-lgpl.
46262         (Makefile.am): Remove rules for test-fstatat.
46263         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
46264         of module 'openat'.
46265         * NEWS: Mention the change.
46266         * modules/getcwd (Depends-on): Add fstatat.
46267         * modules/linkat (Depends-on): Likewise.
46268         * modules/mkfifoat-tests (Depends-on): Likewise.
46269         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
46271 2011-11-03  Bruno Haible  <bruno@clisp.org>
46273         New module 'unlinkat', split off from module 'openat'.
46274         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
46275         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
46276         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
46277         * modules/unlinkat: New file, extracted from modules/openat. Correct
46278         the dependency conditions.
46279         * modules/openat (Files): Remove lib/unlinkat.c.
46280         (Depends-on): Remove rmdir, unlink.
46281         (configure.ac): Remove AC_LIBOBJ of unlinkat.
46282         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
46283         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
46284         tests/test-rmdir.h, tests/test-unlink.h.
46285         (Depends-on): Remove unlinkdir.
46286         (Makefile.am): Remove rules for test-unlinkat.
46287         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
46288         of module 'openat'.
46289         * NEWS: Mention the change.
46290         * modules/linkat-tests (Depends-on): Add unlinkat.
46291         * modules/mkfifoat-tests (Depends-on): Likewise.
46292         * modules/readlinkat-tests (Depends-on): Likewise.
46294 2011-11-02  Bruno Haible  <bruno@clisp.org>
46296         New module 'fchmodat', split off from module 'openat'.
46297         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
46298         defined.
46299         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
46300         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
46301         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
46302         * modules/fchmodat: New file, extracted from modules/openat.
46303         * modules/openat (Files): Remove lib/fchmodat.c.
46304         (configure.ac): Remove AC_LIBOBJ of fchmodat.
46305         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
46306         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
46307         (Makefile.am): Remove rules for test-fchmodat.
46308         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
46309         of module 'openat'.
46310         * NEWS: Mention the change.
46312 2011-11-02  Jim Meyering  <meyering@redhat.com>
46314         putenv: indent #definition of "environ" to placate cppi
46315         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
46317         gitlog-to-changelog: provide a ChangeLog-repair mechanism
46318         Git logs are often treated as immutable, because editing them
46319         changes the SHA1 checksums of all descendants.  Thus, errors in
46320         git logs tend to stay there forever.  However, when we generate
46321         a ChangeLog file -- typically for distribution -- from that git log,
46322         we can actually make corrections in the generated file.  The key
46323         lies in recording in machine-readable/applicable form the desired
46324         corrections.  See --help for description and an example.
46325         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
46326         (usage): Describe it; alphabetize option descriptions.
46327         (main): Honor the new option, carefully.
46329 2011-11-01  Jim Meyering  <meyering@redhat.com>
46331         gitlog-to-changelog: avoid an infloop
46332         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
46333         that ends up being empty.
46335 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46337         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
46338         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
46339         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
46340         contains (possibly-quoted) backslashes.  This should avoid
46341         all-too-common shell bugs if COMPLICATED contains backslashes in
46342         the "wrong" places.  Reported by David Evans in
46343         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
46344         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
46345         because we want ASCII ranges.  Is there some reason we don't use
46346         the C locale everywhere in this script?
46347         (func_module, top level): Avoid unwanted pathname expansion when
46348         $repo_url_prefix or $repo_url_suffix_repl contain shell
46349         metacharacters like '?' and '*'.
46351 2011-11-01  Bruno Haible  <bruno@clisp.org>
46353         fchownat: Improve description.
46354         * modules/fchownat (Description): Add link to function.
46356 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46358         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
46359         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
46360         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
46361         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
46363 2011-11-01  Bruno Haible  <bruno@clisp.org>
46365         alignof: Avoid collision with stdalign module.
46366         * lib/alignof.h (alignof): Remove macro.
46367         * NEWS: Mention the change.
46368         Reported by Paul Eggert.
46370 2011-11-01  Bruno Haible  <bruno@clisp.org>
46372         New module 'fchownat', split off from module 'openat'.
46373         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
46374         defined.
46375         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
46376         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
46377         invoke gl_FUNC_FCHOWNAT.
46378         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
46379         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
46380         * modules/fchownat: New file, extracted from modules/openat.
46381         * modules/openat (Files): Remove lib/fchownat.c.
46382         (Depends-on): Remove lchown.
46383         (configure.ac): Remove AC_LIBOBJ of fchownat.
46384         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
46385         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
46386         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
46387         (Depends-on): Remove mgetgroups, usleep, stat-time.
46388         (configure.ac): Remove test for getegid.
46389         (Makefile.am): Remove rules for test-fchownat.
46390         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
46391         of module 'openat'.
46392         * NEWS: Mention the change.
46394 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
46396         stdalign: port better to MSVC and to Sun C 5.11
46397         This fixes some of the problems reported by Bruno Haible in
46398         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
46399         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
46400         shortcomings of MSVC and of Sun C 5.11.
46401         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
46402         around __declspec arg.
46403         * modules/stdalign-tests (Files): Add tests/macros.h.
46404         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
46405         Include macros.h, for ASSERT.
46406         (DECLARE_ALIGNED): Remove.
46407         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
46408         to catch bug), and to 1 if not (simplifies the rest of the code).
46409         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
46410         (CHECK_AUTO): Remove.
46411         (CHECK_ALIGNED): Check only the alignment of the static vars,
46412         since auto var alignment isn't supported by Sun C 5.11.
46413         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
46414         ASSERT failures are easier to diagnose.
46416 2011-10-31  Bruno Haible  <bruno@clisp.org>
46418         doc about some IRIX 5.3 problems.
46419         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
46420         on IRIX 5.3.
46421         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
46422         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
46423         5.3.
46424         * doc/posix-functions/grantpt.texi: Likewise.
46425         * doc/posix-functions/unlockpt.texi: Likewise.
46426         * doc/posix-functions/lgamma.texi: Likewise.
46427         * doc/posix-functions/nextafter.texi: Likewise.
46428         * doc/posix-functions/remainder.texi: Likewise.
46429         * doc/posix-functions/select.texi: Mention misplaced declaration on
46430         IRIX 5.3.
46431         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46433 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
46435         gitlog-to-changelog: fix git-log invocation.
46436         git-log mishandles date strings before 1970-01-01 UTC, and there is
46437         no use to specify --since=1970-01-01 by default anyway.
46438         * build-aux/gitlog-to-changelog: By default, when no --since option
46439         was given, do not specify explicit --since option to git-log.
46441 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
46443         gitlog-to-changelog: new option --append-dot.
46444         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
46445         first non-blank line of each commit message terminated with a dot.
46447 2011-10-30  Bruno Haible  <bruno@clisp.org>
46449         ffsl, ffsll: Avoid compilation error due to 'restrict'.
46450         * lib/ffsl.h: Include <config.h>.
46451         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
46453 2011-10-30  Jim Meyering  <meyering@redhat.com>
46455         GNUmakefile: reenable "make syntax-check" for most projects
46456         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
46457         build-aux variable", "syntax-check" would do nothing but succeed with
46458         the "No version control files detected..." diagnostic (unless you
46459         happened to override _build-aux via cfg.mk).
46460         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
46461         to precede inclusion of maint.mk.  Otherwise, these variables would
46462         be used undefined in any project that does not override the default.
46464 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
46466         gitlog-to-changelog: treat a message with only blank lines as empty.
46467         * build-aux/gitlog-to-changelog: Move the code that removes leading and
46468         trailing blank lines before the code that issues a warning about an
46469         empty commit message.
46471 2011-10-30  Jim Meyering  <meyering@redhat.com>
46473         test-parse-datetime.c: avoid new DST-related false positive test failure
46474         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
46475         based on the time/date we'll convert, not the current time.
46476         Otherwise, the moment we cross a DST boundary like today's in
46477         Europe, (CEST to CET), that offset ends up being one hour off.
46479 2011-10-27  Bruno Haible  <bruno@clisp.org>
46481         fstat: Tweak documentation.
46482         * modules/fstat (Description): More precise description.
46484 2011-10-27  Bruno Haible  <bruno@clisp.org>
46486         Update documentation regarding 'largefile' module.
46487         * doc/posix-functions/fstat.texi: Tweak wording.
46488         * doc/posix-functions/opendir.texi: Mention that the module fixes the
46489         problems with huge directories and/or small ino_t types.
46490         * doc/posix-functions/readdir.texi: Likewise.
46491         * doc/posix-functions/rewinddir.texi: Likewise.
46493 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
46495         maint.mk: don't maintain a second build-aux variable.
46496         * maint.mk (build_aux): Removed.  The maintainer-makefile module
46497         depends on GNUmakefile, which already maintains a cfg.mk
46498         overridable $(_build-aux) for projects with a non-standard
46499         build-aux directory location, although without the $(srcdir)
46500         prefix.  Use that variable consistently instead of introducing a
46501         second one.  Adjust all call sites.
46503 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46505         Add stdalign module and use it in other modules.
46506         This is based on a previous proposal by Bruno Haible
46507         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
46509         stdalign: new module
46510         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
46511         * modules/stdalign: New files.
46512         * MODULES.html.sh (c1x_core_properties): Add stdalign.
46513         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
46515         stdalign-tests: new module
46516         * modules/stdalign-tests, tests/test-stdalign.c: New files.
46518         argp: use stdalign
46519         * lib/argp-parse.c: Include <stdalign.h>.
46520         (alignof): Remove.
46521         * modules/argp (Depends-on): Add stdalign.
46523         crypto libraries: use stdalign
46524         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
46525         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
46526         Do not include <stdlib.h> twice, in md4.c.
46527         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
46528         because we are accessing a pointer's bit-pattern, not a size.
46529         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
46530         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
46531         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
46532         * modules/crypto/sha512: Likewise.
46534         sys_socket: use stdalign, not alignof
46535         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
46536         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
46538 2011-10-27  Bruno Haible  <bruno@clisp.org>
46540         raise test: Avoid a test failure on Linux/MIPS.
46541         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
46542         because 99 is a valid signal on Linux/MIPS.
46544 2011-10-27  Bruno Haible  <bruno@clisp.org>
46546         nonblocking tests: Fix test failure on Linux/MIPS.
46547         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
46548         Set to 270000.
46550 2011-10-27  Bruno Haible  <bruno@clisp.org>
46552         utimensat: Work around problem on Linux/hppa.
46553         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
46554         values.
46555         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
46557 2011-10-25  Jim Meyering  <meyering@redhat.com>
46559         maint.mk: fix a bug in sc_prohibit_stddef_without_use
46560         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
46561         after symbols like NULL, size_t, etc.
46562         Reported by Alfred M. Szmidt.
46564         maint.mk: exempt ENODATA from a syntax-check rule
46565         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
46566         from the sc_prohibit_always-defined_macros syntax-check rule.
46567         Add a comment.  See this for more details:
46568         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
46570 2011-10-23  Jim Meyering  <meyering@redhat.com>
46572         fts: close parent dir FD before returning from post-traversal fts_read
46573         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
46574         unlink A, even though an FD open on A remained.  This is suboptimal
46575         (holding a file descriptor open longer than needed), but otherwise not
46576         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
46577         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
46578         that represents a real problem: it causes the removal of A to fail
46579         with e.g., "rm: cannot remove `A': Device or resource busy"
46581         fts visits each directory twice and keeps a cache (fts_fd_ring) of
46582         directory file descriptors.  After completing the final, FTS_DP,
46583         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
46584         cache, but then proceeded to add a new FD to it via the subsequent
46585         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
46586         final file descriptor would be closed only via fts_close's call to
46587         fd_ring_clear.  Now, it is usually closed earlier, via the final
46588         FTS_DP-returning fts_read call.
46589         * lib/fts.c (restore_initial_cwd): New function, converted from
46590         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
46591         Update callers.
46592         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
46593         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
46595 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
46596             Bruno Haible  <bruno@clisp.org>
46597             Jim Meyering  <jim@meyering.net>
46599         readme-release: improve safety of release prep instructions.
46600         * README-release: Don't git pull all branches when only master
46601         is needed for the release process.
46602         Run make maintainer-clean before changing trees and merging.
46603         Don't try to run ./configure right after git pull in case files
46604         that influence the bootstrap process have changed, move the
46605         ./configure step to after running ./bootstrap.
46606         Don't bootstrap "one last time"... it's the first time!
46608 2011-10-22  Bruno Haible  <bruno@clisp.org>
46610         errno, strerror-override: Support for MSVC 10.
46611         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
46612         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
46613         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
46614         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
46615         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
46616         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
46617         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
46618         Assign values compatible with MSVC 10.
46619         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
46620         New macros.
46621         (GNULIB_defined_EWINSOCK): New macro.
46622         * lib/strerror-override.c (strerror_override): Update accordingly.
46623         * lib/strerror-override.h: Likewise.
46624         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
46625         longer equal to the corresponding errno value.
46626         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46628 2011-10-22  Bruno Haible  <bruno@clisp.org>
46630         perror: Recognize when test program crashes.
46631         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
46632         strerror, set gl_cv_func_perror_works to no.
46633         Reported by Daniel Richard G. <skunk@iskunk.org>.
46635         perror: Fix indentation.
46636         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
46638 2011-10-22  Bruno Haible  <bruno@clisp.org>
46640         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
46641         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
46642         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
46643         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
46644         functions, not as a macro.
46645         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
46646         macros.
46647         (isfinite, isinf, isnan, signbit): Check overloaded functions and
46648         absence of macro.
46649         Suggested by Eric Blake.
46650         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46652 2011-10-21  Bruno Haible  <bruno@clisp.org>
46654         relocatable-prog-wrapper: Don't leave object files behind.
46655         * build-aux/install-reloc: Re-synchronize list of .o files to be
46656         removed with list of compilation units.
46658 2011-10-20  Bruno Haible  <bruno@clisp.org>
46660         openpty, posix_openpt: Remove code duplication.
46661         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
46662         * lib/openpty.c: Include <stdlib.h>.
46663         (openpty): Use posix_openpt on all platforms except IRIX.
46664         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
46666 2011-10-20  Bruno Haible  <bruno@clisp.org>
46668         unlockpt: Detect invalid argument.
46669         * lib/unlockpt.c: Include <fcntl.h>.
46670         (unlockpt): Check whether fd is valid, using fcntl().
46671         * modules/unlockpt (Depends-on): Add fcntl-h.
46673 2011-10-20  Bruno Haible  <bruno@clisp.org>
46675         openpty: Avoid compilation error on AIX 6.1.
46676         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
46678 2011-10-20  Bruno Haible  <bruno@clisp.org>
46680         posix_openpt: Support for OpenBSD.
46681         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
46682         (posix_openpt) [OpenBSD]: New code.
46683         * lib/grantpt.c: Include <fcntl.h>.
46684         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
46685         * modules/grantpt (Depends-on): Add fcntl-h.
46687 2011-10-20  Bruno Haible  <bruno@clisp.org>
46689         posix_openpt test: Coding style.
46690         * tests/test-posix_openpt.c: Use GNU coding style.
46692 2011-10-20  Bruno Haible  <bruno@clisp.org>
46694         grantpt: Support --avoid=pt_chown.
46695         * modules/grantpt (Files): Add lib/pty-private.h.
46697 2011-10-20  Bruno Haible  <bruno@clisp.org>
46699         posix_openpt: Fix autoconf macro.
46700         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
46701         unneeded check for _getpty.
46703 2011-10-20  Bruno Haible  <bruno@clisp.org>
46705         openpty: Update comments.
46706         * lib/openpty.c: Add comments about Minix.
46708 2011-10-19  Eric Blake  <eblake@redhat.com>
46710         openpty: relax license
46711         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
46713         pt_chown: use configmake to simplify build
46714         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
46716         ptsname and others: relax license
46717         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
46718         * modules/unlockpt (License): Likewise.
46719         * modules/pt_chown (License): Likewise.
46720         * modules/ptsname (License): Likewise.
46721         * modules/ttyname_r (License): Likewise.
46723 2011-10-19  Jim Meyering  <meyering@redhat.com>
46725         posix_openpt: remove spurious #endif
46726         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
46728 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
46730         maint.mk: Respect $(build_aux) in web-manual rule.
46731         * top/maint.mk (web-manual): Find gen-announce script in user's
46732         $(build_aux) directory instead of hard-coding 'build-aux'.
46734 2011-10-19  Bruno Haible  <bruno@clisp.org>
46736         posix_openpt: Fix compilation error.
46737         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
46738         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
46739         Mention the openpty module as an alternative.
46741 2011-10-19  Bruno Haible  <bruno@clisp.org>
46743         Support for old NeXTstep 3.3 frexp().
46744         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
46745         execution time of the test to 5 seconds.
46746         Reported by Daniel Richard G. <skunk@iskunk.org>.
46748 2011-10-19  Bruno Haible  <bruno@clisp.org>
46750         Support for old NeXTstep 3.3 sed.
46751         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
46752         part, use /.../, not \|...|. Escape periods in the header file name.
46753         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
46754         Reported by Daniel Richard G. <skunk@iskunk.org>.
46756 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46758         Support for old NeXTstep 3.3 gcc.
46759         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
46760         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
46761         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
46762         * lib/spawn.in.h (_Restrict_arr_): Likewise.
46763         * lib/regex.h (_Restrict_arr_): Likewise.
46764         * lib/regex_internal.h (re_token_t): Likewise.
46765         * lib/regexec.c (check_node_accept_bytes): Likewise.
46766         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
46768 2011-10-18  Eric Blake  <eblake@redhat.com>
46770         posix_openpt: new module
46771         * modules/posix_openpt: New module.
46772         * m4/posix_openpt.m4: New file.
46773         * lib/posix_openpt.c: Likewise.
46774         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46775         (gl_STDLIB_H_DEFAULTS): Set defaults.
46776         * modules/stdlib (Makefile.am): Substitute macros.
46777         * lib/stdlib.in.h (posix_openpt): Declare.
46778         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
46779         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
46780         * modules/posix_openpt-tests: New test module.
46781         * tests/test-posix_openpt.c: New test.
46783 2011-10-15  Bruno Haible  <bruno@clisp.org>
46785         xstrtoll: Fix compilation failure.
46786         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
46787         from lib/strtol.c.
46788         * doc/posix-headers/limits.texi: Mention missing numerical limits on
46789         some platforms.
46790         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46792 2011-10-15  Bruno Haible  <bruno@clisp.org>
46794         vasnprintf: Optimize bit search operation.
46795         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
46796         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
46797         gl_DOUBLE_EXPONENT_LOCATION.
46798         * modules/vasnprintf (Files): Add m4/exponentd.m4.
46799         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46800         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46801         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46802         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46803         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46804         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46805         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46806         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
46808 2011-10-15  Bruno Haible  <bruno@clisp.org>
46810         vasnprintf: Fix comments.
46811         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
46813 2011-10-14  Bruno Haible  <bruno@clisp.org>
46815         Tests for module 'integer_length_ll'.
46816         * modules/integer_length_ll-tests: New file.
46817         * tests/test-integer_length_ll.c: New file.
46819         New module 'integer_length_ll'.
46820         * lib/integer_length_ll.c: New file.
46821         * modules/integer_length_ll: New file.
46823 2011-10-14  Bruno Haible  <bruno@clisp.org>
46825         Tests for module 'integer_length_l'.
46826         * modules/integer_length_l-tests: New file.
46827         * tests/test-integer_length_l.c: New file.
46829         New module 'integer_length_l'.
46830         * lib/integer_length_l.c: New file.
46831         * modules/integer_length_l: New file.
46833 2011-10-14  Bruno Haible  <bruno@clisp.org>
46835         Tests for module 'integer_length'.
46836         * modules/integer_length-tests: New file.
46837         * tests/test-integer_length.c: New file.
46839         New module 'integer_length'.
46840         * lib/integer_length.h: New file.
46841         * lib/integer_length.c: New file.
46842         * modules/integer_length: New file.
46844 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46846         popen: Fix dependency conditions.
46847         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
46849 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46851         perror: Fix autoconf test.
46852         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
46853         <stdlib.h> and <string.h>.
46855 2011-10-14  Bruno Haible  <bruno@clisp.org>
46857         ffsl: Optimize on 64-bit platforms.
46858         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
46859         unrolling.
46861 2011-10-13  Bruno Haible  <bruno@clisp.org>
46863         ffsl: Optimize on 32-bit platforms.
46864         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
46865         use ffs() without a loop.
46867         ffsl, ffsll: Optimize for GCC.
46868         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
46869         * lib/ffsl.c (GCC_BUILTIN): New macro.
46870         * lib/ffsll.c (GCC_BUILTIN): Likewise.
46872 2011-10-13  Bruno Haible  <bruno@clisp.org>
46874         ffs, bcopy, memset: Support symbol renaming via config.h.
46875         * lib/ffs.c: Include <config.h>.
46876         * lib/bcopy.c: Likewise.
46877         * lib/memset.c: Likewise.
46879 2011-10-10  Bruno Haible  <bruno@clisp.org>
46881         atanl: Simplify for platforms where 'long double' == 'double'.
46882         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46883         alternative implementation.
46884         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46885         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46886         * modules/atanl (Depends-on): Add atan. Update conditions.
46888 2011-10-10  Bruno Haible  <bruno@clisp.org>
46890         acosl: Simplify for platforms where 'long double' == 'double'.
46891         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46892         alternative implementation.
46893         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46894         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46895         * modules/acosl (Depends-on): Add acos. Update conditions.
46897 2011-10-10  Bruno Haible  <bruno@clisp.org>
46899         asinl: Simplify for platforms where 'long double' == 'double'.
46900         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46901         alternative implementation.
46902         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46903         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46904         * modules/asinl (Depends-on): Add asin. Update conditions.
46906 2011-10-10  Bruno Haible  <bruno@clisp.org>
46908         tanl: Simplify for platforms where 'long double' == 'double'.
46909         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46910         implementation.
46911         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46912         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46913         * modules/tanl (Depends-on): Add tan. Update conditions.
46914         (configure.ac): Don't compile trigl.c if
46915         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46917 2011-10-10  Bruno Haible  <bruno@clisp.org>
46919         cosl: Simplify for platforms where 'long double' == 'double'.
46920         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46921         implementation.
46922         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46923         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46924         * modules/cosl (Depends-on): Add cos. Update conditions.
46925         (configure.ac): Don't compile sincosl.c and trigl.c if
46926         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46928 2011-10-10  Bruno Haible  <bruno@clisp.org>
46930         sinl: Simplify for platforms where 'long double' == 'double'.
46931         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46932         implementation.
46933         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46934         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46935         * modules/sinl (Depends-on): Add sin. Update conditions.
46936         (configure.ac): Don't compile sincosl.c and trigl.c if
46937         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46939 2011-10-10  Bruno Haible  <bruno@clisp.org>
46941         logl: Simplify for platforms where 'long double' == 'double'.
46942         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46943         implementation.
46944         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46945         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46946         * modules/logl (Depends-on): Add log. Update conditions.
46948 2011-10-10  Bruno Haible  <bruno@clisp.org>
46950         expl: Simplify for platforms where 'long double' == 'double'.
46951         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46952         implementation.
46953         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46954         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46955         * modules/expl (Depends-on): Add exp. Update conditions.
46957 2011-10-10  Bruno Haible  <bruno@clisp.org>
46959         sqrtl: Simplify for platforms where 'long double' == 'double'.
46960         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46961         alternative implementation.
46962         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46963         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46964         * modules/sqrtl (Depends-on): Update conditions.
46966 2011-10-10  Bruno Haible  <bruno@clisp.org>
46968         ldexpl: Simplify for platforms where 'long double' == 'double'.
46969         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46970         alternative implementation.
46971         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46972         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46973         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
46975 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
46977         ffsll: set correct witness
46978         * modules/ffsll (configure.ac): Fix typo.
46980 2011-10-10  Bruno Haible  <bruno@clisp.org>
46982         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
46983         * lib/printf-frexpl.c: Include <config.h>.
46984         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46985         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
46986         second time.
46987         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
46988         gl_LONG_DOUBLE_VS_DOUBLE.
46989         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
46990         conditions.
46992 2011-10-10  Bruno Haible  <bruno@clisp.org>
46994         frexpl: Simplify for platforms where 'long double' == 'double'.
46995         * lib/frexpl.c: Include <config.h>.
46996         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46997         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46998         time.
46999         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47000         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47001         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
47002         * modules/frexpl (Depends-on): Add frexp. Update conditions.
47003         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
47004         conditions.
47006 2011-10-10  Jim Meyering  <meyering@redhat.com>
47008         test-renameat: don't leave behind a temporary file
47009         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
47010           ERROR: files left in build directory after distclean:
47011           ./gltests/test-renameat.too
47012           make[1]: *** [distcleancheck] Error 1
47013         Reported by Tom G. Christensen.
47015 2011-10-09  Bruno Haible  <bruno@clisp.org>
47017         rint: Determine RINT_LIBM correctly on AIX 7.
47018         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
47019         directly, not only through a function pointer. Also accept an optional
47020         4th argument with extra code.
47021         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
47022         rintf() call by gcc when optimizing.
47024         mathfunc.m4: Refactor.
47025         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
47026         m4 variable.
47028 2011-10-09  Bruno Haible  <bruno@clisp.org>
47030         rintl: Simplify for platforms where 'long double' == 'double'.
47031         * lib/rintl.c: Include <config.h>.
47032         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47033         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47034         time.
47035         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47036         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47037         * modules/rintl (Depends-on): Add rint. Update conditions.
47039 2011-10-09  Bruno Haible  <bruno@clisp.org>
47041         roundl: Simplify for platforms where 'long double' == 'double'.
47042         * lib/roundl.c: Include <config.h>.
47043         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47044         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47045         time.
47046         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47047         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47048         * modules/roundl (Depends-on): Add round. Update conditions.
47050 2011-10-09  Bruno Haible  <bruno@clisp.org>
47052         truncl: Simplify for platforms where 'long double' == 'double'.
47053         * lib/truncl.c: Include <config.h>.
47054         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47055         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47056         time.
47057         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47058         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47059         * modules/truncl (Depends-on): Add trunc. Update conditions.
47061 2011-10-09  Bruno Haible  <bruno@clisp.org>
47063         ceill: Simplify for platforms where 'long double' == 'double'.
47064         * lib/ceill.c: Include <config.h>.
47065         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47066         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47067         time.
47068         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47069         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47070         * modules/ceill (Depends-on): Add ceil. Update conditions.
47072 2011-10-09  Bruno Haible  <bruno@clisp.org>
47074         floorl: Simplify for platforms where 'long double' == 'double'.
47075         * lib/floorl.c: Include <config.h>.
47076         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
47077         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
47078         time.
47079         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47080         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47081         * modules/floorl (Depends-on): Add floor. Update conditions.
47083 2011-10-09  Bruno Haible  <bruno@clisp.org>
47085         rint: Fix ordering constraints.
47086         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
47087         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
47088         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
47090 2011-10-09  Bruno Haible  <bruno@clisp.org>
47092         copysignl: Simplify for platforms where 'long double' == 'double'.
47093         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
47094         alternative.
47095         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47096         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
47097         * modules/copysignl (Depends-on): Add copysign. Update conditions.
47099 2011-10-09  Bruno Haible  <bruno@clisp.org>
47101         Tests for module 'rintl'.
47102         * modules/rintl-tests: New file.
47103         * tests/test-rintl.c: New file.
47105         New module 'rintl'.
47106         * lib/math.in.h (rintl): New declaration.
47107         * lib/rintl.c: New file.
47108         * m4/rintl.m4: New file.
47109         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
47110         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
47111         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
47112         * modules/rintl: New file.
47113         * tests/test-math-c++.cc: Check the declaration of rintl.
47114         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47115         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
47116         * doc/posix-functions/rintl.texi: Mention the new module.
47118 2011-10-09  Bruno Haible  <bruno@clisp.org>
47120         Tests for module 'rintf'.
47121         * modules/rintf-tests: New file.
47122         * tests/test-rintf.c: New file.
47124         New module 'rintf'.
47125         * lib/math.in.h (rintf): New declaration.
47126         * lib/rintf.c: New file.
47127         * m4/rintf.m4: New file.
47128         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
47129         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
47130         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
47131         * modules/rintf: New file.
47132         * tests/test-math-c++.cc: Check the declaration of rintf.
47133         * doc/posix-functions/rintf.texi: Mention the new module.
47135 2011-10-09  Bruno Haible  <bruno@clisp.org>
47137         rint: Support for MSVC.
47138         * lib/math.in.h (rint): New declaration.
47139         * lib/rint.c: New file.
47140         * m4/rint.m4: New file.
47141         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
47142         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
47143         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
47144         * modules/rint (Description): Fix.
47145         (Files): Add lib/rint.c, m4/rint.m4.
47146         (Depends-on): Add math.
47147         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
47148         gl_MATH_MODULE_INDICATOR.
47149         * tests/test-math-c++.cc: Check the declaration of rint.
47150         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47151         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
47152         * doc/posix-functions/rint.texi: Mention the replacement provided by
47153         the module.
47155         rint tests: More tests.
47156         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
47157         minus-zero.h, infinity.h, nan.h.
47158         (main): Skip the test if the current rounding mode is not standard. Add
47159         tests for negative numbers, minus zero, infinity, NaN.
47160         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
47161         tests/nan.h.
47162         (Depends-on): Add isnand-nolibm.
47164 2011-10-09  Bruno Haible  <bruno@clisp.org>
47166         Tests for module 'copysignl'.
47167         * modules/copysignl-tests: New file.
47168         * tests/test-copysignl.c: New file.
47170         New module 'copysignl'.
47171         * lib/math.in.h (copysignl): New declaration.
47172         * lib/copysignl.c: New file.
47173         * m4/copysignl.m4: New file.
47174         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
47175         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
47176         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
47177         HAVE_COPYSIGNL.
47178         * modules/copysignl: New file.
47179         * tests/test-math-c++.cc: Check the declaration of copysignl.
47180         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47181         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
47182         * doc/posix-functions/copysignl.texi: Mention the new module.
47184 2011-10-09  Bruno Haible  <bruno@clisp.org>
47186         Tests for module 'copysignf'.
47187         * modules/copysignf-tests: New file.
47188         * tests/test-copysignf.c: New file.
47190         New module 'copysignf'.
47191         * lib/math.in.h (copysignf): New declaration.
47192         * lib/copysignf.c: New file.
47193         * m4/copysignf.m4: New file.
47194         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
47195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
47196         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
47197         HAVE_COPYSIGNF.
47198         * modules/copysignf: New file.
47199         * tests/test-math-c++.cc: Check the declaration of copysignf.
47200         * doc/posix-functions/copysignf.texi: Mention the new module.
47202 2011-10-09  Bruno Haible  <bruno@clisp.org>
47204         Ensure that HAVE_* variables are set to 1 before they are set to 0.
47205         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
47206         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
47207         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47208         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
47209         gl_SIGNAL_H_DEFAULTS.
47211 2011-10-09  Bruno Haible  <bruno@clisp.org>
47213         poll: Make macro safer.
47214         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
47215         ac_cv_header_poll_h is not set.
47217 2011-10-09  Bruno Haible  <bruno@clisp.org>
47219         copysign: Provide replacement.
47220         * lib/math.in.h (copysign): New declaration.
47221         * lib/copysign.c: New file.
47222         * m4/copysign.m4: New file.
47223         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
47224         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
47225         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
47226         HAVE_COPYSIGN.
47227         * modules/copysign (Description): Clarify.
47228         (Files): Add lib/copysign.c, m4/copysign.m4.
47229         (Depends-on): Add math, signbit.
47230         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
47231         gl_MATH_MODULE_INDICATOR.
47232         * tests/test-math-c++.cc: Check the declaration of copysign.
47233         * doc/posix-functions/copysign.texi: Mention the effects of the module
47234         on Minix and MSVC.
47236 2011-10-09  Bruno Haible  <bruno@clisp.org>
47238         isinf: Ensure macro on AIX 5.1.
47239         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
47240         macro.
47241         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
47243 2011-10-09  Bruno Haible  <bruno@clisp.org>
47245         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
47246         * modules/snprintf-posix-tests (configure.ac): Require
47247         gl_LONG_DOUBLE_VS_DOUBLE.
47248         * modules/sprintf-posix-tests (configure.ac): Likewise.
47249         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
47250         * modules/vasprintf-posix-tests (configure.ac): Likewise.
47251         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
47252         * modules/vsprintf-posix-tests (configure.ac): Likewise.
47253         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
47254         tests on platforms where 'long double' is the same as 'double'.
47255         * tests/test-sprintf-posix.h (test_function): Likewise.
47256         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47257         * tests/test-vasprintf-posix.c (test_function): Likewise.
47259         *printf: Fix for platforms where 'long double' == 'double'.
47260         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47261         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
47262         * modules/dprintf-posix (Files): Add m4/math_h.m4.
47263         * modules/fprintf-posix (Files): Likewise.
47264         * modules/obstack-printf-posix (Files): Likewise.
47265         * modules/snprintf-posix (Files): Likewise.
47266         * modules/sprintf-posix (Files): Likewise.
47267         * modules/vasnprintf (Files): Likewise.
47268         * modules/vasnprintf-posix (Files): Likewise.
47269         * modules/vasprintf-posix (Files): Likewise.
47270         * modules/vdprintf-posix (Files): Likewise.
47271         * modules/vfprintf-posix (Files): Likewise.
47272         * modules/vsnprintf-posix (Files): Likewise.
47273         * modules/vsprintf-posix (Files): Likewise.
47274         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47275         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47276         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47277         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47278         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47279         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47280         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47282         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
47283         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
47284         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47285         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
47286         'long double'.
47287         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
47289         isinf: Fix for platforms where 'long double' == 'double'.
47290         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47291         Don't blindly assume 80-bit 'long double'.
47293         isfinite: Fix for platforms where 'long double' == 'double'.
47294         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47295         Don't blindly assume 80-bit 'long double'.
47297         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
47298         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
47299         * modules/isfinite-tests (configure.ac): Require
47300         gl_LONG_DOUBLE_VS_DOUBLE.
47301         * modules/isinf-tests (configure.ac): Likewise.
47302         * modules/isnan-tests (configure.ac): Likewise.
47303         * modules/isnanl-tests (configure.ac): Likewise.
47304         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
47305         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
47306         tests on platforms where 'long double' is the same as 'double'.
47307         * tests/test-isinf.c (test_isinfl): Likewise.
47308         * tests/test-isnan.c (test_long_double): Likewise.
47309         * tests/test-isnanl.h (main): Likewise.
47311 2011-10-08  Bruno Haible  <bruno@clisp.org>
47313         Tests for module 'tanhf'.
47314         * modules/tanhf-tests: New file.
47315         * tests/test-tanhf.c: New file.
47317         New module 'tanhf'.
47318         * lib/math.in.h (tanhf): New declaration.
47319         * lib/tanhf.c: New file.
47320         * m4/tanhf.m4: New file.
47321         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
47322         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
47323         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
47324         * modules/tanhf: New file.
47325         * tests/test-math-c++.cc: Check the declaration of tanhf.
47326         * doc/posix-functions/tanhf.texi: Mention the new module.
47328         tanh: Use a .m4 file.
47329         * m4/tanh.m4: New file.
47330         * modules/tanh (Files): Add it.
47331         (configure.ac): Just invoke gl_FUNC_TANH.
47333 2011-10-08  Bruno Haible  <bruno@clisp.org>
47335         Tests for module 'coshf'.
47336         * modules/coshf-tests: New file.
47337         * tests/test-coshf.c: New file.
47339         New module 'coshf'.
47340         * lib/math.in.h (coshf): New declaration.
47341         * lib/coshf.c: New file.
47342         * m4/coshf.m4: New file.
47343         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
47344         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
47345         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
47346         * modules/coshf: New file.
47347         * tests/test-math-c++.cc: Check the declaration of coshf.
47348         * doc/posix-functions/coshf.texi: Mention the new module.
47350         cosh: Use a .m4 file.
47351         * m4/cosh.m4: New file.
47352         * modules/cosh (Files): Add it.
47353         (configure.ac): Just invoke gl_FUNC_COSH.
47355 2011-10-08  Bruno Haible  <bruno@clisp.org>
47357         Tests for module 'sinhf'.
47358         * modules/sinhf-tests: New file.
47359         * tests/test-sinhf.c: New file.
47361         New module 'sinhf'.
47362         * lib/math.in.h (sinhf): New declaration.
47363         * lib/sinhf.c: New file.
47364         * m4/sinhf.m4: New file.
47365         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
47366         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
47367         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
47368         * modules/sinhf: New file.
47369         * tests/test-math-c++.cc: Check the declaration of sinhf.
47370         * doc/posix-functions/sinhf.texi: Mention the new module.
47372         sinh: Use a .m4 file.
47373         * m4/sinh.m4: New file.
47374         * modules/sinh (Files): Add it.
47375         (configure.ac): Just invoke gl_FUNC_SINH.
47377 2011-10-08  Bruno Haible  <bruno@clisp.org>
47379         Tests for module 'atan2f'.
47380         * modules/atan2f-tests: New file.
47381         * tests/test-atan2f.c: New file.
47383         New module 'atan2f'.
47384         * lib/math.in.h (atan2f): New declaration.
47385         * lib/atan2f.c: New file.
47386         * m4/atan2f.m4: New file.
47387         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
47388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
47389         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
47390         * modules/atan2f: New file.
47391         * tests/test-math-c++.cc: Check the declaration of atan2f.
47392         * doc/posix-functions/atan2f.texi: Mention the new module.
47394         atan2: Use a .m4 file.
47395         * m4/atan2.m4: New file.
47396         * modules/atan2 (Files): Add it.
47397         (configure.ac): Just invoke gl_FUNC_ATAN2.
47399 2011-10-08  Bruno Haible  <bruno@clisp.org>
47401         Tests for module 'atanf'.
47402         * modules/atanf-tests: New file.
47403         * tests/test-atanf.c: New file.
47405         New module 'atanf'.
47406         * lib/math.in.h (atanf): New declaration.
47407         * lib/atanf.c: New file.
47408         * m4/atanf.m4: New file.
47409         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
47410         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
47411         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
47412         * modules/atanf: New file.
47413         * tests/test-math-c++.cc: Check the declaration of atanf.
47414         * doc/posix-functions/atanf.texi: Mention the new module.
47416         atan: Use a .m4 file.
47417         * m4/atan.m4: New file.
47418         * modules/atan (Files): Add it.
47419         (configure.ac): Just invoke gl_FUNC_ATAN.
47421 2011-10-08  Bruno Haible  <bruno@clisp.org>
47423         Tests for module 'acosf'.
47424         * modules/acosf-tests: New file.
47425         * tests/test-acosf.c: New file.
47427         New module 'acosf'.
47428         * lib/math.in.h (acosf): New declaration.
47429         * lib/acosf.c: New file.
47430         * m4/acosf.m4: New file.
47431         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
47432         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
47433         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
47434         * modules/acosf: New file.
47435         * tests/test-math-c++.cc: Check the declaration of acosf.
47436         * doc/posix-functions/acosf.texi: Mention the new module.
47438         acos: Use a .m4 file.
47439         * m4/acos.m4: New file.
47440         * modules/acos (Files): Add it.
47441         (configure.ac): Just invoke gl_FUNC_ACOS.
47443 2011-10-08  Bruno Haible  <bruno@clisp.org>
47445         Tests for module 'asinf'.
47446         * modules/asinf-tests: New file.
47447         * tests/test-asinf.c: New file.
47449         New module 'asinf'.
47450         * lib/math.in.h (asinf): New declaration.
47451         * lib/asinf.c: New file.
47452         * m4/asinf.m4: New file.
47453         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
47454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
47455         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
47456         * modules/asinf: New file.
47457         * tests/test-math-c++.cc: Check the declaration of asinf.
47458         * doc/posix-functions/asinf.texi: Mention the new module.
47460         asin: Use a .m4 file.
47461         * m4/asin.m4: New file.
47462         * modules/asin (Files): Add it.
47463         (configure.ac): Just invoke gl_FUNC_ASIN.
47465 2011-10-08  Bruno Haible  <bruno@clisp.org>
47467         Tests for module 'tanf'.
47468         * modules/tanf-tests: New file.
47469         * tests/test-tanf.c: New file.
47471         New module 'tanf'.
47472         * lib/math.in.h (tanf): New declaration.
47473         * lib/tanf.c: New file.
47474         * m4/tanf.m4: New file.
47475         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
47476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
47477         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
47478         * modules/tanf: New file.
47479         * tests/test-math-c++.cc: Check the declaration of tanf.
47480         * doc/posix-functions/tanf.texi: Mention the new module.
47482         tan: Use a .m4 file.
47483         * m4/tan.m4: New file.
47484         * modules/tan (Files): Add it.
47485         (configure.ac): Just invoke gl_FUNC_TAN.
47487 2011-10-08  Bruno Haible  <bruno@clisp.org>
47489         Tests for module 'cosf'.
47490         * modules/cosf-tests: New file.
47491         * tests/test-cosf.c: New file.
47493         New module 'cosf'.
47494         * lib/math.in.h (cosf): New declaration.
47495         * lib/cosf.c: New file.
47496         * m4/cosf.m4: New file.
47497         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
47498         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
47499         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
47500         * modules/cosf: New file.
47501         * tests/test-math-c++.cc: Check the declaration of cosf.
47502         * doc/posix-functions/cosf.texi: Mention the new module.
47504         cos: Use a .m4 file.
47505         * m4/cos.m4: New file.
47506         * modules/cos (Files): Add it.
47507         (configure.ac): Just invoke gl_FUNC_COS.
47509 2011-10-08  Bruno Haible  <bruno@clisp.org>
47511         Tests for module 'sinf'.
47512         * modules/sinf-tests: New file.
47513         * tests/test-sinf.c: New file.
47515         New module 'sinf'.
47516         * lib/math.in.h (sinf): New declaration.
47517         * lib/sinf.c: New file.
47518         * m4/sinf.m4: New file.
47519         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
47520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
47521         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
47522         * modules/sinf: New file.
47523         * tests/test-math-c++.cc: Check the declaration of sinf.
47524         * doc/posix-functions/sinf.texi: Mention the new module.
47526         sin: Use a .m4 file.
47527         * m4/sin.m4: New file.
47528         * modules/sin (Files): Add it.
47529         (configure.ac): Just invoke gl_FUNC_SIN.
47531 2011-10-08  Bruno Haible  <bruno@clisp.org>
47533         Tests for module 'powf'.
47534         * modules/powf-tests: New file.
47535         * tests/test-powf.c: New file.
47537         New module 'powf'.
47538         * lib/math.in.h (powf): New declaration.
47539         * lib/powf.c: New file.
47540         * m4/powf.m4: New file.
47541         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
47542         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
47543         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
47544         * modules/powf: New file.
47545         * tests/test-math-c++.cc: Check the declaration of powf.
47546         * doc/posix-functions/powf.texi: Mention the new module.
47548         pow: Use a .m4 file.
47549         * m4/pow.m4: New file.
47550         * modules/pow (Files): Add it.
47551         (configure.ac): Just invoke gl_FUNC_POW.
47553 2011-10-08  Bruno Haible  <bruno@clisp.org>
47555         Tests for module 'log10f'.
47556         * modules/log10f-tests: New file.
47557         * tests/test-log10f.c: New file.
47559         New module 'log10f'.
47560         * lib/math.in.h (log10f): New declaration.
47561         * lib/log10f.c: New file.
47562         * m4/log10f.m4: New file.
47563         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
47564         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
47565         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
47566         * modules/log10f: New file.
47567         * tests/test-math-c++.cc: Check the declaration of log10f.
47568         * doc/posix-functions/log10f.texi: Mention the new module.
47570         log10: Use a .m4 file.
47571         * m4/log10.m4: New file.
47572         * modules/log10 (Files): Add it.
47573         (configure.ac): Just invoke gl_FUNC_LOG10.
47575 2011-10-08  Bruno Haible  <bruno@clisp.org>
47577         Tests for module 'logf'.
47578         * modules/logf-tests: New file.
47579         * tests/test-logf.c: New file.
47581         New module 'logf'.
47582         * lib/math.in.h (logf): New declaration.
47583         * lib/logf.c: New file.
47584         * m4/logf.m4: New file.
47585         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
47586         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
47587         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
47588         * modules/logf: New file.
47589         * tests/test-math-c++.cc: Check the declaration of logf.
47590         * doc/posix-functions/logf.texi: Mention the new module.
47592         log: Use a .m4 file.
47593         * m4/log.m4: New file.
47594         * modules/log (Files): Add it.
47595         (configure.ac): Just invoke gl_FUNC_LOG.
47597 2011-10-08  Bruno Haible  <bruno@clisp.org>
47599         Tests for module 'expf'.
47600         * modules/expf-tests: New file.
47601         * tests/test-expf.c: New file.
47603         New module 'expf'.
47604         * lib/math.in.h (expf): New declaration.
47605         * lib/expf.c: New file.
47606         * m4/expf.m4: New file.
47607         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
47608         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
47609         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
47610         * modules/expf: New file.
47611         * tests/test-math-c++.cc: Check the declaration of expf.
47612         * doc/posix-functions/expf.texi: Mention the new module.
47614         exp: Use a .m4 file.
47615         * m4/exp.m4: New file.
47616         * modules/exp (Files): Add it.
47617         (configure.ac): Just invoke gl_FUNC_EXP.
47619 2011-10-08  Bruno Haible  <bruno@clisp.org>
47621         Tests for module 'sqrtf'.
47622         * modules/sqrtf-tests: New file.
47623         * tests/test-sqrtf.c: New file.
47625         New module 'sqrtf'.
47626         * lib/math.in.h (sqrtf): New declaration.
47627         * lib/sqrtf.c: New file.
47628         * m4/sqrtf.m4: New file.
47629         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
47630         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
47631         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
47632         * modules/sqrtf: New file.
47633         * tests/test-math-c++.cc: Check the declaration of sqrtf.
47634         * doc/posix-functions/sqrtf.texi: Mention the new module.
47636 2011-10-08  Bruno Haible  <bruno@clisp.org>
47638         Tests: Avoid link failures w.r.t. libintl.
47639         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
47640         $(LIBINTL).
47641         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
47642         $(LIBINTL).
47643         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
47644         against $(LIBINTL).
47645         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
47646         $(LIBINTL).
47647         * modules/openat-tests (Makefile.am): Link test-fchmodat against
47648         $(LIBINTL).
47649         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
47651 2011-10-08  Bruno Haible  <bruno@clisp.org>
47653         pow tests: Defeat compiler optimizations.
47654         * tests/test-pow.c (main): Assign arguments to x and y before use.
47656 2011-10-08  Bruno Haible  <bruno@clisp.org>
47658         gnulib-tool: Improve last commit.
47659         * gnulib-tool (func_modules_transitive_closure): Simplify code.
47660         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
47661         ignore dependencies that are not among the modules list.
47663 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
47665         gnulib-tool: don't follow dependencies to avoided modules
47666         This fixes a bug that is related to the previous one.
47667         * gnulib-tool (func_modules_transitive_closure)
47668         (func_emit_autoconf_snippets):
47669         Check whether a dependency is acceptable before using it.
47670         (--extract-dependencies): Report an error if --avoid is also used,
47671         since this combination of options is not yet supported.
47673         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
47674         Problem reported by Peter Dyballa in
47675         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
47676         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
47677         when echoing "$condition".
47679 2011-10-07  Bruno Haible  <bruno@clisp.org>
47681         Fix documentation about math functions on MacOS X.
47682         * doc/posix-functions/exp2.texi: Don't say the function is missing on
47683         MacOS X 10.5.
47684         * doc/posix-functions/fdim.texi: Likewise.
47685         * doc/posix-functions/feclearexcept.texi: Likewise.
47686         * doc/posix-functions/fegetenv.texi: Likewise.
47687         * doc/posix-functions/fegetround.texi: Likewise.
47688         * doc/posix-functions/feholdexcept.texi: Likewise.
47689         * doc/posix-functions/feraiseexcept.texi: Likewise.
47690         * doc/posix-functions/fesetenv.texi: Likewise.
47691         * doc/posix-functions/fesetround.texi: Likewise.
47692         * doc/posix-functions/fetestexcept.texi: Likewise.
47693         * doc/posix-functions/feupdateenv.texi: Likewise.
47694         * doc/posix-functions/fmax.texi: Likewise.
47695         * doc/posix-functions/fmin.texi: Likewise.
47696         * doc/posix-functions/log2.texi: Likewise.
47697         * doc/posix-functions/modff.texi: Likewise.
47698         * doc/posix-functions/nan.texi: Likewise.
47699         * doc/posix-functions/nanf.texi: Likewise.
47700         * doc/posix-functions/nextafterf.texi: Likewise.
47701         * doc/posix-functions/remquo.texi: Likewise.
47703 2011-10-07  Bruno Haible  <bruno@clisp.org>
47705         modff: Drop assumption about library that defines modff.
47706         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
47707         AC_CHECK_FUNCS.
47708         * modules/modff (Files): Add m4/mathfunc.m4.
47710 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
47712         raise tests: Avoid a GCC warning.
47713         * tests/test-raise.c (handler): Use _Noreturn.
47715 2011-10-07  Bruno Haible  <bruno@clisp.org>
47717         Tests for module 'ldexpf'.
47718         * modules/ldexpf-tests: New file.
47719         * tests/test-ldexpf.c: New file.
47721         New module 'ldexpf'.
47722         * lib/math.in.h (ldexpf): New declaration.
47723         * lib/ldexpf.c: New file.
47724         * m4/ldexpf.m4: New file.
47725         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
47726         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
47727         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
47728         * modules/ldexpf: New file.
47729         * tests/test-math-c++.cc: Check the declaration of ldexpf.
47730         * doc/posix-functions/ldexpf.texi: Mention the new module.
47732 2011-10-06  Bruno Haible  <bruno@clisp.org>
47734         frexpf: Work around problems on IRIX and mingw.
47735         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
47736         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
47737         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
47738         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
47739         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
47740         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
47741         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
47743 2011-10-06  Bruno Haible  <bruno@clisp.org>
47745         fabsf: Drop assumption about library that defines fabsf.
47746         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
47747         AC_CHECK_FUNCS.
47748         * modules/fabsf (Files): Add m4/mathfunc.m4.
47750 2011-10-06  Bruno Haible  <bruno@clisp.org>
47752         frexpf: Drop assumption about library that defines frexpf.
47753         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
47754         'int *', 'float *', 'long double *', 'float', 'long double'.
47755         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
47756         AC_CHECK_FUNCS.
47757         * modules/frexpf (Files): Add m4/mathfunc.m4.
47759         Tests for module 'frexpf'.
47760         * modules/frexpf-tests: New file.
47761         * tests/test-frexpf.c: New file.
47763         New module 'frexpf'.
47764         * lib/math.in.h (frexpf): New declaration.
47765         * lib/frexpf.c: New file.
47766         * m4/frexpf.m4: New file.
47767         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
47768         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
47769         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
47770         * modules/frexpf: New file.
47771         * tests/test-math-c++.cc: Check the declaration of frexpf.
47772         * doc/posix-functions/frexpf.texi: Mention the new module.
47774 2011-10-06  Bruno Haible  <bruno@clisp.org>
47776         math: Sort function declarations of math.in.h.
47777         * lib/math.in.h (frexp, logb): Move declarations.
47779 2011-10-05  Bruno Haible  <bruno@clisp.org>
47781         Tests for module 'modff'.
47782         * modules/modff-tests: New file.
47783         * tests/test-modff.c: New file.
47785         New module 'modff'.
47786         * lib/math.in.h (modff): New declaration.
47787         * lib/modff.c: New file.
47788         * m4/modff.m4: New file.
47789         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
47790         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
47791         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
47792         * modules/modff: New file.
47793         * tests/test-math-c++.cc: Check the declaration of modff.
47794         * doc/posix-functions/modff.texi: Mention the new module.
47796         modf tests: Make test sharper.
47797         * tests/test-modf.c (main): Strengthen upper bound.
47799         modf: Use a .m4 file.
47800         * m4/modf.m4: New file.
47801         * modules/modf (Files): Add it.
47802         (configure.ac): Just invoke gl_FUNC_MODF.
47804 2011-10-05  Bruno Haible  <bruno@clisp.org>
47806         Tests for module 'fmodf'.
47807         * modules/fmodf-tests: New file.
47808         * tests/test-fmodf.c: New file.
47810         New module 'fmodf'.
47811         * lib/math.in.h (fmodf): New declaration.
47812         * lib/fmodf.c: New file.
47813         * m4/fmodf.m4: New file.
47814         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
47815         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
47816         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
47817         * modules/fmodf: New file.
47818         * tests/test-math-c++.cc: Check the declaration of fmodf.
47819         * doc/posix-functions/fmodf.texi: Mention the new module.
47821         fmod: Use a .m4 file.
47822         * m4/fmod.m4: New file.
47823         * modules/fmod (Files): Add it.
47824         (configure.ac): Just invoke gl_FUNC_FMOD.
47826 2011-10-05  Bruno Haible  <bruno@clisp.org>
47828         Tests for module 'fabsf'.
47829         * modules/fabsf-tests: New file.
47830         * tests/test-fabsf.c: New file.
47832         New module 'fabsf'.
47833         * lib/math.in.h (fabsf): New declaration.
47834         * lib/fabsf.c: New file.
47835         * m4/fabsf.m4: New file.
47836         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
47837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
47838         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
47839         * modules/fabsf: New file.
47840         * tests/test-math-c++.cc: Check the declaration of fabsf.
47841         * doc/posix-functions/fabsf.texi: Mention the new module.
47843         fabs: Use a .m4 file.
47844         * m4/fabs.m4: New file.
47845         * modules/fabs (Files): Add it.
47846         (configure.ac): Just invoke gl_FUNC_FABS.
47848 2011-10-05  Jim Meyering  <meyering@redhat.com>
47850         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
47851         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
47852         ls -lL regression introduced in coreutils-8.12, it does so at the
47853         cost of an additional stat call in the common case.  Besides, now
47854         that the kernel change that prompted commit 95f7c57f has been reverted
47855         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
47856         we have no use for commit 95f7c57f, "file-has-acl: use
47857         acl_extended_file_nofollow if available".
47859 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
47861         file-has-acl: revert unintended change in behavior of ls -L
47862         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
47863         derived from...
47864         (file_has_acl): ...code here.  Call it.
47865         This problem was introduced with 2011-07-22 commit 95f7c57f,
47866         "file-has-acl: use acl_extended_file_nofollow if available".
47867         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
47869 2011-10-03  Bruno Haible  <bruno@clisp.org>
47871         poll: Avoid link errors on MSVC.
47872         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
47873         * modules/poll (Depends-on): Add sockets.
47874         (Link): New section.
47875         * NEWS: Mention the change.
47876         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
47877         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
47878         $(LIB_POLL) instead of $(LIBSOCKET).
47880 2011-10-03  Bruno Haible  <bruno@clisp.org>
47882         sys_select tests: Fix link error on MSVC 9.
47883         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
47884         with $(LIB_SELECT) instead of $(LIBSOCKET).
47886 2011-10-03  Bruno Haible  <bruno@clisp.org>
47888         sys_select: Fix compilation error on mingw.
47889         * lib/sys_select.in.h: On native Windows, include <io.h>.
47891 2011-10-03  Bruno Haible  <bruno@clisp.org>
47893         wmemset: Support for MSVC.
47894         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
47895         whether wmemset() exists.
47897 2011-10-03  Bruno Haible  <bruno@clisp.org>
47899         wmemmove: Support for MSVC.
47900         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
47901         whether wmemmove() exists.
47903 2011-10-03  Bruno Haible  <bruno@clisp.org>
47905         wmemcpy: Support for MSVC.
47906         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
47907         whether wmemcpy() exists.
47909 2011-10-03  Bruno Haible  <bruno@clisp.org>
47911         wmemcmp: Support for MSVC.
47912         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
47913         whether wmemcmp() exists.
47915 2011-10-03  Bruno Haible  <bruno@clisp.org>
47917         wmemchr: Support for MSVC.
47918         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
47919         whether wmemchr() exists.
47921 2011-10-03  Bruno Haible  <bruno@clisp.org>
47923         glthread/*, strsignal: Support for MSVC.
47924         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
47925         including <winsock.h> on MSVC 9.
47926         * lib/glthread/lock.h: Likewise.
47927         * lib/glthread/thread.h: Likewise.
47928         * lib/glthread/tls.h: Likewise.
47929         * lib/glthread/yield.h: Likewise.
47930         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
47931         if HAVE_UNISTD_H is false.
47932         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
47934 2011-10-03  Bruno Haible  <bruno@clisp.org>
47936         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
47937         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
47938         Set to 100000.
47940 2011-10-03  Bruno Haible  <bruno@clisp.org>
47942         acl: Fix specification.
47943         * lib/file-has-acl.c (file_has_acl): Fix specification.
47945 2011-10-03  Bruno Haible  <bruno@clisp.org>
47947         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
47948         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
47949         (compute_curr_prefix, shared_library_fullname,
47950         find_shared_library_fullname, get_shared_library_fullname, relocate):
47951         Use it together with PIC && INSTALLDIR.
47952         Reported by <jojelino@gmail.com>
47953         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
47955 2011-10-01  Jim Meyering  <meyering@redhat.com>
47957         maint.mk: adjust a release-related rule not to require use of gzip
47958         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
47959         Instead, check each file in $(DIST_ARCHIVES).  This is better for
47960         projects that build only .tar.xz files.  Also fix an erroneous test.
47962         test-linkat: don't leave behind a temporary file
47963         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
47964         Otherwise, coreutils' "make distcheck" would fail with this:
47965           Only in /c/cu/tests/torture/coreutils/test/\
47966             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
47967           make[2]: *** [my-distcheck] Error 1
47969         float, math: add omitted file
47970         * lib/itold.c: Add file, required for yesterday's float change.
47972 2011-10-01  Bruno Haible  <bruno@clisp.org>
47974         isinf: Fix for OpenBSD/x86.
47975         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
47976         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
47977         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
47979 2011-10-01  Bruno Haible  <bruno@clisp.org>
47981         isfinite: Fix syntax error in configure test.
47982         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
47984         isfinite: Fix typo.
47985         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
47986         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
47988 2011-10-01  Bruno Haible  <bruno@clisp.org>
47990         nonblocking tests: Fix test failure on Linux/IA-64.
47991         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
47992         Set to 270000.
47994 2011-10-01  Bruno Haible  <bruno@clisp.org>
47996         mkfifoat tests: Fix a test failure on mingw.
47997         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
47998         with error ENOSYS.
48000 2011-09-30  Bruno Haible  <bruno@clisp.org>
48002         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
48003         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
48004         'long double'. Set REPLACE_ITOLD.
48005         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
48006         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
48007         * lib/itold.c: New file.
48008         * modules/float (Files): Add lib/itold.c.
48009         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
48010         (Makefile.am): Substitute REPLACE_ITOLD.
48011         * modules/math (Depends-on): Add float.
48012         (Makefile.am): Substitute REPLACE_ITOLD.
48013         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
48014         * doc/posix-headers/math.texi: Likewise.
48015         * doc/posix-functions/logl.texi: Likewise.
48017 2011-09-30  Bruno Haible  <bruno@clisp.org>
48019         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
48020         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
48021         Set to 140000.
48023 2011-09-30  Bruno Haible  <bruno@clisp.org>
48025         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
48026         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
48027         invocation, say "right after AC_PROG_CC_STDC", not "right after
48028         AC_PROG_CC".
48029         Reported by Gary V. Vaughan <gary@gnu.org>.
48031 2011-09-30  Bruno Haible  <bruno@clisp.org>
48033         Centralize C99 requirement.
48034         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
48035         * modules/stdarg (configure.ac-early): Invoke it instead of
48036         AC_PROG_CC_STDC.
48037         Reported by Gary V. Vaughan and Paul Eggert.
48039 2011-09-29  Bruno Haible  <bruno@clisp.org>
48041         float: Fix LDBL_MAX value on Linux/PowerPC.
48042         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
48043         on Linux/PowerPC.
48044         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
48045         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
48046         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
48047         platform.
48048         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
48050 2011-09-29  Bruno Haible  <bruno@clisp.org>
48052         doc: Improve doc about gl_EARLY.
48053         * doc/gnulib-tool.texi (Initial import): Mention where to place an
48054         AC_PROG_CC_STDC invocation.
48055         Reported by Gary V. Vaughan <gary@gnu.org>.
48057 2011-09-28  Bruno Haible  <bruno@clisp.org>
48059         fgetc, fputc, fread, fwrite tests: Fix link error.
48060         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
48061         on non-MSVC platforms.
48062         * tests/test-fputc.c (main): Likewise.
48063         * tests/test-fread.c (main): Likewise.
48064         * tests/test-fwrite.c (main): Likewise.
48065         Reported by Jim Meyering.
48067 2011-09-27  Bruno Haible  <bruno@clisp.org>
48069         fputc, fwrite tests: Avoid test failure on MSVC.
48070         * tests/test-fgetc.c: Include msvc-inval.h.
48071         (main): Invoke gl_msvc_inval_ensure_handler.
48072         * tests/test-fputc.c: Include msvc-inval.h.
48073         (main): Invoke gl_msvc_inval_ensure_handler.
48074         * tests/test-fread.c: Include msvc-inval.h.
48075         (main): Invoke gl_msvc_inval_ensure_handler.
48076         * tests/test-fwrite.c: Include msvc-inval.h.
48077         (main): Invoke gl_msvc_inval_ensure_handler.
48078         * modules/fgetc-tests (Depends-on): Add msvc-inval.
48079         * modules/fputc-tests (Depends-on): Likewise.
48080         * modules/fread-tests (Depends-on): Likewise.
48081         * modules/fwrite-tests (Depends-on): Likewise.
48083 2011-09-27  Bruno Haible  <bruno@clisp.org>
48085         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
48086         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
48087         (raise): Remove older, duplicated declaration.
48088         (_gl_raise_SIGPIPE): New declaration.
48089         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
48090         (rpl_raise): Remove function.
48091         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
48092         a gnulib-defined SIGPIPE here.
48093         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
48094         'sigprocmask' has detected missing signal-blocking and the module
48095         'sigpipe' is enabled.
48096         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48098 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
48100         base64-tests: avoid memory leak
48101         * tests/test-base64.c (main): Plug memory leak.
48103         base32: new module
48104         * modules/base32: New module.
48105         * lib/base32.c: New file.
48106         * lib/base32.h: Likewise.
48107         * m4/base32.m4: Likewise.
48108         * modules/base32-tests: New test.
48109         * tests/test-base32.c: Likewise.
48110         * MODULES.html.sh (Misc): Mention it.
48112 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48114         gnulib: use more-standard license notice wording
48115         * gnulib-tool (func_emit_copyright_notice): When emitting a
48116         license notice into a file, use the standard wording as suggested
48117         by the current information for GNU maintainers, except say "file"
48118         rather than "program".  The new wording gives a license version
48119         number, which addresses an issue raised by Glenn Morris in
48120         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
48121         * m4/onceonly.m4: Use that same wording here, too.
48123         dup2: minor simplification
48124         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
48125         as lib/dup2.c no longer uses 'inline'.
48127 2011-09-25  Bruno Haible  <bruno@clisp.org>
48129         strings: Fix compilation error on MSVC.
48130         * lib/strings.in.h: Include <stddef.h> for size_t.
48132 2011-09-25  Bruno Haible  <bruno@clisp.org>
48134         fflush et al.: Document limitation on MSVC.
48135         * doc/posix-functions/fflush.texi: Document possible crash in handling
48136         mode other than DEFAULT_HANDLING.
48137         * doc/posix-functions/fgetc.texi: Likewise.
48138         * doc/posix-functions/fputc.texi: Likewise.
48139         * doc/posix-functions/fread.texi: Likewise.
48140         * doc/posix-functions/fwrite.texi: Likewise.
48142 2011-09-25  Bruno Haible  <bruno@clisp.org>
48144         msvc-inval: Allow three invalid parameter handling modes.
48145         * lib/msvc-inval.h: Don't include <stdlib.h> here.
48146         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
48147         macros.
48148         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
48149         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
48150         SANE_LIBRARY_HANDLING as a no-op.
48151         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
48152         <stdlib.h>.
48153         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
48155 2011-09-25  Bruno Haible  <bruno@clisp.org>
48157         msvc-inval: Make handler multithread-safe.
48158         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
48159         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
48160         declarations.
48161         (gl_msvc_inval_current): New declaration.
48162         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48163         Operate on the structure returned by gl_msvc_inval_current().
48164         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
48165         Remove varaiables.
48166         (tls_index, tls_initialized): New variables.
48167         (not_per_thread): New variable.
48168         (gl_msvc_inval_current): New function.
48169         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
48170         returned by gl_msvc_inval_current().
48172 2011-09-25  Bruno Haible  <bruno@clisp.org>
48174         msvc-inval: Install handler globally.
48175         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
48176         !_MSC_VER.
48177         (gl_msvc_invalid_parameter_handler): Remove declaration.
48178         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
48179         declarations.
48180         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48181         Install the handler globally, don't uninstall it.
48182         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
48183         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
48184         currently valid, call RaiseException instead.
48185         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
48186         for !_MSC_VER.
48188 2011-09-25  Bruno Haible  <bruno@clisp.org>
48190         strerror_r-posix: Fix for MSVC 9.
48191         * lib/strerror_r.c (local_snprintf): New function.
48192         (snprintf): Define to local_snprintf, not to _snprintf.
48194 2011-09-25  Bruno Haible  <bruno@clisp.org>
48196         ftruncate: Support for MSVC 9.
48197         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
48198         (chsize_nothrow): New function.
48199         (chsize): Redefine as a macro.
48200         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
48201         * modules/ftruncate (Depends-on): Add msvc-inval.
48203 2011-09-25  Bruno Haible  <bruno@clisp.org>
48205         New module 'fstat'.
48206         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
48207         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
48208         * lib/fchdir.c (rpl_fstat): Remove function.
48209         * m4/fstat.m4: New file.
48210         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
48211         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
48212         declared.
48213         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
48214         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
48215         * modules/fstat: New file.
48216         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
48217         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
48218         is set.
48219         * doc/posix-functions/fstat.texi: Mention the new module and the
48220         problem on MSVC.
48221         * NEWS: Mention the change.
48222         * modules/acl (Depends-on): Add fstat.
48223         * modules/chdir-safer (Depends-on): Likewise.
48224         * modules/chown (Depends-on): Likewise.
48225         * modules/copy-file (Depends-on): Likewise.
48226         * modules/fchdir (Depends-on): Likewise.
48227         * modules/fdopendir (Depends-on): Likewise.
48228         * modules/fopen (Depends-on): Likewise.
48229         * modules/fts (Depends-on): Likewise.
48230         * modules/getcwd (Depends-on): Likewise.
48231         * modules/isapipe (Depends-on): Likewise.
48232         * modules/linkat (Depends-on): Likewise.
48233         * modules/lseek (Depends-on): Likewise.
48234         * modules/mkdir-p (Depends-on): Likewise.
48235         * modules/open (Depends-on): Likewise.
48236         * modules/openat (Depends-on): Likewise.
48237         * modules/read-file (Depends-on): Likewise.
48238         * modules/renameat (Depends-on): Likewise.
48239         * modules/utimens (Depends-on): Likewise.
48241 2011-09-25  Bruno Haible  <bruno@clisp.org>
48243         linkat: Fix compilation on MSVC 9.
48244         * lib/linkat.c: Don't include <stdint.h>.
48246 2011-09-25  Bruno Haible  <bruno@clisp.org>
48248         fclose: Support for MSVC 9.
48249         * lib/fclose.c: Include msvc-inval.h.
48250         (fclose_nothrow): New function.
48251         (rpl_fclose): Use it.
48252         * modules/fclose (Depends-on): Add msvc-inval.
48253         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
48255 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
48257         dup2: minor simplifications
48258         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
48259         that it's a performance win.
48260         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
48261         ! defined __CYGWIN__)" to "ifdef F_GETFL".
48263 2011-09-24  Jim Meyering  <meyering@redhat.com>
48265         test-futimens: avoid a warning from gcc -Wshadow
48266         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
48267         to avoid a shadowing warning.
48269 2011-09-24  Bruno Haible  <bruno@clisp.org>
48271         fdopen: Support for MSVC 9.
48272         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
48273         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
48274         * lib/fdopen.c: Include msvc-inval.h.
48275         (fdopen_nothrow): New function.
48276         (rpl_fdopen): Use it.
48277         * modules/fdopen (Depends-on): Add msvc-inval.
48278         * modules/fclose-tests (Depends-on): Add fdopen.
48279         * modules/fflush-tests (Depends-on): Likewise.
48280         * modules/fgetc-tests (Depends-on): Likewise.
48281         * modules/fputc-tests (Depends-on): Likewise.
48282         * modules/fread-tests (Depends-on): Likewise.
48283         * modules/freopen-tests (Depends-on): Likewise.
48284         * modules/fseeko-tests (Depends-on): Likewise.
48285         * modules/ftello-tests (Depends-on): Likewise.
48286         * modules/fwrite-tests  (Depends-on): Likewise.
48287         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
48289 2011-09-24  Bruno Haible  <bruno@clisp.org>
48291         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
48292         * modules/fgetc-tests (Depends-on): Add unistd.
48293         * modules/fputc-tests (Depends-on): Likewise.
48294         * modules/fread-tests (Depends-on): Likewise.
48295         * modules/fwrite-tests (Depends-on): Likewise.
48297 2011-09-24  Bruno Haible  <bruno@clisp.org>
48299         dup: Simplify autoconf test.
48300         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
48301         on gl_MSVC_INVAL's result.
48303 2011-09-24  Bruno Haible  <bruno@clisp.org>
48305         Tests for function fwrite().
48306         * modules/fwrite-tests: New file.
48307         * tests/test-fwrite.c: New file.
48308         * modules/stdio-tests (Depends-on): Add fwrite-tests.
48310         Tests for function fread().
48311         * modules/fread-tests: New file.
48312         * tests/test-fread.c: New file.
48313         * modules/stdio-tests (Depends-on): Add fread-tests.
48315         Activate fputc tests.
48316         * modules/stdio-tests (Depends-on): Add fputc-tests.
48318         Enhance fgetc, fputc tests.
48319         * tests/test-fgetc.c (main): Also test the stream's error indicator.
48320         * tests/test-fputc.c (main): Likewise.
48322 2011-09-24  Bruno Haible  <bruno@clisp.org>
48324         write: Support for MSVC 9.
48325         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48326         is not 1.
48327         * lib/write.c (write_nothrow): New function.
48328         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
48329         not 1. Use write_nothrow.
48330         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
48331         invalid parameter handler.
48332         (gl_PREREQ_WRITE): New macro.
48333         * modules/write (Depends-on): Add msvc-inval.
48334         (configure.ac): Invoke gl_PREREQ_WRITE.
48335         * doc/posix-functions/write.texi: Mention the problem on MSVC.
48337 2011-09-24  Bruno Haible  <bruno@clisp.org>
48339         read: Fix last commit.
48340         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
48342 2011-09-24  Bruno Haible  <bruno@clisp.org>
48344         dup2: Fix last commit.
48345         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
48346         (rpl_dup2): Disable fcntl workaround on native Windows.
48348         sigprocmask: Make code safer.
48349         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
48350         section that changes macro definitions for this compilation unit.
48352 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
48354         dup2: clarify by coalescing Windows-specific material
48355         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
48356         "msvc-nothrow.h"' to the Windows-specific section, so that the
48357         Emacs source need not contain these include files.
48358         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
48359         Windows-specific fixes into this function rather than just the
48360         nothrow fix, as this shortens and clarifies the code.  Always
48361         define as a function, as that's a bit cleaner than having it be
48362         sometimes a function and sometimes a macro.
48363         (rpl_dup2): Move the Windows-specific stuff out of here and into
48364         ms_windows_dup2.  Don't protect the Haiku-related fix with
48365         "#if !defined __linux__", as the same code also works around
48366         a Linux kernel bug, and it doesn't add any system calls on any
48367         platform.  Add comment about FreeBSD 6.1.
48369         sigprocmask: move #include directive
48370         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
48371         Windows-specific section, so that the Emacs source need not
48372         contain msvc-inval.h.
48374 2011-09-23  Bruno Haible  <bruno@clisp.org>
48376         read: Support for MSVC 9.
48377         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48378         is not 1.
48379         * lib/read.c (read_nothrow): New function.
48380         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
48381         read_nothrow.
48382         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
48383         invalid parameter handler.
48384         (gl_PREREQ_READ): New macro.
48385         * modules/read (Depends-on): Add msvc-inval.
48386         (configure.ac): Invoke gl_PREREQ_READ.
48387         * doc/posix-functions/read.texi: Mention the problem on MSVC.
48389 2011-09-23  Bruno Haible  <bruno@clisp.org>
48391         close: Support for MSVC 9.
48392         * lib/close.c: Include <errno.h>, msvc-inval.h.
48393         (close_nothrow): New function.
48394         (rpl_close): Use it.
48395         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
48396         invalid parameter handler.
48397         * modules/close (Depends-on): Add msvc-inval.
48398         * modules/dup2-tests (Depends-on): Add close.
48399         * modules/dup3-tests (Depends-on): Likewise.
48400         * modules/fcntl-tests (Depends-on): Likewise.
48401         * modules/spawn-pipe-tests (Depends-on): Likewise.
48402         * modules/unistd-safer-tests (Depends-on): Likewise.
48403         * doc/posix-functions/close.texi: Mention the problem on MSVC.
48405 2011-09-23  Bruno Haible  <bruno@clisp.org>
48407         New module 'dup'.
48408         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
48409         Allow replacement.
48410         * lib/dup.c: New file.
48411         * lib/fchdir.c (rpl_dup): Remove function.
48412         * m4/dup.m4: New file.
48413         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
48414         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
48415         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
48416         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
48417         * modules/dup: New file.
48418         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
48419         'dup' module is in use.
48420         * modules/fdopendir (Depends-on): Add dup.
48421         * modules/fdutimensat-tests (Depends-on): Likewise.
48422         * modules/fts (Depends-on): Likewise.
48423         * modules/futimens-tests (Depends-on): Likewise.
48424         * modules/posix_spawnp-tests (Depends-on): Likewise.
48425         * modules/unistd-safer-tests (Depends-on): Likewise.
48426         * modules/utimens-tests (Depends-on): Likewise.
48427         * doc/posix-functions/dup.texi: Mention the new module and the problem
48428         on MSVC.
48430 2011-09-23  Bruno Haible  <bruno@clisp.org>
48432         getdtablesize: Support for MSVC 9.
48433         * lib/getdtablesize.c: Include msvc-inval.h.
48434         (_setmaxstdio_nothrow): New function.
48435         (_setmaxstdio): Redefine it.
48436         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
48437         * modules/getdtablesize (Depends-on): Add msvc-inval.
48438         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
48440 2011-09-23  Bruno Haible  <bruno@clisp.org>
48442         signal-h: Rename from signal.
48443         * modules/signal-h: Renamed from modules/signal.
48444         * modules/pthread_sigmask (Depends-on): Update.
48445         * modules/raise (Depends-on): Likewise.
48446         * modules/sigaction (Depends-on): Likewise.
48447         * modules/sigpipe (Depends-on): Likewise.
48448         * modules/sigprocmask (Depends-on): Likewise.
48449         * modules/sys_select (Depends-on): Likewise.
48450         * modules/signal-h-tests: Renamed from modules/signal-tests.
48451         (Files, Depends-on, Makefile.am): Update.
48452         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
48453         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
48454         (Files, Makefile.am): Update.
48455         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
48456         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
48457         * modules/signal: New placeholder file.
48458         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
48459         * doc/posix-headers/signal.texi: Update.
48460         * NEWS: Mention the change.
48462 2011-09-23  Bruno Haible  <bruno@clisp.org>
48464         sigprocmask: Avoid crashes through signal() on MSVC 9.
48465         * lib/sigprocmask.c: Include msvc-inval.h.
48466         (signal_nothrow): New function.
48467         (signal): Redefine it.
48468         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
48469         * modules/sigprocmask (Depends-on): Add msvc-inval.
48470         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
48472 2011-09-23  Bruno Haible  <bruno@clisp.org>
48474         Tests for module 'raise'.
48475         * modules/raise-tests: New file.
48476         * tests/test-raise.c: New file.
48478         raise: Support for MSVC.
48479         * lib/signal.in.h (raise): New declaration.
48480         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
48481         for native Windows platforms.
48482         * m4/raise.m4: New file.
48483         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
48484         HAVE_RAISE, REPLACE_RAISE.
48485         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
48486         REPLACE_RAISE.
48487         * modules/raise (Status, Notice): Remove fields.
48488         (Files): Add m4/raise.m4.
48489         (Depends-on): Add signal, msvc-inval.
48490         (configure.ac): Use the common idioms.
48491         (Maintainer): Add me.
48492         * tests/test-signal-c++.cc: Check the signature of raise.
48493         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
48495 2011-09-23  Bruno Haible  <bruno@clisp.org>
48497         pipe2: Fix compilation on pre-C99 compilers.
48498         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
48500 2011-09-23  Bruno Haible  <bruno@clisp.org>
48502         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
48503         * lib/msvc-nothrow.h: New file.
48504         * lib/msvc-nothrow.c: New file.
48505         * m4/msvc-nothrow.m4: New file.
48506         * modules/msvc-nothrow: New file.
48507         * lib/dup2.c: Include msvc-nothrow.h.
48508         (rpl_dup2): No need to protect _get_osfhandle call here.
48509         * lib/accept4.c: Include msvc-nothrow.h.
48510         * lib/error.c: Likewise.
48511         * lib/fcntl.c: Likewise.
48512         * lib/lseek.c: Likewise.
48513         * lib/nonblocking.c: Likewise.
48514         * lib/poll.c: Likewise.
48515         * lib/read.c: Likewise.
48516         * lib/select.c: Likewise.
48517         * lib/sockets.h: Likewise.
48518         * lib/sockets.c: Likewise.
48519         * lib/stdio-read.c: Likewise.
48520         * lib/stdio-write.c: Likewise.
48521         * lib/write.c: Likewise.
48522         * lib/w32sock.h: Likewise.
48523         * lib/w32spawn.h: Likewise.
48524         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
48525         * lib/fsync.c: Likewise.
48526         * lib/isapipe.c: Likewise.
48527         * modules/dup2 (Depends-on): Add msvc-nothrow.
48528         * modules/accept4 (Depends-on): Likewise.
48529         * modules/error (Depends-on): Likewise.
48530         * modules/fcntl (Depends-on): Likewise.
48531         * modules/lseek (Depends-on): Likewise.
48532         * modules/nonblocking (Depends-on): Likewise.
48533         * modules/poll (Depends-on): Likewise.
48534         * modules/read (Depends-on): Likewise.
48535         * modules/select (Depends-on): Likewise.
48536         * modules/sockets (Depends-on): Likewise.
48537         * modules/sigpipe (Depends-on): Likewise.
48538         * modules/write (Depends-on): Likewise.
48539         * modules/accept (Depends-on): Likewise.
48540         * modules/bind (Depends-on): Likewise.
48541         * modules/connect (Depends-on): Likewise.
48542         * modules/gethostname (Depends-on): Likewise.
48543         * modules/getpeername (Depends-on): Likewise.
48544         * modules/getsockname (Depends-on): Likewise.
48545         * modules/getsockopt (Depends-on): Likewise.
48546         * modules/ioctl (Depends-on): Likewise.
48547         * modules/listen (Depends-on): Likewise.
48548         * modules/recv (Depends-on): Likewise.
48549         * modules/recvfrom (Depends-on): Likewise.
48550         * modules/send (Depends-on): Likewise.
48551         * modules/sendto (Depends-on): Likewise.
48552         * modules/setsockopt (Depends-on): Likewise.
48553         * modules/shutdown (Depends-on): Likewise.
48554         * modules/socket (Depends-on): Likewise.
48555         * modules/execute (Depends-on): Likewise.
48556         * modules/spawn-pipe (Depends-on): Likewise.
48557         * modules/flock (Depends-on): Likewise.
48558         * modules/fsync (Depends-on): Likewise.
48559         * modules/isapipe (Depends-on): Likewise.
48560         * tests/test-cloexec.c: Include msvc-nothrow.h.
48561         * tests/test-dup-safer.c: Likewise.
48562         * tests/test-dup2.c: Likewise.
48563         * tests/test-dup3.c: Likewise.
48564         * tests/test-fcntl.c: Likewise.
48565         * tests/test-pipe.c: Likewise.
48566         * tests/test-pipe2.c: Likewise.
48567         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
48568         * modules/unistd-safer-tests (Depends-on): Likewise.
48569         * modules/dup2-tests (Depends-on): Likewise.
48570         * modules/dup3-tests (Depends-on): Likewise.
48571         * modules/fcntl-tests (Depends-on): Likewise.
48572         * modules/pipe-posix-tests (Depends-on): Likewise.
48573         * modules/pipe2-tests (Depends-on): Likewise.
48575 2011-09-23  Bruno Haible  <bruno@clisp.org>
48577         dup2: Make code more maintainable.
48578         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
48579         (rpl_dup2): Use it.
48580         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
48581         * modules/dup2 (configure.ac): Invoke it.
48582         Reported by Paul Eggert.
48584 2011-09-23  Bruno Haible  <bruno@clisp.org>
48586         msvc-inval: Fix compilation error.
48587         * lib/msvc-inval.h: Include <excpt.h>.
48589 2011-09-23  Bruno Haible  <bruno@clisp.org>
48591         mkdir: Tweak for MSVC 9.
48592         * lib/sys_stat.in.h: Update comments.
48593         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
48595         Tests for module 'chdir'.
48596         * modules/chdir-tests: New file.
48597         * tests/test-chdir.c: New file.
48599         New module 'chdir'.
48600         * modules/chdir: New file.
48601         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
48602         (chdir): New declaration.
48603         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
48604         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
48605         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
48606         * tests/test-unistd-c++.cc: Check signature of chdir.
48607         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
48608         * modules/chdir-long (Depends-on): Add chdir.
48609         * modules/fchdir (Depends-on): Likewise.
48610         * modules/rename (Depends-on): Likewise.
48611         * modules/savewd (Depends-on): Likewise.
48613         rmdir: Support for mingw, MSVC 9.
48614         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
48615         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
48617         getcwd: Tweak for MSVC 9.
48618         * lib/unistd.in.h: Update comments.
48619         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
48621 2011-09-22  Bruno Haible  <bruno@clisp.org>
48623         strerror_r-posix: Avoid a link error on MSVC.
48624         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
48625         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
48627 2011-09-22  Bruno Haible  <bruno@clisp.org>
48629         select: Avoid link errors on MSVC.
48630         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
48631         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
48632         * modules/pselect (Link): Likewise.
48633         * NEWS: Mention the change.
48634         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
48635         test-select-stdin against $(LIB_SELECT).
48636         * modules/pselect-tests (Makefile.am): Link test-pselect against
48637         $(LIB_SELECT).
48639 2011-09-22  Bruno Haible  <bruno@clisp.org>
48641         select: Avoid compilation error on MSVC.
48642         * lib/select.c: Don't include <stdbool.h>.
48644 2011-09-21  Bruno Haible  <bruno@clisp.org>
48646         Consolidate all uses of PATH_MAX in *.m4 files.
48647         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
48648         macros.
48649         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
48650         and gl_PATHMAX_SNIPPET.
48651         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48652         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48653         * modules/chdir-long (Files): Add m4/pathmax.m4.
48654         * modules/getcwd (Files): Likewise.
48656 2011-09-21  Bruno Haible  <bruno@clisp.org>
48658         ftruncate: Un-deprecate, concentrate on Win32 support.
48659         * modules/ftruncate (Status, Notice): Remove sections.
48660         (Depends-on): Add largefile.
48661         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
48662         non-mingw platforms.
48663         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
48664         include <io.h>.
48665         * modules/perror-tests (Depends-on): Add ftruncate.
48666         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
48667         'ftruncate' module.
48669 2011-09-21  Bruno Haible  <bruno@clisp.org>
48671         Add dependencies to new dirent related modules.
48672         * modules/opendir (Depends-on): Add closedir.
48673         * modules/getcwd (Depends-on): Add opendir, closedir.
48674         * modules/dirent-safer-tests (Depends-on): Likewise.
48675         * modules/fdopendir-tests (Depends-on): Likewise.
48676         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
48677         * modules/renameat-tests (Depends-on): Likewise.
48679 2011-09-21  Bruno Haible  <bruno@clisp.org>
48681         opendir: Avoid compilation error on mingw.
48682         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
48683         * modules/opendir (Depends-on): Add unistd.
48685 2011-09-21  Bruno Haible  <bruno@clisp.org>
48687         ftruncate tests: Avoid a test failure on mingw.
48688         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
48690 2011-09-21  Bruno Haible  <bruno@clisp.org>
48692         select tests: Avoid test failures on OSF/1 5.1 and mingw.
48693         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
48694         native Windows.
48696 2011-09-21  Bruno Haible  <bruno@clisp.org>
48698         New module 'fdopen'.
48699         * lib/stdio.in.h (fdopen): New declaration.
48700         * lib/fdopen.c: New file.
48701         * m4/fdopen.m4: New file.
48702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
48703         REPLACE_FDOPEN.
48704         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
48705         REPLACE_FDOPEN.
48706         * modules/fdopen: New file.
48707         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
48708         * tests/test-stdio-c++.cc: Check signature of fdopen.
48709         * doc/posix-functions/fdopen.texi: Mention the new module.
48711 2011-09-21  Bruno Haible  <bruno@clisp.org>
48713         unlockpt tests: Avoid test failure on NetBSD 5.1.
48714         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
48715         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
48717 2011-09-21  Bruno Haible  <bruno@clisp.org>
48719         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
48720         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
48721         * tests/test-getlogin_r.c (main): Likewise.
48723 2011-09-20  Bruno Haible  <bruno@clisp.org>
48725         time tests: Don't require pid_t.
48726         * doc/posix-headers/time.texi: Revert last change.
48727         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
48728         * tests/test-time.c: Comment out the check for pid_t.
48730 2011-09-20  Bruno Haible  <bruno@clisp.org>
48732         fsync tests: Avoid a test failure on mingw.
48733         * tests/test-fsync.c (main): Allow a failure with EIO.
48735 2011-09-20  Bruno Haible  <bruno@clisp.org>
48737         euidaccess: Update comments.
48738         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
48740 2011-09-20  Bruno Haible  <bruno@clisp.org>
48742         Ensure EBADF returns for socket functions on mingw.
48743         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
48744         descriptor is invalid.
48745         * lib/bind.c (rpl_bind): Likewise.
48746         * lib/connect.c (rpl_connect): Likewise.
48747         * lib/getpeername.c (rpl_getpeername): Likewise.
48748         * lib/getsockname.c (rpl_getsockname): Likewise.
48749         * lib/getsockopt.c (rpl_getsockopt): Likewise.
48750         * lib/listen.c (rpl_listen): Likewise.
48751         * lib/recv.c (rpl_recv): Likewise.
48752         * lib/recvfrom.c (rpl_recvfrom): Likewise.
48753         * lib/send.c (rpl_send): Likewise.
48754         * lib/sendto.c (rpl_sendto): Likewise.
48755         * lib/setsockopt.c (rpl_setsockopt): Likewise.
48756         * lib/shutdown.c (rpl_shutdown): Likewise.
48758 2011-09-20  Bruno Haible  <bruno@clisp.org>
48760         select tests: EBADF tests.
48761         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
48762         test_bad_fd): New functions.
48763         (test_function): Invoke also test_bad_fd.
48765 2011-09-20  Bruno Haible  <bruno@clisp.org>
48767         Tests for module 'posix_spawn_file_actions_addopen.
48768         * modules/posix_spawn_file_actions_addopen-tests: New file.
48769         * tests/test-posix_spawn_file_actions_addopen.c: New file.
48771         Tests for module 'posix_spawn_file_actions_adddup2'.
48772         * modules/posix_spawn_file_actions_adddup2-tests: New file.
48773         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
48775         Tests for module 'posix_spawn_file_actions_addclose'.
48776         * modules/posix_spawn_file_actions_addclose-tests: New file.
48777         * tests/test-posix_spawn_file_actions_addclose.c: New file.
48779 2011-09-20  Bruno Haible  <bruno@clisp.org>
48781         Tests for module 'unlockpt'.
48782         * modules/unlockpt-tests: New file.
48783         * tests/test-unlockpt.c: New file.
48784         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
48786         Tests for module 'grantpt'.
48787         * modules/grantpt-tests: New file.
48788         * tests/test-grantpt.c: New file.
48789         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
48791 2011-09-20  Bruno Haible  <bruno@clisp.org>
48793         freopen tests: EBADF tests.
48794         * tests/test-freopen.c: Include errno.h, unistd.h.
48795         (main): Add tests for EBADF, commented out for the moment.
48797         fclose tests: EBADF tests.
48798         * tests/test-fclose.c (main): Add tests for EBADF.
48800         fflush tests: EBADF tests.
48801         * tests/test-fflush.c: Include errno.h, macros.h.
48802         (main): Add tests for EBADF.
48804         ftello tests: EBADF tests.
48805         * tests/test-ftello4.sh: New file.
48806         * tests/test-ftello4.c: New file.
48807         * modules/ftello-tests (Files): Add them.
48808         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
48810         fseeko tests: EBADF tests.
48811         * tests/test-fseeko4.sh: New file.
48812         * tests/test-fseeko4.c: New file.
48813         * modules/fseeko-tests (Files): Add them.
48814         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
48816         Tests for function fputc().
48817         * modules/fputc-tests: New file.
48818         * tests/test-fputc.c: New file.
48819         * modules/stdio-tests (Depends-on): Add fputc-tests.
48821         Tests for function fgetc().
48822         * modules/fgetc-tests: New file.
48823         * tests/test-fgetc.c: New file.
48824         * modules/stdio-tests (Depends-on): Add fgetc-tests.
48826         Tests for function fdopen().
48827         * modules/fdopen-tests: New file.
48828         * tests/test-fdopen.c: New file.
48829         * modules/stdio-tests (Depends-on): Add fdopen-tests.
48831         Tests for module 'vdprintf'.
48832         * modules/vdprintf-tests: New file.
48833         * tests/test-vdprintf.c: New file.
48835         Tests for module 'dprintf'.
48836         * modules/dprintf-tests: New file.
48837         * tests/test-dprintf.c: New file.
48839 2011-09-20  Bruno Haible  <bruno@clisp.org>
48841         Tests for module 'ioctl'.
48842         * modules/ioctl-tests: New file.
48843         * tests/test-ioctl.c: New file.
48845 2011-09-20  Bruno Haible  <bruno@clisp.org>
48847         fcntl tests: EBADF tests.
48848         * tests/test-fcntl.c (main): Add more tests for EBADF.
48850 2011-09-20  Bruno Haible  <bruno@clisp.org>
48852         utimensat tests: EBADF tests.
48853         * tests/test-utimensat.c (main): Add tests for EBADF.
48855         renameat tests: EBADF tests.
48856         * tests/test-renameat.c (main): Add tests for EBADF.
48858         mkfifoat tests: EBADF tests.
48859         * tests/test-mkfifoat.c (main): Add tests for EBADF.
48861         readlinkat tests: EBADF tests.
48862         * tests/test-readlinkat.c (main): Add tests for EBADF.
48864         symlinkat tests: EBADF tests.
48865         * tests/test-symlinkat.c (main): Add tests for EBADF.
48867         linkat tests: EBADF tests.
48868         * tests/test-linkat.c (main): Add tests for EBADF.
48870         Tests for module 'faccessat'.
48871         * modules/faccessat-tests: New file.
48872         * tests/test-faccessat.c: New file.
48874         fdopendir tests: EBADF tests.
48875         * tests/test-fdopendir.c (main): Add more tests for EBADF.
48877         openat tests: EBADF tests.
48878         * tests/test-fchownat.c (main): Add tests for EBADF.
48879         * tests/test-fstatat.c (main): Likewise.
48880         * tests/test-mkdirat.c (main): Likewise.
48881         * tests/test-openat.c (main): Likewise.
48882         * tests/test-unlinkat.c (main): Likewise.
48883         * tests/test-fchmodat.c: New file.
48884         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
48885         (Makefile.am): Also run 'test-fchmodat'.
48887 2011-09-20  Bruno Haible  <bruno@clisp.org>
48889         utimens, futimens, fdutimensat tests: EBADF tests.
48890         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
48892         Tests for function fstat().
48893         * modules/fstat-tests: New file.
48894         * tests/test-fstat.c: New file.
48895         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
48897 2011-09-20  Bruno Haible  <bruno@clisp.org>
48899         test-ttyname_r tests: EBADF tests.
48900         * tests/test-ttyname_r.c (main): Add tests for EBADF.
48902         Tests for module 'isatty'.
48903         * modules/isatty-tests: New file.
48904         * tests/test-isatty.c: New file.
48906         Tests for module 'write'.
48907         * modules/write-tests: New file.
48908         * tests/test-write.c: New file.
48910         Tests for module 'read'.
48911         * modules/read-tests: New file.
48912         * tests/test-read.c: New file.
48914         pwrite tests: EBADF tests.
48915         * tests/test-pwrite.c (main): Add tests for EBADF.
48917         pread tests: EBADF tests.
48918         * tests/test-pread.c (main): Add tests for EBADF.
48920         lseek tests: EBADF tests.
48921         * tests/test-lseek.c (main): Add more tests for EBADF.
48923         Tests for module 'ftruncate'.
48924         * modules/ftruncate-tests: New file.
48925         * tests/test-ftruncate.sh: New file.
48926         * tests/test-ftruncate.c: New file.
48928         fsync tests: EBADF tests.
48929         * tests/test-fsync.c (main): Add more tests for EBADF.
48931         fdatasync tests: EBADF tests.
48932         * tests/test-fdatasync.c (main): Add more tests for EBADF.
48934         Tests for module 'fchown'.
48935         * modules/fchown-tests: New file.
48936         * tests/test-fchown.c: New file.
48938         Tests for module 'fchmod'.
48939         * modules/fchmod-tests: New file.
48940         * tests/test-fchmod.c: New file.
48942         fchdir tests: EBADF tests.
48943         * tests/test-fchdir.c (main): Add more tests for EBADF.
48945         dup2 tests: EBADF tests.
48946         * tests/test-dup2.c (main): Add more tests for EBADF.
48948         Tests for module 'dup'.
48949         * modules/dup-tests: New file.
48950         * tests/test-dup.c: New file.
48952         Tests for module 'close'.
48953         * modules/close-tests: New file.
48954         * tests/test-close.c: New file.
48956 2011-09-20  Bruno Haible  <bruno@clisp.org>
48958         Tests for module 'shutdown'.
48959         * modules/shutdown-tests: New file.
48960         * tests/test-shutdown.c: New file.
48962         Tests for module 'setsockopt'.
48963         * modules/setsockopt-tests: New file.
48964         * tests/test-setsockopt.c: New file.
48966         Tests for module 'sendto'.
48967         * modules/sendto-tests: New file.
48968         * tests/test-sendto.c: New file.
48970         Tests for module 'send'.
48971         * modules/send-tests: New file.
48972         * tests/test-send.c: New file.
48974         Tests for module 'recvfrom'.
48975         * modules/recvfrom-tests: New file.
48976         * tests/test-recvfrom.c: New file.
48978         Tests for module 'recv'.
48979         * modules/recv-tests: New file.
48980         * tests/test-recv.c: New file.
48982         Tests for module 'listen'.
48983         * modules/listen-tests: New file.
48984         * tests/test-listen.c: New file.
48986         Tests for module 'getsockopt'.
48987         * modules/getsockopt-tests: New file.
48988         * tests/test-getsockopt.c: New file.
48990         Tests for module 'getsockname'.
48991         * modules/getsockname-tests: New file.
48992         * tests/test-getsockname.c: New file.
48994         Tests for module 'getpeername'.
48995         * modules/getpeername-tests: New file.
48996         * tests/test-getpeername.c: New file.
48998         Tests for module 'connect'.
48999         * modules/connect-tests: New file.
49000         * tests/test-connect.c: New file.
49002         Tests for module 'bind'.
49003         * modules/bind-tests: New file.
49004         * tests/test-bind.c: New file.
49006         accept4 tests: Fix for native Windows.
49007         * tests/test-accept4.c: Include sockets.h.
49008         (main): Invoke gl_sockets_startup.
49009         * modules/accept4-tests (Depends-on): Add sockets.
49011         accept tests: Fix for native Windows.
49012         * tests/test-accept.c: Include sockets.h.
49013         (main): Invoke gl_sockets_startup.
49014         * modules/accept-tests (Depends-on): Add sockets.
49016 2011-09-19  Bruno Haible  <bruno@clisp.org>
49018         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
49019         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
49020         do...while(0).
49021         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
49022         Suggested by Paul Eggert.
49024 2011-09-19  Bruno Haible  <bruno@clisp.org>
49026         sched: Ensure pid_t is defined.
49027         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
49028         not define pid_t.
49029         * lib/sched.in.h: Include <sys/types.h>.
49030         * doc/posix-headers/sched.texi: Mention the pid_t problem.
49031         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49033 2011-09-19  Bruno Haible  <bruno@clisp.org>
49035         msvc-inval: Ensure the entire expansion is a single statement.
49036         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
49037         of braces.
49039 2011-09-19  Jim Meyering  <meyering@redhat.com>
49041         tests: use printf, not echo in init.sh's warn_ function
49042         * tests/init.sh (warn_): Use printf, not echo.  The latter would
49043         misbehave when given strings containing a backslash or starting
49044         with e.g., -n.  James Youngman suggested setting IFS.
49046 2011-09-19  Eric Blake  <eblake@redhat.com>
49048         futimens: enhance test
49049         * tests/test-futimens.h (test_futimens): Also check for EBADF on
49050         closed non-negative fd.
49052         date: accept 'hence' as opposite of 'ago'
49053         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
49054         * tests/test-parse-datetime.c (main): Enhance test.
49055         Suggested by Jesse Wilson.
49057 2011-09-19  Jim Meyering  <meyering@redhat.com>
49059         getcwd: don't fail in a deep directory on a system without openat
49060         Before this change, getcwd would fail when called from a directory
49061         of depth PATH_MAX / 3 or greater.  That was due to the fact that
49062         the non-openat implementation used "..", "../..", "../../..", etc.
49063         to access ancestor directories.  With too many, that string would
49064         be longer than PATH_MAX.
49065         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
49066         using gnulib's openat replacement.
49067         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
49068         we're using the replacement function.
49070 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
49072         maint.mk: avoid warnings from perl about missing files
49073         * top/maint.mk (def_sym_regex): Ignore files listed in
49074         $(gl_other_headers_) that do not exist, say because a project
49075         does not use a corresponding module.
49077 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49079         stat: use pathmax.h only if needed
49080         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
49081         This is better for Emacs, which does not have a mingw port and
49082         therefore can avoid the pathmax module.
49084         utimens: remove dependency on dup2
49085         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
49086         to work around the Linux kernel bug.
49087         * modules/utimens (Depends-on): Remove dup2.
49089 2011-09-18  Bruno Haible  <bruno@clisp.org>
49091         inet_ntop, inet_pton: Look for it also in libresolv.
49092         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
49093         libnsl, search for it in libresolv.
49094         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49095         Needed on Solaris 7.
49097 2011-09-18  Bruno Haible  <bruno@clisp.org>
49099         accept, accept4 tests: Avoid link error on Solaris.
49100         * modules/accept-tests (Makefile.am): Link test-accept against
49101         $(LIBSOCKET).
49102         * modules/accept4-tests (Makefile.am): Link test-accept4 against
49103         $(LIBSOCKET).
49105         accept4: Avoid link error on Solaris.
49106         * modules/accept4 (Link): New section.
49108         socket functions: Avoid link errors on Solaris.
49109         * modules/accept (Depends-on): Add socketlib.
49110         (Link): New section.
49111         * modules/bind (Depends-on): Add socketlib.
49112         (Link): New section.
49113         * modules/connect (Depends-on): Add socketlib.
49114         (Link): New section.
49115         * modules/getpeername (Depends-on): Add socketlib.
49116         (Link): New section.
49117         * modules/getsockname (Depends-on): Add socketlib.
49118         (Link): New section.
49119         * modules/getsockopt (Depends-on): Add socketlib.
49120         (Link): New section.
49121         * modules/listen (Depends-on): Add socketlib.
49122         (Link): New section.
49123         * modules/recv (Depends-on): Add socketlib.
49124         (Link): New section.
49125         * modules/recvfrom (Depends-on): Add socketlib.
49126         (Link): New section.
49127         * modules/send (Depends-on): Add socketlib.
49128         (Link): New section.
49129         * modules/sendto (Depends-on): Add socketlib.
49130         (Link): New section.
49131         * modules/setsockopt (Depends-on): Add socketlib.
49132         (Link): New section.
49133         * modules/shutdown (Depends-on): Add socketlib.
49134         (Link): New section.
49135         * modules/socket (Depends-on): Add socketlib.
49136         (Link): New section.
49138 2011-09-18  Bruno Haible  <bruno@clisp.org>
49140         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
49141         * tests/test-ptsname.c (main): Terminate the test if it takes longer
49142         than 5 seconds.
49143         * modules/ptsname-tests (configure.ac): Test for alarm.
49145 2011-09-18  Bruno Haible  <bruno@clisp.org>
49147         posix_spawn_file_actions_add*: Fix module dependencies.
49148         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
49149         posix_spawn_file_actions_init.
49150         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
49151         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
49153 2011-09-18  Bruno Haible  <bruno@clisp.org>
49155         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
49156         * tests/test-rename.h (test_rename): Allow error code EEXIST.
49157         * tests/test-renameat.c (main): Likewise.
49159 2011-09-18  Bruno Haible  <bruno@clisp.org>
49161         Tests for module 'accept4'.
49162         * modules/accept4-tests: New file.
49163         * tests/test-accept4.c: New file.
49165 2011-09-18  Bruno Haible  <bruno@clisp.org>
49167         Tests for module 'accept'.
49168         * modules/accept-tests: New file.
49169         * tests/test-accept.c: New file.
49171 2011-09-18  Bruno Haible  <bruno@clisp.org>
49173         dup2: Support for MSVC.
49174         * lib/dup2.c: Include msvc-inval.h.
49175         (rpl_dup2): Handle invalid parameter notifications during dup2 and
49176         _get_osfhandle calls.
49177         * modules/dup2 (Depends-on): Add msvc-inval.
49178         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
49180         New module 'msvc-inval'.
49181         * lib/msvc-inval.h: New file.
49182         * lib/msvc-inval.c: New file.
49183         * m4/msvc-inval.m4: New file.
49184         * modules/msvc-inval: New file.
49186 2011-09-17  Bruno Haible  <bruno@clisp.org>
49188         Tests for module 'pclose'.
49189         * modules/pclose-tests: New file.
49191         New module 'pclose'.
49192         * lib/stdio.in.h (pclose): New declaration.
49193         * lib/pclose.c: New file.
49194         * m4/pclose.m4: New file.
49195         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
49196         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
49197         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
49198         * modules/pclose: New file.
49199         * modules/popen-tests (Depends-on): Add pclose.
49200         * modules/popen-safer-tests (Depends-on): Likewise.
49201         * doc/posix-functions/pclose.texi: Mention the new module.
49203 2011-09-17  Bruno Haible  <bruno@clisp.org>
49205         popen: Support for MSVC.
49206         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
49207         * lib/popen.c (popen): Provide alternate definition for native Windows.
49208         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
49209         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
49210         * modules/popen (Depends-on, configure.ac): Update condition.
49211         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
49212         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
49213         fixed.
49215 2011-09-17  Bruno Haible  <bruno@clisp.org>
49217         isnanl, isnand, isnanf: Work around MSVC bug.
49218         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
49220 2011-09-17  Bruno Haible  <bruno@clisp.org>
49222         sys_socket tests: Fix recent mistake.
49223         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
49225 2011-09-17  Bruno Haible  <bruno@clisp.org>
49227         putenv: Support for MSVC.
49228         * modules/putenv (Depends-on): Add environ.
49229         * lib/putenv.c (environ): Disable declaration.
49230         * lib/unistd.in.h: Update comment.
49232 2011-09-17  Bruno Haible  <bruno@clisp.org>
49234         math: Avoid macro redefinition warnings on MSVC.
49235         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
49236         Undefine before redefining.
49238 2011-09-17  Bruno Haible  <bruno@clisp.org>
49240         doc: Mention functions which are declared as macros.
49241         * doc/posix-functions/*[fl].texi: Mention that some functions are
49242         defined as macros with arguments only.
49244 2011-09-17  Bruno Haible  <bruno@clisp.org>
49246         Add dependencies to new dirent related modules.
49247         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
49248         * modules/fts (Depends-on): Likewise.
49249         * modules/glob (Depends-on): Likewise.
49250         * modules/savedir (Depends-on): Likewise.
49251         * modules/scandir (Depends-on): Likewise.
49252         * modules/dirent-safer (Depends-on): Add opendir, closedir.
49253         * modules/fdopendir (Depends-on): Add opendir.
49255 2011-09-17  Bruno Haible  <bruno@clisp.org>
49257         inet_pton: Support for MSVC on Windows Vista or newer.
49258         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
49259         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
49260         HAVE_DECL_INET_PTON is defined.
49261         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49262         On platforms with <winsock2.h>, test whether inet_pton is declared in
49263         <ws2tcpip.h>. If so, arrange to replace it.
49264         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49265         REPLACE_INET_PTON.
49266         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
49267         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
49268         (Depends-on, configure.ac): Update condition.
49269         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
49271 2011-09-17  Bruno Haible  <bruno@clisp.org>
49273         inet_ntop: Support for MSVC on Windows Vista or newer.
49274         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
49275         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
49276         HAVE_DECL_INET_NTOP is defined.
49277         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49278         On platforms with <winsock2.h>, test whether inet_ntop is declared in
49279         <ws2tcpip.h>. If so, arrange to replace it.
49280         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49281         REPLACE_INET_NTOP.
49282         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
49283         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
49284         (Depends-on, configure.ac): Update condition.
49285         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
49287 2011-09-16  Eric Blake  <eblake@redhat.com>
49289         test-fsync: yet another enhancement
49290         * tests/test-fsync.c (main): Also test behavior on read-only text
49291         file.
49293 2011-09-16  Bruno Haible  <bruno@clisp.org>
49295         Enhance fsync, fdatasync tests.
49296         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
49297         * tests/test-fdatasync.c (main): Likewise.
49299 2011-09-16  Bruno Haible  <bruno@clisp.org>
49301         Support for MSVC compiler: Ensure mode_t gets defined.
49302         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
49303         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49304         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49305         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
49306         * tests/test-fcntl-h.c: Check that mode_t is defined.
49307         * tests/test-sys_stat.c: Likewise.
49308         * tests/test-sys_types.c: Likewise.
49309         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
49310         * doc/posix-headers/sys_stat.texi: Likewise.
49311         * doc/posix-headers/sys_types.texi: Likewise.
49313 2011-09-16  Bruno Haible  <bruno@clisp.org>
49315         sys_stat: Support for MSVC.
49316         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
49317         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
49318         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
49319         MSVC.
49321 2011-09-16  Bruno Haible  <bruno@clisp.org>
49323         Support for MSVC compiler: Ensure off_t gets defined.
49324         * lib/unistd.in.h: Include <sys/types.h>.
49325         * tests/test-fcntl-h.c: Check that off_t is defined.
49326         * tests/test-sys_stat.c: Likewise.
49327         * tests/test-sys_types.c: Likewise.
49329 2011-09-16  Eric Blake  <eblake@redhat.com>
49331         fdatasync: port to Solaris
49332         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
49333         * modules/fdatasync (Link): Document it.
49334         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
49336         fdatasync: port to MacOS X 10.7
49337         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
49338         declared.
49339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
49340         * modules/unistd (Makefile.am): Substitute it.
49341         * lib/unistd.in.h (fdatasync): Declare on MacOS.
49342         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
49344         fdatasync: minor improvements
49345         * modules/fdatasync (Depends-on): Add condition for fsync.
49346         * lib/fdatasync.c (fdatasync): Add comment.
49347         * tests/test-unistd-c++.cc: Test fdatasync.
49349         unistd: update refs to newer POSIX
49350         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
49351         Suggested by Bruno Haible.
49353         fdatasync: new module
49354         * modules/fsync (Description): Document difference to fdatasync.
49355         * modules/fdatasync: New module.
49356         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
49357         * lib/fdatasync.c (fdatasync): Likewise.
49358         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
49359         defaults.
49360         * modules/unistd (Makefile.am): Set witnesses.
49361         * lib/unistd.in.h (fdatasync): Declare.
49362         * MODULES.html.sh: Document it.
49363         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
49364         * modules/fdatasync-tests: New test.
49365         * tests/test-fdatasync.c: Likewise.
49367 2011-09-16  Eric Blake  <eblake@redhat.com>
49369         test-fsync: enhance tests
49370         * modules/fsync-tests (Depends-on): Add errno, for mingw.
49371         * tests/test-fsync.c (main): Enhance test.
49373 2011-09-15  Bruno Haible  <bruno@clisp.org>
49375         Support for MSVC compiler: Ensure ssize_t gets defined.
49376         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
49377         * doc/posix-headers/stdio.texi: Likewise.
49378         * modules/stdio (Depends-on): Add ssize_t.
49379         * modules/sys_socket (Depends-on): Likewise.
49380         * modules/sys_types (Depends-on): Likewise.
49381         * modules/sys_uio (Depends-on): Likewise.
49382         * modules/unistd (Depends-on): Likewise.
49383         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
49384         * tests/test-sys_types.c: Check that ssize_t is defined.
49386 2011-09-14  Bruno Haible  <bruno@clisp.org>
49388         Avoid using #, the m4 comment starter character, near brackets.
49389         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
49390         delimiter character in sed expressions.
49391         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
49392         Suggested by Eric Blake.
49394         Properly quote AC_CHECK_DECLS' 4th argument.
49395         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
49396         argument.
49397         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49398         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49399         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49400         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
49401         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49402         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
49403         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
49404         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
49405         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
49406         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49407         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
49408         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49409         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49410         * m4/isinf.m4 (gl_ISINF): Likewise.
49411         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49412         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49413         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49414         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49415         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49416         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49417         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49418         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
49419         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
49420         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49421         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49422         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49423         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
49424         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49425         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49426         Reported by Eric Blake.
49428         Properly quote AC_CHECK_DECL's 4th argument.
49429         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
49430         argument.
49431         * m4/argp.m4 (gl_ARGP): Likewise.
49432         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49433         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49434         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49435         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49436         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
49437         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
49438         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
49439         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49440         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49441         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49442         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49443         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49444         Reported by Eric Blake.
49446 2011-09-14  Eric Blake  <eblake@redhat.com>
49448         opendir: avoid compile warning
49449         * lib/opendir.c (includes): Always include errno.h.
49450         Reported by Tatsuro MATSUOKA.
49452 2011-09-14  Jim Meyering  <meyering@redhat.com>
49454         maint.mk: sc_tight_scope: propagate failure from sub-make
49455         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
49456         Reported by Martin von Gagern.
49458 2011-09-13  Bruno Haible  <bruno@clisp.org>
49460         tempname: Support for MSVC.
49461         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
49462         MSVC.
49463         * modules/tempname (Depends-on): Add fcntl-h.
49465 2011-09-13  Bruno Haible  <bruno@clisp.org>
49467         sys_time: Support for MSVC.
49468         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
49469         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
49470         include <winsock2.h>.
49471         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
49472         function declarations that collide with POSIX.
49473         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
49474         (Makefile.am): Substitute HAVE_WINSOCK2_H.
49476 2011-09-13  Bruno Haible  <bruno@clisp.org>
49478         stat: Support for MSVC.
49479         * lib/stat.c: Include pathmax.h.
49480         * modules/stat (Depends-on): Add pathmax.
49482         pathmax: Support for native Windows.
49483         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
49485 2011-09-12  Bruno Haible  <bruno@clisp.org>
49487         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
49488         * lib/dirent.in.h (struct dirent): New type.
49489         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
49490         DT_WHT): New macros.
49491         (DIR): New type.
49492         (opendir, closedir): Declare only if the module 'opendir' is enabled.
49493         (readdir, rewinddir): New declarations.
49494         * lib/dirent-private.h: New file.
49495         * lib/opendir.c: New file.
49496         * lib/readdir.c: New file.
49497         * lib/rewinddir.c: New file.
49498         * lib/closedir.c: New file.
49499         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
49500         * m4/opendir.m4: New file.
49501         * m4/readdir.m4: New file.
49502         * m4/rewinddir.m4: New file.
49503         * m4/closedir.m4: New file.
49504         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
49505         REPLACE_CLOSEDIR here.
49506         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
49507         readdir, rewinddir are declared.
49508         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
49509         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
49510         HAVE_REWINDDIR, HAVE_CLOSEDIR.
49511         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
49512         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
49513         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
49514         * modules/opendir: New file.
49515         * modules/readdir: New file.
49516         * modules/rewinddir: New file.
49517         * modules/closedir: New file.
49518         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
49519         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
49520         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
49521         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
49522         * NEWS: Mention the 'fchdir' change.
49524 2011-09-11  Bruno Haible  <bruno@clisp.org>
49526         asm-underscore.m4: Support for MSVC.
49527         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
49528         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
49530 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
49532         Doc about crypt functions.
49533         * doc/posix-functions/crypt.texi: Expand range of glibc versions
49534         needing for _GNU_SOURCE to get crypt.
49535         * doc/posix-functions/encrypt.texi: Likewise.
49536         * doc/posix-functions/setkey.texi: Likewise.
49538 2011-09-11  Bruno Haible  <bruno@clisp.org>
49540         doc: Update regarding MSVC 9.
49541         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
49542         tested".
49543         * doc/posix-functions/*.texi: Update with info about MSVC 9.
49544         * doc/posix-headers/*.texi: Likewise.
49545         * doc/pastposix-functions/*.texi: Likewise.
49546         * doc/glibc-functions/*.texi: Likewise.
49547         * doc/glibc-headers/*.texi: Likewise.
49549 2011-09-11  Bruno Haible  <bruno@clisp.org>
49551         unistd et al.: Don't assume <unistd.h> exists.
49552         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
49553         does not exist.
49554         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
49555         exist. But include <stdlib.h>.
49556         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
49557         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
49558         symlink() does not exist.
49559         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
49560         include <io.h> instead.
49561         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
49562         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
49563         include <direct.h> instead.
49564         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49565         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49566         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
49567         <io.h> instead.
49568         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
49569         correctly if the system does not have hard links.
49570         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
49571         <direct.h> instead.
49572         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
49573         it when looking for function declarations.
49574         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
49575         <direct.h> and <io.h> instead.
49576         * doc/posix-headers/unistd.texi: More details about MSVC problem.
49578 2011-09-11  Bruno Haible  <bruno@clisp.org>
49580         strcase: Support for MSVC.
49581         * modules/strcase (Status, Notice): Remove obsoletion mark.
49582         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
49583         * doc/posix-functions/strncasecmp.texi: Likewise.
49585         strings: Don't assume <strings.h> exists.
49586         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
49587         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
49588         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
49589         * doc/posix-headers/strings.texi: Mention the MSVC problem.
49591 2011-09-11  Bruno Haible  <bruno@clisp.org>
49593         dirent: Don't assume <dirent.h> exists.
49594         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
49595         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
49596         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
49597         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
49599 2011-09-11  Bruno Haible  <bruno@clisp.org>
49601         Fix wint_t on MSVC.
49602         * lib/wchar.in.h (wint_t): On MSVC, override it.
49603         * lib/wctype.in.h (wint_t): Likewise.
49604         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
49605         MSVC.
49606         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
49607         * doc/posix-headers/wctype.texi: Likewise.
49609 2011-09-11  Bruno Haible  <bruno@clisp.org>
49611         sys_types: Fix typo.
49612         * lib/sys_types.in.h: Fix typo in comment.
49613         Reported by Paul Eggert.
49615         Support for MSVC compiler: Ensure size_t gets defined.
49616         * modules/strings (Depends-on): Add 'sys_types'.
49617         * modules/sys_uio (Depends-on): Likewise.
49618         * lib/sys_uio.in.h: Update comment.
49620         C++ tests for module 'sys_types'.
49621         * modules/sys_types-c++-tests: New file.
49622         * tests/test-sys_types-c++.cc: New file.
49624         Tests for module 'sys_types'.
49625         * modules/sys_types-tests: New file.
49626         * tests/test-sys_types.c: New file.
49628         New module 'sys_types'.
49629         * lib/sys_types.in.h: New file.
49630         * m4/sys_types_h.m4: New file.
49631         * modules/sys_types: New file.
49632         * doc/posix-headers/sys_types.texi: Mention the new module and the
49633         size_t problem on MSVC 9.
49635 2011-09-11  Bruno Haible  <bruno@clisp.org>
49637         Support for MSVC compiler: Avoid division by a literal 0.
49638         * lib/math.in.h (NAN): Define through a function call also on MSVC.
49639         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
49640         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
49641         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
49642         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
49643         * tests/infinity.h: New file.
49644         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
49645         on MSVC.
49646         * tests/test-ceilf1.c: Include infinity.h.
49647         (main): Use Infinityf.
49648         * tests/test-ceil1.c: Include infinity.h.
49649         (main): Use Infinityd.
49650         * tests/test-ceill.c: Include infinity.h.
49651         (main): Use Infinityl.
49652         * tests/test-dprintf-posix.c: Include infinity.h.
49653         (test_function): Use Infinityd.
49654         * tests/test-floorf1.c: Include infinity.h.
49655         (main): Use Infinityf.
49656         * tests/test-floor1.c: Include infinity.h.
49657         (main): Use Infinityd.
49658         * tests/test-floorl.c: Include infinity.h.
49659         (main): Use Infinityl.
49660         * tests/test-fprintf-posix.c: Include infinity.h.
49661         (test_function): Use Infinityd.
49662         * tests/test-frexp.c: Include infinity.h.
49663         (main): Use Infinityd.
49664         * tests/test-frexpl.c: Include infinity.h.
49665         (main): Use Infinityl.
49666         * tests/test-isfinite.c: Include infinity.h.
49667         (test_isfinitef): Use Infinityf.
49668         (test_isfinited): Use Infinityd.
49669         (test_isfinitel): Use Infinityl.
49670         * tests/test-isinf.c: Include infinity.h.
49671         (test_isinff): Use Infinityf.
49672         (test_isinfd): Use Infinityd.
49673         (test_isinfl): Use Infinityl.
49674         * tests/test-isnan.c: Include infinity.h.
49675         (test_float): Use Infinityf.
49676         (test_double): Use Infinityd.
49677         (test_long_double): Use Infinityl.
49678         * tests/test-isnanf.h: Include infinity.h.
49679         (main): Use Infinityf.
49680         * tests/test-isnand.h: Include infinity.h.
49681         (main): Use Infinityd.
49682         * tests/test-isnanl.h: Include infinity.h.
49683         (main): Use Infinityl.
49684         * tests/test-ldexpl.c: Include infinity.h.
49685         (main): Use Infinityl.
49686         * tests/test-printf-posix.h: Include infinity.h.
49687         (test_function): Use Infinityd.
49688         * tests/test-roundf1.c: Include infinity.h.
49689         (main): Use Infinityf.
49690         * tests/test-round1.c: Include infinity.h.
49691         (main): Use Infinityd.
49692         * tests/test-roundl.c: Include infinity.h.
49693         (main): Use Infinityl.
49694         * tests/test-signbit.c: Include infinity.h.
49695         (test_signbitf): Use Infinityf.
49696         (test_signbitd): Use Infinityd.
49697         (test_signbitl): Use Infinityl.
49698         * tests/test-snprintf-posix.h: Include infinity.h.
49699         (test_function): Use Infinityd, Infinityl.
49700         * tests/test-sprintf-posix.h: Include infinity.h.
49701         (test_function): Use Infinityd, Infinityl.
49702         * tests/test-truncf1.c: Include infinity.h.
49703         (main): Use Infinityf.
49704         * tests/test-trunc1.c: Include infinity.h.
49705         (main): Use Infinityd.
49706         * tests/test-truncl.c: Include infinity.h.
49707         (main): Use Infinityl.
49708         * tests/test-vasnprintf-posix.c: Include infinity.h.
49709         (test_function): Use Infinityd, Infinityl.
49710         * tests/test-vasprintf-posix.c: Include infinity.h.
49711         (test_function): Use Infinityd, Infinityl.
49712         * modules/ceilf-tests (Files): Add tests/infinity.h.
49713         * modules/ceil-tests (Files): Likewise.
49714         * modules/ceill-tests (Files): Likewise.
49715         * modules/dprintf-posix-tests (Files): Likewise.
49716         * modules/floorf-tests (Files): Likewise.
49717         * modules/floor-tests (Files): Likewise.
49718         * modules/floorl-tests (Files): Likewise.
49719         * modules/fprintf-posix-tests (Files): Likewise.
49720         * modules/frexp-tests (Files): Likewise.
49721         * modules/frexp-nolibm-tests (Files): Likewise.
49722         * modules/frexpl-tests (Files): Likewise.
49723         * modules/frexpl-nolibm-tests (Files): Likewise.
49724         * modules/isfinite-tests (Files): Likewise.
49725         * modules/isinf-tests (Files): Likewise.
49726         * modules/isnan-tests (Files): Likewise.
49727         * modules/isnanf-tests (Files): Likewise.
49728         * modules/isnanf-nolibm-tests (Files): Likewise.
49729         * modules/isnand-tests (Files): Likewise.
49730         * modules/isnand-nolibm-tests (Files): Likewise.
49731         * modules/isnanl-tests (Files): Likewise.
49732         * modules/isnanl-nolibm-tests (Files): Likewise.
49733         * modules/ldexpl-tests (Files): Likewise.
49734         * modules/printf-posix-tests (Files): Likewise.
49735         * modules/roundf-tests (Files): Likewise.
49736         * modules/round-tests (Files): Likewise.
49737         * modules/roundl-tests (Files): Likewise.
49738         * modules/signbit-tests (Files): Likewise.
49739         * modules/snprintf-posix-tests (Files): Likewise.
49740         * modules/sprintf-posix-tests (Files): Likewise.
49741         * modules/truncf-tests (Files): Likewise.
49742         * modules/trunc-tests (Files): Likewise.
49743         * modules/truncl-tests (Files): Likewise.
49744         * modules/vasnprintf-posix-tests (Files): Likewise.
49745         * modules/vasprintf-posix-tests (Files): Likewise.
49746         * modules/vdprintf-posix-tests (Files): Likewise.
49747         * modules/vfprintf-posix-tests (Files): Likewise.
49748         * modules/vprintf-posix-tests (Files): Likewise.
49749         * modules/vsnprintf-posix-tests (Files): Likewise.
49750         * modules/vsprintf-posix-tests (Files): Likewise.
49751         * modules/xprintf-posix-tests (Files): Likewise.
49753 2011-09-11  Bruno Haible  <bruno@clisp.org>
49755         Ensure pid_t gets defined.
49756         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
49757         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
49758         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49759         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49760         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
49761         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
49762         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49763         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49764         * tests/test-fcntl-h.c: Check that pid_t is defined.
49765         * tests/test-sched.c: Likewise.
49766         * tests/test-termios.c: Likewise.
49767         * tests/test-time.c: Likewise.
49768         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
49769         * doc/posix-headers/signal.texi: Likewise.
49770         * doc/posix-headers/sys_types.texi: Likewise.
49771         * doc/posix-headers/time.texi: Likewise.
49773 2011-09-11  Bruno Haible  <bruno@clisp.org>
49775         acl: Fix compilation on Solaris 10 (older version).
49776         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
49777         of ACE_EVERYONE.
49778         * lib/set-mode-acl.c (qset_acl): Likewise.
49779         Reported by Christian Jullien <eligis@orange.fr>.
49781 2011-09-10  Bruno Haible  <bruno@clisp.org>
49783         iconv, unsetenv: Add support for MSVC compiler.
49784         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
49785         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
49787 2011-09-10  Bruno Haible  <bruno@clisp.org>
49789         *printf: Add support for MSVC compiler.
49790         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
49791         handles the exception caused by the %n directive. When cross-compiling,
49792         guess no on native Windows.
49793         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49794         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
49795         emulate it through vsnprintf.
49796         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
49797         * doc/posix-functions/dprintf.texi: Update documentation regarding
49798         MSVC 9.
49799         * doc/posix-functions/fprintf.texi: Likewise.
49800         * doc/posix-functions/printf.texi: Likewise.
49801         * doc/posix-functions/snprintf.texi: Likewise.
49802         * doc/posix-functions/sprintf.texi: Likewise.
49803         * doc/posix-functions/swprintf.texi: Likewise.
49804         * doc/posix-functions/vdprintf.texi: Likewise.
49805         * doc/posix-functions/vfprintf.texi: Likewise.
49806         * doc/posix-functions/vprintf.texi: Likewise.
49807         * doc/posix-functions/vsnprintf.texi: Likewise.
49808         * doc/posix-functions/vsprintf.texi: Likewise.
49809         * doc/glibc-functions/asprintf.texi: Likewise.
49810         * doc/glibc-functions/obstack_printf.texi: Likewise.
49811         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49812         * doc/glibc-functions/vasprintf.texi: Likewise.
49814 2011-09-10  Bruno Haible  <bruno@clisp.org>
49816         nocrash: Add support for native Windows.
49817         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
49819 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
49820             Bruno Haible  <bruno@clisp.org>
49822         absolute-header, include-next: Add support for MSVC compiler.
49823         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
49824         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
49825         directory separator in #line directives.
49826         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
49827         recognize also backslash as directory separator in #line directives.
49829 2011-09-08  Jim Meyering  <meyering@redhat.com>
49831         maint.mk: mark the post-release commit log with "maint: " prefix
49832         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
49833         one-line commit-log summary.
49835 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
49836             Bruno Haible  <bruno@clisp.org>
49838         Doc about crypt functions.
49839         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
49840         systems.
49841         * doc/posix-functions/encrypt.texi: Likewise.
49842         * doc/posix-functions/setkey.texi: Likewise.
49844 2011-09-08  Simon Josefsson  <simon@josefsson.org>
49846         * lib/gc.h: Fix copyright header.
49848 2011-09-07  Bruno Haible  <bruno@clisp.org>
49850         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
49851         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
49852         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
49854 2011-09-07  Bruno Haible  <bruno@clisp.org>
49856         openat: Work around compilation error with OSF/1 5.1 DTK cc.
49857         * lib/fopen.c: Use different syntax for include of <stdio.h>.
49858         * lib/freopen.c: Likewise.
49859         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
49860         * lib/lstat.c: Likewise.
49861         * lib/stat.c: Likewise.
49862         * lib/open.c: Use different syntax for include of <fcntl.h>.
49863         * lib/openat.c: Include fcntl.h again, explicitly.
49865 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
49867         parse-datetime: document the newly accepted format
49868         * doc/parse-datetime.texi (Combined date and time of day items):
49869         New section.
49871 2011-09-06  Bruno Haible  <bruno@clisp.org>
49873         acl: Fix a test failure on newer Solaris 10 with ZFS.
49874         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
49875         ENOSYS as no ACL.
49876         Reported by Jim Meyering.
49878 2011-09-06  Bruno Haible  <bruno@clisp.org>
49880         acl: Update for AIX >= 5.3 with NFS.
49881         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
49882         ENOSYS as no ACL.
49884         acl: Fix a test failure on AIX >= 5.3 with NFS.
49885         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
49886         as no ACL.
49888 2011-09-06  Bruno Haible  <bruno@clisp.org>
49890         acl: Fix a test failure on IRIX 6.5 with NFS.
49891         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
49892         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
49893         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
49894         * lib/copy-acl.c (qcopy_acl): Likewise.
49896 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
49898         openat: port to AIX 7.1 with large files
49899         AIX 7.1 does a "#define openat open64at" if large files are in use,
49900         so we can't simply #undef openat.  Use the orig_openat trick (similar
49901         to orig_open in lib/open.c) to work around the problem.  Problem
49902         reported by Kevin Brott for GNU tar, in the thread containing
49903         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
49904         * lib/openat.c (__need_system_fcntl_h): Define first.
49905         Include <fcntl.h> and <sys/types.h> before undefining.
49906         (orig_openat) [HAVE_OPENAT]: New inline function.
49907         (openat) [HAVE_OPENAT]: Do not undef.
49908         (rpl_openat): Use orig_openat, not openat.
49910 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
49911             Bruno Haible  <bruno@clisp.org>
49913         acl: Avoid errors on NonStop Kernel.
49914         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
49915         ENOTSUP errors.
49917 2011-09-05  Bruno Haible  <bruno@clisp.org>
49919         acl: Clean up Solaris code.
49920         * lib/acl-internal.h: Remove no-op #if.
49921         * lib/file-has-acl.c: Likewise.
49922         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
49923         * lib/copy-acl.c (qcopy_acl): Likewise.
49925 2011-09-05  Bruno Haible  <bruno@clisp.org>
49927         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
49928         binaries built on the original Solaris 10.
49929         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
49930         trivial.
49932 2011-09-05  Bruno Haible  <bruno@clisp.org>
49934         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49935         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
49936         10.
49937         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
49938         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
49939         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
49940         instead of acl_get, facl_get, acl_set, facl_set.
49942 2011-09-05  Bruno Haible  <bruno@clisp.org>
49944         copy-file: Try unit tests on more file systems.
49945         * tests/test-copy-file-1.sh: New file.
49946         * tests/test-copy-file-2.sh: New file.
49947         * modules/copy-file-tests (Files): Add them.
49948         (Makefile.am): Add them to TESTS.
49950         acl: Try unit tests on more file systems.
49951         * tests/test-file-has-acl-1.sh: New file.
49952         * tests/test-file-has-acl-2.sh: New file.
49953         * tests/test-set-mode-acl-1.sh: New file.
49954         * tests/test-set-mode-acl-2.sh: New file.
49955         * tests/test-copy-acl-1.sh: New file.
49956         * tests/test-copy-acl-2.sh: New file.
49957         * modules/acl-tests (Files): Add them.
49958         (Makefile.am): Add them to TESTS.
49960 2011-09-04  Bruno Haible  <bruno@clisp.org>
49962         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49963         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
49964         10.
49965         (OLD_ALLOW, OLD_DENY): New macros.
49966         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
49967         ACE_ACCESS_ALLOWED_ACE_TYPE.
49968         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
49969         ACE_ACCESS_DENIED_ACE_TYPE.
49970         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
49971         (NEW_ACE_EXECUTE): Fix value.
49972         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
49973         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
49974         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
49975         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
49976         NEW_ACE_SYNCHRONIZE): New macros.
49977         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
49978         instead of acl_fromtext, acl_set, facl_set.
49979         Fixes a coreutils/tests/cp/perm failure.
49981 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
49983         openat: test for fstatat (..., 0) bug
49984         Further testing with tar suggests that fstatat (..., 0)
49985         does not work in general, on AIX 7.1; see
49986         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
49987         So, give up entirely on AIX 7.1's fstatat, and fall back on our
49988         replacement fstatat (which is what older AIX releases were using
49989         anyway).
49990         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
49991         use is now changed to orig_fstatat.  This was probably the right
49992         thing to do anyway.
49993         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
49994         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
49995         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
49996         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
49997         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
49998         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
49999         if the bug is found.
50001         openat: test for fstatat (AT_FDCWD, ..., 0) bug
50002         This tests for another fstatat bug on AIX 7.1:
50003         fstatat (AT_FDCWD, ..., 0) does not work.  See
50004         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
50005         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
50006         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
50007         (rpl_fstatat): Adjust so that it works around either (or both)
50008         bugs if present.
50009         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
50011 2011-09-03  Karl Berry  <karl@gnu.org>
50013         * doc/regex.texi (Character Class Operators): Avoid literal ":"
50014         in index entries.
50016 2011-09-02  Bruno Haible  <bruno@clisp.org>
50018         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
50019         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
50020         values of AR, ARFLAGS, RANLIB.
50021         Reported by John W. Eaton <jwe@gnu.org> for Octave.
50023 2011-09-02  Bruno Haible  <bruno@clisp.org>
50025         Find 'ar' program that fits with --host argument.
50026         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
50028 2011-09-02  Bruno Haible  <bruno@clisp.org>
50030         tests: init.sh: Support any non-GNU diff.
50031         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
50032         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
50033         Solaris 8.
50035 2011-09-02  Bruno Haible  <bruno@clisp.org>
50037         tests: init.sh: work also with any non-GNU diff that supports -u
50038         * tests/init.sh: Relax check for diff -u support.
50039         Rather than checking for GNU diff via --version, simply check
50040         for support for -u itself.  Useful at least on OpenBSD 4.9,
50041         AIX 7.1, IRIX 6.5, and Solaris 10.
50043 2011-09-01  Bruno Haible  <bruno@clisp.org>
50045         strtoimax, strtoumax: Document problem on HP-UX 11.
50046         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
50047         * doc/posix-functions/strtoumax.texi: Likewise.
50049 2011-09-01  Bruno Haible  <bruno@clisp.org>
50051         strtoumax: Avoid link error on OSF/1 with DTK cc.
50052         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
50053         defined as a function.
50054         * modules/strtoumax (Depends-on, configure.ac): Test only whether
50055         strtoumax is defined, not whether it is declared.
50057 2011-09-01  Bruno Haible  <bruno@clisp.org>
50059         strtoimax: Avoid link error on OSF/1 with DTK cc.
50060         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
50061         defined as a function.
50062         * modules/strtoimax (Depends-on, configure.ac): Test only whether
50063         strtoimax is defined, not whether it is declared.
50065 2011-09-01  Bruno Haible  <bruno@clisp.org>
50067         imaxdiv: Avoid link error on OSF/1 with DTK cc.
50068         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
50069         as a function.
50070         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
50071         whether it is declared.
50073 2011-09-01  Bruno Haible  <bruno@clisp.org>
50075         imaxabs: Avoid link error on OSF/1 with DTK cc.
50076         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
50077         as a function.
50078         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
50079         whether it is declared.
50081 2011-09-01  Bruno Haible  <bruno@clisp.org>
50083         Tests for module 'strtoumax'.
50084         * modules/strtoumax-tests: New file.
50085         * tests/test-strtoumax.c: New file.
50087         Tests for module 'strtoimax'.
50088         * modules/strtoimax-tests: New file.
50089         * tests/test-strtoimax.c: New file.
50091         Tests for module 'imaxdiv'.
50092         * modules/imaxdiv-tests: New file.
50093         * tests/test-imaxdiv.c: New file.
50095         Tests for module 'imaxabs'.
50096         * modules/imaxabs-tests: New file.
50097         * tests/test-imaxabs.c: New file.
50099 2011-09-01  Bruno Haible  <bruno@clisp.org>
50101         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
50102         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
50103         pthread_create.
50105 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50107         openat: work around AIX 7.1 fstatat issue
50108         This should fix the problem that was not properly fixed
50109         in the previous change, dated 2011-08-30.
50110         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
50111         __need_system_stat_h defined.
50112         (orig_fstatat) [HAVE_FSTATAT]: New function.
50113         (rpl_fstatat): Go back to the old way of doing things,
50114         except call orig_fstatat instead of fstatat.
50115         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
50116         Remove unnecessary check whether fstatat fills in st_size etc.
50118 2011-09-01  Bruno Haible  <bruno@clisp.org>
50120         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
50121         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
50122         just include the system's header.
50124 2011-08-31  Jim Meyering  <meyering@redhat.com>
50126         tests: avoid spurious assertion failure in test-float.c on ppc64
50127         * tests/test-float.c (test_long_double): Comment out an assertion,
50128         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
50129         with gcc-4.4.4.
50131         maint: indent with spaces, not TABs
50132         I need to get in the habit of running gnulib's "make check".
50133         Both of these would have been caught.
50134         * m4/largefile.m4: Indent with spaces, not TABs.
50135         * lib/parse-datetime.y (iso_8601_time): Likewise.
50136         Spotted by Pádraig Brady.
50138         test-parse-datetime.c: accommodate a relatively strict gcc warning
50139         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
50140         to avoid a warning from gcc's -Werror=missing-declarations.
50141         Insert a few spaces-before-funcall-parenthesis.
50143 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
50145         parse-datetime: accept ISO 8601 date and time rep with "T" separator
50146         The parser now accepts ISO 8601 date-time strings with "T" as the
50147         separator.  It has long parsed dates like "2004-02-29 16:21:42"
50148         with a space between the date and time strings.  Now it also parses
50149         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
50150         variants like "2004-02-29T16:21:42.333-07:00"
50151         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
50152         of day representation using the 'T' separator character.
50153         * doc/parse-datetime.texi (General date syntax): replace use of
50154         deprecated --iso-8601 option with --rfc-3339 in example of date
50155         command output formats that can be parsed.
50156         * tests/test-parse-datetime.c (tm_diff): New function, taken from
50157         lib/parse-datetime.y.
50158         (gmt_offset): New function.
50159         (main): Add additional test cases to validate ISO8601 extended
50160         date and time of day parsing.
50162 2011-08-31  Bruno Haible  <bruno@clisp.org>
50164         freopen: Documentation.
50165         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
50166         name.
50167         Reported by Claudio Bley <claudio.bley@gmail.com>.
50169 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
50171         freopen: Don't crash if the filename argument is NULL.
50172         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
50173         NULL.
50175 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50177         openat: work around AIX 7.1 fstatat bug
50178         Problem reported by Kevin Brott for GNU tar, in the thread containing
50179         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
50180         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
50181         FSTATAT_ST_SIZE_ETC_BROKEN.
50182         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
50183         rpl_fstatat.
50184         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
50185         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
50186         AC_CHECK_FUNCS_ONCE for fstatat.
50187         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
50188         fchmodat, mkdirat, openat and unlinkat.
50190 2011-08-30  Bruno Haible  <bruno@clisp.org>
50192         Avoid endless recursions if config.h includes some header files.
50193         * lib/fopen.c (__need_FILE): Define already before including config.h.
50194         * lib/freopen.c (__need_FILE): Likewise.
50195         * lib/open.c (__need_system_fcntl_h): Likewise.
50196         * lib/stat.c (__need_system_sys_stat_h): Likewise.
50197         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
50198         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
50200 2011-08-25  Karl Berry  <karl@gnu.org>
50202         * config/srclist.txt (ylwrap): new try.
50203         * build-aux/ylwrap: new file.
50205 2011-08-23  Bruno Haible  <bruno@clisp.org>
50207         tmpdir: Use a good default directory on native Windows.
50208         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
50209         (P_tmpdir): Default to _P_tmpdir on native Windows.
50210         (path_search): On native Windows, try the value returned by GetTempPath
50211         before trying P_tmpdir.
50212         * modules/tmpdir (Depends-on): Add pathmax.
50213         Suggested by John Darrington <john@darrington.wattle.id.au>.
50215 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
50217         doc: fix typo in README-release
50218         * top/README-release: Capitalize first word of a sentence.
50220 2011-08-19  Jim Meyering  <meyering@redhat.com>
50222         fts: do not exhaust memory when processing million-entry directories
50223         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
50224         directory would require about 256*N bytes of memory.  Thus, it was
50225         easy to construct a directory too large to be processed by any of
50226         those tools.  With this change, fts' maximum memory utilization is
50227         now limited to around 30MB.
50228         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
50229         (fts_read): When we've processed the final entry (i.e., when
50230         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
50231         using the parent entry to read any remaining entries.  Dispatch
50232         depending on what fts_build returns:
50233         - NULL+stop, aka failure: stop
50234         - NULL otherwise: move up in the dir hierarchy
50235         - non-NULL: handle this new entry
50236         (fts_build): Declare and use new local, continue_readdir.
50237         Prepare to be called from fts_read, when the entries
50238         from a partially-read directory have just been exhausted.
50239         In that case, we'll skip the opendir and instead use the parent's
50240         fts_dirp and derive dir_fd from that.
50241         Finally, in the readdir loop, if we read max_entries entries,
50242         exit the loop ensuring *not* to call closedir.  This is required
50243         so that fts_dirp can be reused on a subsequent call.
50244         Prompted by Ben England's report of memory exhaustion in find
50245         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
50247         maint: fts: move decl of `dp' down into while loop; split a long line
50248         * lib/fts.c (fts_build): No semantic change.
50250         fts: add/use new struct member, fts_dirp
50251         We are about to use this to manage any directory with
50252         too many entries to read all of them into memory at once.
50253         To do that, we'll need to save the DIR* pointer in each
50254         affected FTSENT struct.
50255         * lib/fts_.h: Include <dirent.h>.
50256         (struct FTSENT) [fts_dirp]: New member.
50257         * lib/fts.c (closedir_and_clear): Define.
50258         Use it in place of closedir so that we are sure to
50259         clear the new fts_dirp member when done with it.
50260         (fts_alloc): Initialize the new member.
50261         (fts_lfree): Free, if needed.
50263         maint: fts: give __opendir2 a new parameter and rename
50264         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
50265         than surreptitiously using sole caller's "dir_fd".
50266         (fts_opendir): Rename from __opendir2.
50268         maint: fts.c: remove __opendir2's now-unused parameter, oflag
50269         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
50271         maint: fts.c: correct off-by-one indentation
50272         * lib/fts.c (fts_build): Correct indentation, change style
50273         of a couple of block comments, and bracing style.
50275         maint: fts.c: move __opendir2 #define "up" out of function body
50276         * lib/fts.c (__opendir2): Move "up".  No semantic change.
50278         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
50279         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
50280         out for a long time and besides was useful only on BSD systems.
50282 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50284         regex: port to Stratus OpenVOS
50285         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
50286         define to empty, rather than attempting nonportable optimizations.
50287         Problem reported by Paul Green in:
50288         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
50289         and fix suggested by Eric Blake in:
50290         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
50292 2011-08-17  Eric Blake  <eblake@redhat.com>
50294         getcwd: fix test failures on mingw
50295         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
50296         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
50297         test if long directory cannot be created, and allow mingw errno.
50299         getcwd-lgpl: fix m4 to match relaxed test for BSD
50300         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
50301         (gl_FUNC_GETCWD_SIGNATURE): New macro.
50302         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
50303         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
50304         signature problem.
50306         getcwd: fix compilation on mingw64
50307         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
50308         getcwd.
50309         Reported by Marc-André Lureau.
50311         pipe2: silence compiler warning
50312         * lib/pipe2.c (pipe2): Hide label if it is not used.
50314 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
50316         relocatable-prog: fix link error
50317         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
50318         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
50319         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
50320         into modules/relocatable-lib without noticing that
50321         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
50322         also needs to build relocatable.c.
50324 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50326         getaddrinfo: fix sh typo in gai_strerrorA decl checking
50327         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
50328         shell code: it contained a 'break' that was not in a loop.
50329         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
50330         via a shell-language loop; this may have been true in old Autoconf
50331         versions, but it's not true in Autoconf 2.68.  I found this bug
50332         when testing coreutils git on Solaris 8, whose shell complains
50333         about the syntax error.
50335 2011-08-12  Simon Josefsson  <simon@josefsson.org>
50337         * lib/base64.c: Fix comment to reference RFC 4648.
50338         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
50339         <gvtulder@gmail.com>.
50341 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50343         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
50345         po/Makefile.in.in: fix make -q problem
50346         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
50347         rule, since there's no file named 'check-macro-version' and its
50348         use as a file breaks make -q.
50349         (all): Don't depend on check-macro-version.
50350         (CHECK_MACRO_VERSION): New macro.
50351         (stamp-po): Use it.
50353         configmake: fix make -q problem
50354         * modules/configmake (configmake.h): Update configmake.h's time stamp
50355         even if the file does not change.  Otherwise, 'make -q' fails.
50356         Problem reported by Simon Josefsson in
50357         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
50359 2011-08-11  Jim Meyering  <meyering@redhat.com>
50361         git-version-gen: correct the advice in a comment
50362         * build-aux/git-version-gen: Correct comment.
50363         Don't recommend to list .tarball-version in .gitignore.
50365 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50367         base64: fix off-by-one buffer size bug
50368         Problem and (trivial) fix reported by Gijs van Tulder in
50369         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
50370         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
50371         * tests/test-base64.c (main): Catch the bug.
50373 2011-08-10  Eric Blake  <eblake@redhat.com>
50375         closein: correct comments
50376         * lib/closein.c (close_stdin): Improve comments.
50378 2011-08-09  Bruno Haible  <bruno@clisp.org>
50380         More tests for 'fseeko'.
50381         * tests/test-fseeko3.c: New file, from Eric Blake.
50382         * tests/test-fseeko3.sh: New file.
50383         * modules/fseeko-tests (Files): Add them.
50384         (TESTS): Add test-fseeko3.sh.
50385         (check_PROGRAMS): Add test-fseeko3.
50387 2011-08-09  Eric Blake  <eblake@redhat.com>
50389         fseeko: remove unneeded hack
50390         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
50392         fseeko: fix bug on glibc
50393         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
50394         Reported by John W. Eaton.
50396 2011-08-08  Bruno Haible  <bruno@clisp.org>
50398         unictype/base: Fix interoperability with preinstalled libunistring.
50399         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
50400         Reported by Simon Josefsson.
50402 2011-08-08  Bruno Haible  <bruno@clisp.org>
50404         iswblank: Detect declaration correctly.
50405         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
50406         AC_CHECK_DECLS invocation.
50408 2011-08-08  Bruno Haible  <bruno@clisp.org>
50410         tcgetsid: Detect declaration correctly.
50411         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
50412         AC_CHECK_DECLS invocation.
50413         Reported by Simon Josefsson.
50415 2011-08-08  Eric Blake  <eblake@redhat.com>
50417         largefile: fix typo that regressed large file support
50418         * modules/largefile (configure.ac-early): Fix section name.
50420 2011-08-06  Karl Berry  <karl@gnu.org>
50422         * MODULES.html.sh (func_all_files): _Noreturn is no longer
50423         a separate module.
50425 2011-08-05  Simon Josefsson  <simon@josefsson.org>
50427         openat: Fix warnings and commens when building unlinkat.c on Hurd.
50428         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
50429         get prototype for free.
50431 2011-08-04  Bruno Haible  <bruno@clisp.org>
50433         Tests for module 'pathmax'.
50434         * modules/pathmax-tests: New file.
50435         * tests/test-pathmax.c: New file.
50437         canonicalize-lgpl: Support larger filenames on the Hurd.
50438         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
50439         Reported by Paul Eggert.
50441         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
50442         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
50443         * lib/chdir-long.h: Include pathmax.h.
50444         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
50445         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
50446         (PATH_MAX): Remove code that is done by pathmax.h.
50447         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
50448         * lib/tmpfile.c: Add a comment.
50449         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
50450         * modules/chdir-long (Depends-on): Add pathmax.
50451         * modules/getcwd (Depends-on): Add pathmax.
50452         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
50453         is not defined.
50454         * doc/posix-headers/limits.texi: Mention the pathmax module.
50455         * NEWS: Mention the change.
50457 2011-08-02  Bruno Haible  <bruno@clisp.org>
50459         pthread_sigmask: Actually use results of gl_THREADLIB.
50460         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
50461         gl_THREADLIB, not gl_[]THREADLIB.
50462         Reported by Eric Blake.
50464 2011-08-02  Jim Meyering  <meyering@redhat.com>
50466         maint.mk: relax the default _gl_TS_function_match regexp
50467         * top/maint.mk (_gl_TS_function_match): Don't require at least one
50468         space between function name and "(" in an "extern" declaration.
50469         That would fail to match a decl with no space there: extern void foo();
50471 2011-07-31  Iain Nicol  <iain@thenicols.net>
50473         git-version-gen: document that EXTRA_DIST must include .version
50474         * build-aux/git-version-gen: In the how-to-use comment, document
50475         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
50476         will fail when run from an unpacked distribution tarball.
50478 2011-08-01  Bruno Haible  <bruno@clisp.org>
50480         wctype-h: Fix last change.
50481         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
50482         REPLACE_TOWLOWER to 0.
50483         Reported by Sam Steingold <sds@gnu.org>.
50485 2011-07-31  Bruno Haible  <bruno@clisp.org>
50487         frexpl: Update autoconf test.
50488         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
50489         according to changes of 2011-06-20.
50491 2011-07-31  Bruno Haible  <bruno@clisp.org>
50493         sys_utsname: Add support for Minix.
50494         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
50495         <sys/utsname.h>.
50496         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
50497         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
50499 2011-07-31  Bruno Haible  <bruno@clisp.org>
50501         strings: Add support for Minix.
50502         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
50503         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
50504         * doc/posix-headers/strings.texi: Document the Minix problem.
50506 2011-07-31  Bruno Haible  <bruno@clisp.org>
50508         wctype-h: Add support for Minix.
50509         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
50510         REPLACE_TOWLOWER.
50511         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
50512         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
50513         REPLACE_ISWCNTRL.
50515 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
50517         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
50518         This is a performance improvement for 64-bit hosts: it causes the
50519         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
50521 2011-07-31  Bruno Haible  <bruno@clisp.org>
50523         stdioext: Add support for Minix.
50524         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
50525         * lib/fpurge.c (fpurge): Likewise.
50526         * lib/freadahead.c (freadahead): Likewise.
50527         * lib/freadable.c (freadable): Likewise.
50528         * lib/freading.c (freading): Likewise.
50529         * lib/freadptr.c (freadptr): Likewise.
50530         * lib/freadseek.c (freadptrinc): Likewise.
50531         * lib/fseeko.c (rpl_fseeko): Likewise.
50532         * lib/fseterr.c (fseterr): Likewise.
50533         * lib/fwritable.c (fwritable): Likewise.
50534         * lib/fwriting.c (fwriting): Likewise.
50535         * lib/fflush.c (clear_ungetc_buffer): Update comment.
50536         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
50538 2011-07-31  Bruno Haible  <bruno@clisp.org>
50540         errno: Port to Minix.
50541         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
50542         ECONNABORTED are defined.
50543         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
50544         GNULIB_defined_ECONNABORTED): New macros.
50545         * lib/strerror-override.h (strerror_override): Test also
50546         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
50547         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
50548         ECONNABORTED.
50549         * doc/posix-headers/errno.texi: Mention the Minix problem.
50551 2011-07-31  Bruno Haible  <bruno@clisp.org>
50553         Work around declaration collisions on Minix.
50554         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
50555         defined, set REPLACE_MBSINIT.
50556         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
50557         defined, set REPLACE_MBRTOWC.
50558         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
50559         set REPLACE_MBRLEN.
50560         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
50561         defined, set REPLACE_MBSRTOWCS.
50562         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
50563         defined, set REPLACE_WCRTOMB.
50564         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
50565         defined, set REPLACE_WCSRTOMBS.
50567 2011-07-31  Bruno Haible  <bruno@clisp.org>
50569         Add support for Minix with ACK compiler.
50570         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
50571         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
50572         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
50574 2011-07-31  Bruno Haible  <bruno@clisp.org>
50576         Documentation about Minix.
50577         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
50578         * doc/glibc-headers/*.texi: Likewise.
50579         * doc/posix-functions/*.texi: Likewise.
50580         * doc/glibc-functions/*.texi: Likewise.
50582 2011-07-31  Bruno Haible  <bruno@clisp.org>
50584         snippet/warn-on-use: Fix indentation.
50585         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
50587 2011-07-25  Jim Meyering  <meyering@redhat.com>
50589         tests: test-update-copyright.sh: remove unnecessary "rm" commands
50590         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
50591         commands.
50593 2011-07-27  Jim Meyering  <meyering@redhat.com>
50595         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
50596         * top/maint.mk (gl_extract_significant_defines_): Now that
50597         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
50598         gnulib/lib/signal.in.h, and now that we recommend to
50599         define-if-undefined those two symbols in application code,
50600         we must filter them out of the "significant" list.
50601         This avoids a "make syntax-check" failure in coreutils.
50603 2011-07-26  Eric Blake  <eblake@redhat.com>
50605         warnings: add comments about previous patch
50606         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
50607         * m4/include_next.m4: Likewise.
50608         * m4/warn-on-use.m4: Likewise.
50609         * m4/warnings.m4: Likewise, and simplify use.
50610         Suggested by Stefano Lattarini.
50612         include-next, warnings: support older autoconf
50613         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
50614         AS_VAR_PUSHDEF in a way that works with older autoconf.
50615         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
50616         Reported by Daniel P. Berrange.
50618 2011-07-25  Bruno Haible  <bruno@clisp.org>
50620         fseek, ftell: Fix doc.
50621         * doc/posix-functions/fseek.texi: Reword statement about
50622         AC_SYS_LARGEFILE.
50623         * doc/posix-functions/ftell.texi: Likewise.
50625 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50626             Bruno Haible  <bruno@clisp.org>
50628         Add dependencies to the 'largefile' module.
50629         * modules/fopen (Depends-on): Add 'largefile'.
50630         * modules/freopen (Depends-on): Likewise.
50631         * modules/fseeko (Depends-on): Likewise.
50632         * modules/ftello (Depends-on): Likewise.
50633         * modules/glob (Depends-on): Likewise.
50634         * modules/lseek (Depends-on): Likewise.
50635         * modules/lstat (Depends-on): Likewise.
50636         * modules/mkostemp (Depends-on): Likewise.
50637         * modules/mkostemps (Depends-on): Likewise.
50638         * modules/mkstemp (Depends-on): Likewise.
50639         * modules/mkstemps (Depends-on): Likewise.
50640         * modules/open (Depends-on): Likewise.
50641         * modules/openat (Depends-on): Likewise.
50642         * modules/pread (Depends-on): Likewise.
50643         * modules/pwrite (Depends-on): Likewise.
50644         * modules/scandir (Depends-on): Likewise.
50645         * modules/stat (Depends-on): Likewise.
50646         * modules/tmpfile (Depends-on): Likewise.
50647         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
50648         since the containing module now depends on the largefile module.
50649         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
50650         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
50651         off_t is fixed by gnulib.
50652         * doc/posix-functions/freopen.texi: Likewise.
50653         * doc/posix-functions/fseeko.texi: Likewise.
50654         * doc/posix-functions/fstatat.texi: Likewise.
50655         * doc/posix-functions/ftello.texi: Likewise.
50656         * doc/posix-functions/glob.texi: Likewise.
50657         * doc/posix-functions/lseek.texi: Likewise.
50658         * doc/posix-functions/lstat.texi: Likewise.
50659         * doc/posix-functions/mkstemp.texi: Likewise.
50660         * doc/posix-functions/open.texi: Likewise.
50661         * doc/posix-functions/openat.texi: Likewise.
50662         * doc/posix-functions/pread.texi: Likewise.
50663         * doc/posix-functions/pwrite.texi: Likewise.
50664         * doc/posix-functions/scandir.texi: Likewise.
50665         * doc/posix-functions/stat.texi: Likewise.
50666         * doc/posix-functions/tmpfile.texi: Likewise.
50667         * doc/glibc-functions/mkostemp.texi: Likewise.
50668         * doc/glibc-functions/mkostemps.texi: Likewise.
50669         * doc/glibc-functions/mkstemps.texi: Likewise.
50671 2011-07-25  Bruno Haible  <bruno@clisp.org>
50673         fcntl: Move AC_LIBOBJ invocation to module description.
50674         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
50675         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
50677         fcntl: Remove call-in from fchdir.m4.
50678         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
50679         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
50681         dup3: Remove potential call-in from fchdir.m4.
50682         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
50683         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
50685         dup2: Move AC_LIBOBJ invocation to module description.
50686         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
50687         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
50688         Don't invoke AC_LIBOBJ.
50689         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
50691         dup2: Remove call-in from fchdir.m4.
50692         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
50693         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
50695         fclose: Move AC_LIBOBJ invocation to module description.
50696         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
50697         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
50698         to 1.
50699         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
50701         fclose: Remove call-in from close.m4.
50702         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
50703         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
50705         close: Move AC_LIBOBJ invocation to module description.
50706         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
50707         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
50708         1.
50709         * modules/close (configure.ac): Invoke AC_LIBOBJ.
50711         close: Remove call-in from fchdir.m4.
50712         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
50713         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
50715         open: Move AC_LIBOBJ invocation to module description.
50716         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
50717         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
50718         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
50720         open: Remove call-in from fchdir.m4.
50721         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
50722         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
50724         fchdir: Start to remove gl_REPLACE_* idiom.
50725         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
50726         (gl_FUNC_FCHDIR): Invoke it.
50728 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50730         * lib/ftell.c (ftell): Comment out cast.
50732         close: use gl_REPLACE_FCLOSE only if defined
50733         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
50734         is defined.  The close module doesn't depend on the fclose module
50735         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
50736         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
50737         I reproduced the problem with "./gnulib-tool --test close sys_socket".
50739 2011-07-24  Jim Meyering  <meyering@redhat.com>
50741         test-select.h: avoid warning when using gcc's -Wmissing-declarations
50742         * tests/test-select.h (test_function): Declare as "static".
50744 2011-07-24  Bruno Haible  <bruno@clisp.org>
50746         doc: Mention the effects of AC_SYS_LARGEFILE.
50747         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
50748         on this function.
50749         * doc/posix-functions/aio_error.texi: Likewise.
50750         * doc/posix-functions/aio_fsync.texi: Likewise.
50751         * doc/posix-functions/aio_read.texi: Likewise.
50752         * doc/posix-functions/aio_return.texi: Likewise.
50753         * doc/posix-functions/aio_suspend.texi: Likewise.
50754         * doc/posix-functions/aio_write.texi: Likewise.
50755         * doc/posix-functions/fgetpos.texi: Likewise.
50756         * doc/posix-functions/fopen.texi: Likewise.
50757         * doc/posix-functions/freopen.texi: Likewise.
50758         * doc/posix-functions/fsetpos.texi: Likewise.
50759         * doc/posix-functions/fstatvfs.texi: Likewise.
50760         * doc/posix-functions/ftruncate.texi: Likewise.
50761         * doc/posix-functions/ftw.texi: Likewise.
50762         * doc/posix-functions/getrlimit.texi: Likewise.
50763         * doc/posix-functions/glob.texi: Likewise.
50764         * doc/posix-functions/lio_listio.texi: Likewise.
50765         * doc/posix-functions/lockf.texi: Likewise.
50766         * doc/posix-functions/mkstemp.texi: Likewise.
50767         * doc/posix-functions/mmap.texi: Likewise.
50768         * doc/posix-functions/nftw.texi: Likewise.
50769         * doc/posix-functions/openat.texi: Likewise.
50770         * doc/posix-functions/opendir.texi: Likewise.
50771         * doc/posix-functions/posix_fadvise.texi: Likewise.
50772         * doc/posix-functions/posix_fallocate.texi: Likewise.
50773         * doc/posix-functions/pread.texi: Likewise.
50774         * doc/posix-functions/pwrite.texi: Likewise.
50775         * doc/posix-functions/readdir.texi: Likewise.
50776         * doc/posix-functions/readdir_r.texi: Likewise.
50777         * doc/posix-functions/rewinddir.texi: Likewise.
50778         * doc/posix-functions/scandir.texi: Likewise.
50779         * doc/posix-functions/seekdir.texi: Likewise.
50780         * doc/posix-functions/setrlimit.texi: Likewise.
50781         * doc/posix-functions/statvfs.texi: Likewise.
50782         * doc/posix-functions/telldir.texi: Likewise.
50783         * doc/posix-functions/tmpfile.texi: Likewise.
50784         * doc/posix-functions/truncate.texi: Likewise.
50785         * doc/glibc-functions/fallocate.texi: Likewise.
50786         * doc/glibc-functions/fstatfs.texi: Likewise.
50787         * doc/glibc-functions/fts_children.texi: Likewise.
50788         * doc/glibc-functions/fts_read.texi: Likewise.
50789         * doc/glibc-functions/getdirentries.texi: Likewise.
50790         * doc/glibc-functions/mkostemp.texi: Likewise.
50791         * doc/glibc-functions/mkostemps.texi: Likewise.
50792         * doc/glibc-functions/mkstemps.texi: Likewise.
50793         * doc/glibc-functions/preadv.texi: Likewise.
50794         * doc/glibc-functions/pwritev.texi: Likewise.
50795         * doc/glibc-functions/sendfile.texi: Likewise.
50796         * doc/glibc-functions/statfs.texi: Likewise.
50798 2011-07-24  Bruno Haible  <bruno@clisp.org>
50800         doc: Fix typo.
50801         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
50803 2011-07-24  Bruno Haible  <bruno@clisp.org>
50805         doc: Mention fsusage.
50806         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
50808 2011-07-24  Bruno Haible  <bruno@clisp.org>
50810         doc: Mention new glibc headers and functions.
50811         * doc/glibc-headers/gshadow.texi: New file.
50812         * doc/glibc-functions/endsgent.texi: New file.
50813         * doc/glibc-functions/fgetsgent.texi: New file.
50814         * doc/glibc-functions/fgetsgent_r.texi: New file.
50815         * doc/glibc-functions/getsgent.texi: New file.
50816         * doc/glibc-functions/getsgent_r.texi: New file.
50817         * doc/glibc-functions/getsgnam.texi: New file.
50818         * doc/glibc-functions/getsgnam_r.texi: New file.
50819         * doc/glibc-functions/putsgent.texi: New file.
50820         * doc/glibc-functions/setsgent.texi: New file.
50821         * doc/glibc-functions/sgetsgent.texi: New file.
50822         * doc/glibc-functions/sgetsgent_r.texi: New file.
50823         * doc/glibc-functions/malloc_info.texi: New file.
50824         * doc/glibc-functions/preadv.texi: New file.
50825         * doc/glibc-functions/pwritev.texi: New file.
50826         * doc/glibc-functions/register_printf_modifier.texi: New file.
50827         * doc/glibc-functions/register_printf_specifier.texi: New file.
50828         * doc/glibc-functions/register_printf_type.texi: New file.
50829         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
50830         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
50831         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
50832         * doc/glibc-functions/pthread_getname_np.texi: New file.
50833         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
50834         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
50835         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
50836         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
50837         * doc/glibc-functions/pthread_setname_np.texi: New file.
50838         * doc/glibc-functions/pthread_sigqueue.texi: New file.
50839         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
50840         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
50841         * doc/glibc-functions/qsort_r.texi: New file.
50842         * doc/glibc-functions/quick_exit.texi: New file.
50843         * doc/glibc-functions/syncfs.texi: New file.
50844         * doc/gnulib.texi: Include them.
50845         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
50846         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
50847         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
50848         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
50849         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
50850         * doc/glibc-functions/execvpe.texi: Likewise.
50852 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50854         ftell: don't include <unistd.h>
50855         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
50856         guaranteed to define off_t, and the ftell module depends on the
50857         stdio module.
50859         ftell: do not assume wraparound signed arithmetic
50860         * lib/ftell.c: Include <limits.h>.
50861         (ftell): Don't assume wraparound signed arithmetic.
50863 2011-07-24  Bruno Haible  <bruno@clisp.org>
50865         close: No longer depend on module 'fclose'.
50866         * modules/close (Depends-on): Remove fclose.
50867         * NEWS: Mention the change.
50868         Suggested by Sam Steingold <sds@gnu.org>.
50870 2011-07-24  Bruno Haible  <bruno@clisp.org>
50872         fsusage: Enable large volume support on AIX >= 5.2.
50873         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
50874         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
50875         instead of STAT_STATVFS.
50876         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
50878         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
50879         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
50880         f_blocks field only on MacOS X.
50882         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
50883         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
50884         * modules/fsusage (Depends-on): Add largefile.
50886 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50888         * README: Modernize discussion of signed integers.
50889         Assuming overflow wraparound is no longer safe.
50890         Mention ones' complement and signed magnitude.
50892 2011-07-22  Bruno Haible  <bruno@clisp.org>
50894         select tests, pselect tests: Refactor.
50895         * tests/test-select.h: New file, extracted from tests/test-select.c.
50896         (select_fn): New type.
50897         (test, do_select, do_select_nowait, do_select_wait, test_tty,
50898         test_connect_first, test_accept_first, test_pair, test_socket_pair,
50899         test_pipe): Add my_select argument.
50900         (test_function): Renamed from main. Add my_select argument.
50901         * tests/test-select.c: Move most code to tests/test-select.h. Include
50902         test-select.h.
50903         * modules/select-tests (Files): Add tests/test-select.h.
50904         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
50905         (my_select, main): New functions.
50906         * modules/pselect-tests (Files): Add tests/test-select.h,
50907         tests/macros.h, tests/signature.h.
50908         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
50909         (configure.ac): Check for <sys/wait.h>.
50911 2011-07-22  Bruno Haible  <bruno@clisp.org>
50913         sys_select tests: Check the signature of FD_*.
50914         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
50915         signature tests from here...
50916         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
50917         here.
50918         * modules/sys_select-tests (Files): Add tests/signature.h.
50920 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50922         largefile: new module, replacing large-inode
50923         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
50924         * MODULES.html.sh: Add largefile, remove large-inode.
50925         * modules/largefile, m4/largefile.m4: New files.
50926         * modules/large-inode, m4/large-inode.m4: Remove.
50928         fsusage: port to MacOS X 10.7 with 4 TiB file systems
50929         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
50930         implementations that use only 32 bits to count blocks.
50931         On typical hosts with 1024-byte blocks, this fails with file
50932         systems as small as 4 TiB.  Problem reported by Herb Wartens
50933         <http://debbugs.gnu.org/9140> and this should also fix a similar
50934         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
50936         large-inode: New module
50937         * MODULES.html.sh: Add it.
50938         * modules/large-inode, m4/large-inode.m4: New files.
50940         extensions: Enable extensions on MacOS X 10.5 and later.
50941         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
50943 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
50945         file-has-acl: use acl_extended_file_nofollow if available
50946         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
50947         (acl_extended_file): New macro.
50948         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
50949         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
50951 2011-07-21  Bruno Haible  <bruno@clisp.org>
50953         Declare system functions in a way that works with C++.
50954         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
50955         declare fdopendir as extern "C".
50956         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
50957         declare frexpl as extern "C".
50958         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
50959         declare gai_strerror as extern "C".
50960         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
50961         programs, declare gai_strerror as extern "C".
50962         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
50963         declare getlogin_r as extern "C".
50964         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
50965         as extern "C".
50966         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
50967         declare ldexpl as extern "C".
50968         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
50969         as extern "C".
50970         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
50971         program, declare getmntinfo as extern "C".
50972         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
50973         stpncpy as extern "C".
50974         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
50975         program, declare __xpg_strerror_r as extern "C".
50976         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
50977         strndup as extern "C".
50978         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
50979         declare memset and bzero as extern "C".
50980         Reported by Sam Steingold <sds@gnu.org>.
50982 2011-07-12  Jim Meyering  <meyering@redhat.com>
50984         maint.mk: prohibit inclusion of "verify.h" without use
50985         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
50987 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50989         timer-time: A new module to check for timer_settime()
50990         * m4/timer_time.m4: Check for the posix function.
50991         * modules/timer-time: Add the new module.
50992         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
50993         Mention it.
50995 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
50996             Bruno Haible  <bruno@clisp.org>
50998         pthread_sigmask: assume POSIX threads if --avoid=threadlib
50999         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
51000         not defined, assume POSIX threads and look for pthread_sigmask in
51001         $LIBS, without changing $CPPFLAGS.
51003 2011-07-19  Bruno Haible  <bruno@clisp.org>
51005         strstr: Update cross-compilation guess.
51006         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
51007         CPUs, guess no, in view of glibc
51008         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
51009         Suggested by Eric Blake. Reported by Reuben Thomas.
51011 2011-07-19  Pádraig Brady  <P@draigBrady.com>
51013         getopt-gnu: suppress core dumps from detection code
51014         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
51015         to suppress core dumps that may well occur on glibc systems.
51016         * modules/getopt-gnu: Depend on nocrash.
51018 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51020         pthread_sigmask: ensure usleep is declared
51021         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
51022         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
51024 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51026         doc: Document NonStop portability issues.
51027         * doc/posix-functions/sigaction.texi (sigaction):
51028         * doc/posix-headers/signal.texi (signal.h):
51029         Document NonStop.  See Joachim Schmitz in
51030         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
51032 2011-07-15  Bruno Haible  <bruno@clisp.org>
51034         ffsl, ffsll: Avoid unportable behaviour.
51035         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
51037 2011-07-15  Bruno Haible  <bruno@clisp.org>
51039         ffs: More tests.
51040         * tests/test-ffs.c (NBITS): New macro.
51041         (main): Add more tests.
51042         * tests/test-ffsl.c (NBITS): New macro.
51043         (main): Add more tests.
51044         * tests/test-ffsll.c (NBITS): New macro.
51045         (main): Add more tests.
51047 2011-07-15  Eric Blake  <eblake@redhat.com>
51049         ffsl, ffsll: new modules
51050         * modules/ffsl: New file.
51051         * modules/ffsll: Likewise.
51052         * m4/ffsl.m4: Likewise.
51053         * m4/ffsll.m4: Likewise.
51054         * lib/ffsl.c: Likewise.
51055         * lib/ffsl.h: Likewise.
51056         * lib/ffsll.c: Likewise.
51057         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
51058         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
51059         * modules/string (Makefile.am): Substitute witnesses.
51060         * lib/strings.in.h (ffsl, ffsll): Declare.
51061         * modules/ffsl-tests: New test file.
51062         * modules/ffsll-tests: Likewise.
51063         * tests/test-ffsl.c: Likewise.
51064         * tests/test-ffsll.c: Likewise.
51065         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51066         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
51067         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
51069         ffs: fix m4 prerequisite
51070         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
51072         ffs: avoid undefined behavior
51073         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
51074         * tests/test-ffs.c (naive, main): Avoid signed shifts.
51075         Reported by Bruno Haible.
51077 2011-07-12  Bruno Haible  <bruno@clisp.org>
51079         pthread_sigmask: Rely on module 'threadlib'.
51080         * modules/pthread_sigmask (Depends-on): Add threadlib.
51081         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
51082         is defined.
51084 2011-07-12  Bruno Haible  <bruno@clisp.org>
51086         regex: Depend on module 'strcase'.
51087         * modules/regex (Depends-on): Add strcase, for strcasecmp().
51089 2011-07-12  Jim Meyering  <meyering@redhat.com>
51091         warn-on-use: fix typo in file name
51092         * modules/snippet/warn-on-use (Files): Correct file name:
51093         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
51095 2011-07-12  Bruno Haible  <bruno@clisp.org>
51097         strings: Document module.
51098         * doc/posix-headers/strings.texi: Mention module 'strings'.
51100 2011-07-12  Bruno Haible  <bruno@clisp.org>
51102         Rename module '_Noreturn' to 'snippet/_Noreturn'.
51103         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
51104         (Files, Makefile.am): Update.
51105         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
51106         * modules/stdlib (Depends-on): Update.
51108 2011-07-12  Bruno Haible  <bruno@clisp.org>
51110         * NEWS: Mention the changes.
51112         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
51113         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
51114         (Files, Makefile.am): Update.
51115         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
51116         * modules/arpa_inet (Depends-on): Update.
51117         * modules/ctype (Depends-on): Update.
51118         * modules/dirent (Depends-on): Update.
51119         * modules/fcntl-h (Depends-on): Update.
51120         * modules/glob (Depends-on): Update.
51121         * modules/iconv-h (Depends-on): Update.
51122         * modules/inttypes-incomplete (Depends-on): Update.
51123         * modules/langinfo (Depends-on): Update.
51124         * modules/locale (Depends-on): Update.
51125         * modules/math (Depends-on): Update.
51126         * modules/netdb (Depends-on): Update.
51127         * modules/poll-h (Depends-on): Update.
51128         * modules/pty (Depends-on): Update.
51129         * modules/search (Depends-on): Update.
51130         * modules/signal (Depends-on): Update.
51131         * modules/spawn (Depends-on): Update.
51132         * modules/stdio (Depends-on): Update.
51133         * modules/stdlib (Depends-on): Update.
51134         * modules/string (Depends-on): Update.
51135         * modules/strings (Depends-on): Update.
51136         * modules/sys_file (Depends-on): Update.
51137         * modules/sys_ioctl (Depends-on): Update.
51138         * modules/sys_select (Depends-on): Update.
51139         * modules/sys_socket (Depends-on): Update.
51140         * modules/sys_stat (Depends-on): Update.
51141         * modules/sys_time (Depends-on): Update.
51142         * modules/sys_times (Depends-on): Update.
51143         * modules/sys_utsname (Depends-on): Update.
51144         * modules/sys_wait (Depends-on): Update.
51145         * modules/termios (Depends-on): Update.
51146         * modules/time (Depends-on): Update.
51147         * modules/unistd (Depends-on): Update.
51148         * modules/wchar (Depends-on): Update.
51149         * modules/wctype-h (Depends-on): Update.
51150         * MODULES.html.sh (Support for building libraries and executables):
51151         Update.
51153         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
51154         * modules/snippet/unused-parameter: Renamed from
51155         modules/unused-parameter.
51156         (Files, Makefile.am): Update.
51157         * build-aux/snippet/unused-parameter.h: Renamed from
51158         build-aux/unused-parameter.h.
51159         * modules/selinux-h (Depends-on): Update.
51160         * modules/unistr/base (Depends-on): Update.
51161         * MODULES.html.sh (Core language properties): Update.
51163         Rename module 'link-warning' to 'snippet/link-warning'.
51164         * modules/snippet/link-warning: Renamed from modules/link-warning.
51165         (Files, Makefile.am): Update.
51166         * build-aux/snippet/link-warning.h: Renamed from
51167         build-aux/link-warning.h.
51168         * MODULES.html.sh (Support for building libraries and executables):
51169         Update.
51171         Rename module 'c++defs' to 'snippet/c++defs'.
51172         * modules/snippet/c++defs: Renamed from modules/c++defs.
51173         (Files, Makefile.am): Update.
51174         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
51175         * modules/arpa_inet (Depends-on): Update.
51176         * modules/ctype (Depends-on): Update.
51177         * modules/dirent (Depends-on): Update.
51178         * modules/fcntl-h (Depends-on): Update.
51179         * modules/glob (Depends-on): Update.
51180         * modules/iconv-h (Depends-on): Update.
51181         * modules/langinfo (Depends-on): Update.
51182         * modules/locale (Depends-on): Update.
51183         * modules/math (Depends-on): Update.
51184         * modules/netdb (Depends-on): Update.
51185         * modules/poll-h (Depends-on): Update.
51186         * modules/pty (Depends-on): Update.
51187         * modules/search (Depends-on): Update.
51188         * modules/signal (Depends-on): Update.
51189         * modules/spawn (Depends-on): Update.
51190         * modules/stdio (Depends-on): Update.
51191         * modules/stdlib (Depends-on): Update.
51192         * modules/string (Depends-on): Update.
51193         * modules/strings (Depends-on): Update.
51194         * modules/sys_ioctl (Depends-on): Update.
51195         * modules/sys_select (Depends-on): Update.
51196         * modules/sys_socket (Depends-on): Update.
51197         * modules/sys_stat (Depends-on): Update.
51198         * modules/sys_time (Depends-on): Update.
51199         * modules/sys_wait (Depends-on): Update.
51200         * modules/termios (Depends-on): Update.
51201         * modules/time (Depends-on): Update.
51202         * modules/unistd (Depends-on): Update.
51203         * modules/wchar (Depends-on): Update.
51204         * modules/wctype-h (Depends-on): Update.
51206         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
51207         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
51208         (Files, Makefile.am): Update.
51209         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
51210         * modules/argv-iter (Depends-on): Update.
51211         * modules/arpa_inet (Depends-on): Update.
51212         * modules/dirent (Depends-on): Update.
51213         * modules/fcntl-h (Depends-on): Update.
51214         * modules/fnmatch (Depends-on): Update.
51215         * modules/getopt-posix (Depends-on): Update.
51216         * modules/glob (Depends-on): Update.
51217         * modules/iconv-h (Depends-on): Update.
51218         * modules/inttypes-incomplete (Depends-on): Update.
51219         * modules/locale (Depends-on): Update.
51220         * modules/math (Depends-on): Update.
51221         * modules/netdb (Depends-on): Update.
51222         * modules/search (Depends-on): Update.
51223         * modules/signal (Depends-on): Update.
51224         * modules/spawn (Depends-on): Update.
51225         * modules/stdio (Depends-on): Update.
51226         * modules/stdlib (Depends-on): Update.
51227         * modules/string (Depends-on): Update.
51228         * modules/strings (Depends-on): Update.
51229         * modules/sys_socket (Depends-on): Update.
51230         * modules/sys_stat (Depends-on): Update.
51231         * modules/sys_time (Depends-on): Update.
51232         * modules/sys_times (Depends-on): Update.
51233         * modules/sys_utsname (Depends-on): Update.
51234         * modules/time (Depends-on): Update.
51235         * modules/unistd (Depends-on): Update.
51236         * modules/wchar (Depends-on): Update.
51237         * MODULES.html.sh (Support for building libraries and executables):
51238         Update.
51240 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51242         Improvements on _Noreturn and related modules.
51244         modules/_Exit-tests: test _Noreturn too
51245         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
51246         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
51247         (main): Use them.
51249         stdnoreturn, stdnoreturn-tests: remove modules
51250         They're not needed here and a bit premature for use elsewhere.  See
51251         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
51252         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
51253         * tests/test-stdnoreturn.c: Remove files.
51254         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
51255         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
51256         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
51257         and using noreturn.
51258         * modules/openat, modules/sigpipe-die, modules/xalloc:
51259         * modules/xmemdup0, modules/xstrtol:
51260         Remove dependency on stdnoreturn.
51262         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
51263         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
51264         Reparenthesize to avoid GCC warning.
51265         Support Microsoft's syntax.
51266         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
51268         _Noreturn-tests: remove module
51269         * modules/_Noreturn-tests: Remove.
51270         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
51271         * tests/test-_Noreturn.c: Remove.
51272         * tests/test-stdnoreturn.c: Merge from the old
51273         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
51275 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51277         _Noreturn, stdnoreturn, and related modules.
51279         * top/maint.mk: Adjust to new noreturn support.
51280         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
51281         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
51283         xalloc: use stdnoreturn.h
51284         * lib/xalloc.h: Include <stdnoreturn.h>.
51285         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51286         * modules/xalloc (Depends-on): Add stdnoreturn.
51288         xstrtol: use stdnoreturn.h
51289         * lib/xstrtol.h: Include <stdnoreturn.h>.
51290         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51291         * modules/xstrtol (Depends-on): Add stdnoreturn.
51293         xmemdup0: use stdnoreturn.h
51294         * lib/xmemdup0.h: Include <stdnoreturn.h>.
51295         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51296         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
51298         sigpipe-die: use stdnoreturn.h
51299         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
51300         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51301         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
51303         openat: use stdnoreturn.h
51304         * lib/openat.h: Include <stdnoreturn.h>.
51305         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51306         * modules/openat (Depends-on): Add stdnoreturn.
51308         * lib/openat-die.c (openat_save_fail): Modernize comment.
51310         * lib/xalloc-die.c (xalloc_die): Modernize comment.
51312         * lib/glthread/thread.h: Modernize comment.
51314         obstack: use _Noreturn
51315         * lib/obstack.c (__attribute__): Remove macro.
51316         (print_and_abort): Use _Noreturn.
51318         c-stack: use _Noreturn
51319         * lib/c-stack.c (die, overflow_handler, segv_handler):
51320         Use _Noreturn rather than __attribute__((noreturn)).
51322         argmatch-tests, exclude_tests: use _Noreturn
51323         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
51324         Remove.
51325         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
51327         stdlib: use _Noreturn
51328         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
51329         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
51330         * modules/stdlib (Depends-on): Add _Noreturn.
51331         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
51333         stdnoreturn-tests: new module
51334         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
51336         stdnoreturn: new module
51337         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
51338         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
51340         _Noreturn-tests: new module
51341         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
51343         _Noreturn: new module
51344         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
51345         New section, mentioning it.
51346         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
51348         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
51350 2011-07-11  Eric Blake  <eblake@redhat.com>
51352         ffs: new module
51353         * modules/ffs: New file.
51354         * m4/ffs.m4: Likewise.
51355         * lib/ffs.c: Likewise.
51356         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
51357         * modules/strings (Makefile.am): Substitute witness.
51358         (Depends-on): Add c++defs.
51359         * lib/strings.in.h (ffs): Declare.
51360         * modules/ffs-tests: New test file.
51361         * tests/test-ffs.c: Test new module.
51362         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51363         * doc/posix-functions/ffs.texi (ffs): Likewise.
51365         regex: avoid compiler warning
51366         * lib/regex.c (includes): Include <strings.h>, for use of
51367         strcasecmp in regcomp.c.
51368         Reported by Joachim Schmitz.
51370 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51372         stdint: respect system's intmax_t if INTMAX_MAX
51373         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
51374         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
51375         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
51376         long but int64_t is long long, and where we will clash with the
51377         system intmax_t if we override it.  See
51378         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
51379         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
51380         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
51381         similarly for UINTMAX_C.
51383 2011-07-08  Bruno Haible  <bruno@clisp.org>
51385         pthread_sigmask tests: Avoid a compiler warning.
51386         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
51387         non-zero.
51389         sigprocmask tests: A better way to avoid a compiler warning.
51390         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
51391         (main): Complain if system() returns non-zero.
51392         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
51394 2011-07-08  Bruno Haible  <bruno@clisp.org>
51396         pthread_sigmask: Work around IRIX bug.
51397         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
51398         bug.
51399         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
51400         there may be unblocked pending signals.
51401         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
51403 2011-07-08  Bruno Haible  <bruno@clisp.org>
51405         pthread_sigmask: Work around Cygwin bug.
51406         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
51407         bug.
51408         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
51409         the system's pthread_sigmask function.
51410         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
51412 2011-07-08  Bruno Haible  <bruno@clisp.org>
51414         pthread_sigmask: Work around bug in single-threaded implementation.
51415         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
51416         FreeBSD, HP-UX, Solaris bug.
51417         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
51418         * lib/pthread_sigmask.c: Include <stddef.h>.
51419         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
51420         the system's pthread_sigmask function.
51421         * modules/pthread_sigmask (configure.ac): Invoke
51422         gl_PREREQ_PTHREAD_SIGMASK.
51423         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
51424         HP-UX, Solaris.
51426 2011-07-08  Eric Blake  <eblake@redhat.com>
51428         test-sigprocmask: avoid compiler warning
51429         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
51430         * tests/test-sigprocmask.c (main): Use it to silence warning.
51431         Reported by Jim Meyering.
51433         test-snprintf: avoid compiler warning
51434         * tests/test-snprintf.c (main): Avoid shadowed declaration.
51435         * tests/test-vsnprintf.c (main): Likewise.
51436         Reported by Jim Meyering.
51438 2011-07-08  Bruno Haible  <bruno@clisp.org>
51440         Tests for module 'pthread_sigmask'.
51441         * modules/pthread_sigmask-tests: New file.
51442         * tests/test-pthread_sigmask1.c: New file, based on
51443         tests/test-sigprocmask.c.
51444         * tests/test-pthread_sigmask2.c: New file.
51446 2011-07-08  Jim Meyering  <meyering@redhat.com>
51448         test-getopt.h: avoid warning about an unused variable
51449         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
51451 2011-07-07  Jim Meyering  <meyering@redhat.com>
51453         maint: reduce list of files exempt from sc_prohibit_leading_TABs
51454         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
51455         now that it no longer contains leading TABs.
51456         Remove unused "url=FIXME" statement.
51458 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51460         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
51461         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51462         When gl_THREADLIB is not in use, assume that the POSIX sematics
51463         are desired.  This is better for Emacs, which uses POSIX semantics
51464         on GNUish and/or POSIXish platforms, and does not use threads at
51465         all otherwise.
51467         pthread_sigmask: fix typo when testing for libraries
51468         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51469         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
51471 2011-07-08  Eric Blake  <eblake@redhat.com>
51473         fts: introduce FTS_NOATIME
51474         * lib/fts_.h (FTS_NOATIME): New bit flag.
51475         (FTS_OPTIONMASK): Adjust.
51476         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
51477         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
51479 2011-07-08  Bruno Haible  <bruno@clisp.org>
51481         Tests for module 'thread'.
51482         * modules/thread-tests: New file.
51483         * tests/test-thread_self.c: New file.
51484         * tests/test-thread_create.cc: New file.
51486 2011-07-08  Bruno Haible  <bruno@clisp.org>
51488         thread: Avoid gcc warnings when using gl_thread_self().
51489         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
51490         'void *'.
51491         (gl_thread_self_pointer): Update.
51493 2011-07-07  Bruno Haible  <bruno@clisp.org>
51495         signal-c++-tests: Check declaration of pthread_sigmask.
51496         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
51497         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
51498         $(LIB_PTHREAD_SIGMASK).
51500 2011-07-07  Bruno Haible  <bruno@clisp.org>
51502         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
51503         * lib/signal.in.h (pthread_sigmask): Override if
51504         REPLACE_PTHREAD_SIGMASK is 1.
51505         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51506         REPLACE_PTHREAD_SIGMASK.
51507         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
51508         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
51509         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
51510         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51511         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
51513 2011-07-07  Bruno Haible  <bruno@clisp.org>
51515         pthread_sigmask: Ensure declaration in <signal.h>.
51516         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
51517         include <pthread.h>.
51518         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
51519         problem.
51521 2011-07-07  Bruno Haible  <bruno@clisp.org>
51523         pthread_sigmask: Document the module.
51524         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
51526 2011-07-07  Bruno Haible  <bruno@clisp.org>
51528         pthread_sigmask: Follow gnulib conventions.
51529         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
51530         gl_PTHREAD_SIGMASK.
51531         * modules/pthread_sigmask (configure.ac): Update.
51533 2011-07-07  Bruno Haible  <bruno@clisp.org>
51535         pthread_sigmask: Make declaration C++ safe.
51536         * lib/signal.in.h: In two special conditions, just do an #include_next.
51537         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51538         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
51539         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51540         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51541         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
51542         not REPLACE_PTHREAD_MASK.
51543         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
51544         not REPLACE_PTHREAD_MASK.
51545         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51547 2011-07-07  Bruno Haible  <bruno@clisp.org>
51549         pthread_sigmask: Fix return value.
51550         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
51551         * lib/pthread_sigmask.c: New file.
51552         * modules/pthread_sigmask (Files): Add it.
51553         (configure.ac): Invoke AC_LIBOBJ.
51555 2011-07-07  Eric Blake  <eblake@redhat.com>
51557         getopt: more portable argv creation
51558         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
51559         const, use char arrays rather than strings.
51560         Suggested by Paul Eggert.
51562 2011-07-07  Bruno Haible  <bruno@clisp.org>
51564         Tests for module 'sigprocmask'.
51565         * modules/sigprocmask-tests: New file.
51566         * tests/test-sigprocmask.c: New file.
51568 2011-07-07  Bruno Haible  <bruno@clisp.org>
51570         float tests: Tweak.
51571         * tests/test-float.c (main): Tweak skip message.
51573 2011-07-07  Eric Blake  <eblake@redhat.com>
51575         getopt: avoid compiler warning during configure
51576         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
51577         assigning string literals to non-const pointer.
51579         getopt-gnu: avoid crash in glibc getopt
51580         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
51581         * tests/test-getopt.h (test_getopt): Enhance test.
51582         * tests/test-getopt_long.h (test_getopt_long): Likewise.
51583         * doc/posix-functions/getopt.texi (getopt): Document it.
51584         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51585         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51586         Likewise.
51588 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
51590         getopt: handle W; without long options in getopt [BZ #12922]
51591         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
51592         but no long options are defined, just return 'W'.
51594 2011-07-07  Bruno Haible  <bruno@clisp.org>
51596         Avoid literal tabs.
51597         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
51598         variable containing a tab instead of a literal tab.
51599         Reported by Jim Meyering.
51601 2011-07-07  Bruno Haible  <bruno@clisp.org>
51603         Comments.
51604         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
51606 2011-07-06  Bruno Haible  <bruno@clisp.org>
51608         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
51609         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
51610         <winsock2.h>.
51611         (rpl_fd_isset, FD_ISSET): New definitions, copied from
51612         lib/sys_socket.in.h.
51613         (close, gethostname): Hide declarations from <winsock2.h>.
51614         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51615         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
51616         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
51617         (select): Don't override if gnulib's <sys/select.h> was already
51618         included.
51619         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
51620         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
51621         setsockopt, shutdown, select): Tweak indentation.
51623 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51625         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
51626         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
51627         in an application that does not use the sys_select module.
51629 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
51631         poll: do not return 0 on timeout=-1
51632         * lib/poll.c: Loop with yield if no events occurred.
51634 2011-07-06  Eric Blake  <eblake@redhat.com>
51636         pthread_sigmask: always replace when not using pthread
51637         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
51638         replacement when using some threading other than pthread.  Fix
51639         logic bug.
51641 2011-07-06  Bruno Haible  <bruno@clisp.org>
51643         Comments.
51644         * m4/printf.m4: Update comments about mingw.
51646 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51648         sys_select: define sigset_t more portably
51649         * lib/sys_select.in.h: Always include <sys/types.h>, since
51650         we now need sigset_t and mingw defines it there.
51651         Include <signal.h> before split inclusion guard, to avoid
51652         mishaps on Solaris, whose <signal.h> eventually includes us.
51653         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
51654         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
51655         which come from ...
51656         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
51657         gl_CHECK_TYPE_SIGSET_T.
51658         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
51659         does the real work.
51660         * modules/sys_select (Depends-on): Add 'signal'.
51662         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
51663         Suggested by Bruno Haible.
51665         pselect: Use pthread_sigmask, not sigprocmask.
51666         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
51667         multithreaded apps better than sigprocmask does.
51668         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
51669         sigprocmask directly.
51671 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51673         * lib/pselect.c (pselect): Use plain name, without "rpl_".
51674         Don't #undef,  since we don't need any underlying pselect.
51675         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
51676         (Depends-on): Add select.
51677         (Link): Add $(LIBSOCKET).
51678         These changes suggested by Bruno Haible.
51680         pselect: document better
51681         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
51682         * doc/posix-functions/pselect.texi (pselect): Document new module.
51684         pthread_sigmask: new module
51685         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
51686         * doc/posix-functions/pthread_sigmask.texi: Document new module.
51687         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
51688         This is done only as a macro; I don't know how well that'll
51689         work for C++.  Move <sys/types.h> include before the include_next,
51690         to avoid mishap on Solaris.
51691         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
51692         * modules/signal (Makefile.am): Substitute the check's results.
51693         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
51695         test-pselect: new module
51696         * modules/pselect-tests, tests/test-pselect.c: New files.
51697         * tests/test-select.c, tests/test-sys_select-c++.cc:
51698         If TEST_PSELECT is defined, test pselect instead of testing select.
51700         * tests/test-sys_select.c (sigset_t): Test for it, too.
51701         Suggested by Bruno Haible.
51703 2011-07-05  Eric Blake  <eblake@redhat.com>
51705         snprintf: guarantee %1$d, for libintl
51706         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
51707         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
51708         * doc/posix-functions/snprintf.texi (snprintf): Update.
51709         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51710         * tests/test-snprintf.c (main): Enhance test.
51711         * tests/test-vsnprintf.c (main): Likewise.
51713 2011-07-05  Jim Meyering  <meyering@redhat.com>
51715         maint: exempt stdio-read.c and stdio-write.c from the cppi check
51716         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
51717         per Bruno's request, to accommodate this idiom (no space after "#")
51718         even when the function is inside an #if block:
51719         char *
51720         gets (char *s)
51721         #undef gets
51722         {
51723           ...
51724         }
51726 2011-07-04  Jim Meyering  <meyering@redhat.com>
51728         maint: indent with spaces, not TABs, and add a rule to check this
51729         * tests/test-userspec.c: Indent with spaces, not TABs.
51730         * tests/test-argp.c: Likewise.
51731         * tests/test-c-stack2.sh: Likewise.
51732         * tests/test-parse-duration.sh: Likewise
51733         * m4/strtod.m4: Likewise.
51734         * m4/alloca.m4: Likewise.
51735         * m4/pselect.m4: Likewise.
51736         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
51738 2011-07-03  Jim Meyering  <meyering@redhat.com>
51740         maint.mk: correct omissions in prohibit_argmatch_without_use check
51741         This rule would mistakenly report that argmatch.h is included without
51742         use even when both the argmatch and invalid_arg macro were used.
51743         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
51744         of argmatch and invalid_arg.
51746 2011-07-03  Bruno Haible  <bruno@clisp.org>
51748         Comments about EINTR.
51749         * lib/safe-read.h: Explain the purpose of this module.
51750         * lib/safe-write.h: Likewise.
51751         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
51752         module.
51753         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
51754         module.
51755         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51757 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
51759         xnanosleep: Rewrite to use new dtotimespec module.
51760         It has the conversion code that used to be in xnanosleep.
51761         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
51762         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
51763         (TIME_T_MAX): Remove.
51764         (xnanosleep): Rewrite in terms of dtotimespec.
51765         * modules/xnanosleep (Depends-on): Add dtotimespec.
51766         Remove intprops, stdbool.
51768         timespec-add, timespec-sub: new modules
51769         * lib/timespec.h (timespec_add, timespec_sub): New decls.
51770         * lib/timespec-add.c, lib/timespec-sub.c:
51771         * modules/timespec-add, modules/timespec-sub: New files.
51773         dtotimespec: new module
51774         * lib/timespec.h (dtotimespec): New decl.
51775         * lib/dtotimespec.c, modules/dtotimespec: New files.
51777         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
51779         pselect: new module
51780         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
51781         (pselect): New decls.
51782         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
51783         since the standard pselect decl uses 'restrict'.
51784         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
51785         HAVE_PSELECT, REPLACE_PSELECT.
51786         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
51787         HAVE_PSELECT, REPLACE_PSELECT.
51788         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
51790         sys_select: don't depend on sys_socket
51791         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
51792         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
51793         This fix works on GNU and GNU-like platforms, but has not been tested
51794         on native Windows.
51795         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
51796         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
51797         gl_HEADER_SYS_SOCKET.
51798         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
51799         gl_PREREQ_SYS_H_WINSOCK2.
51801 2011-06-29  Eric Blake  <eblake@redhat.com>
51803         pipe2: fix C89 compile problem
51804         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
51805         Reported by Bruno Haible.
51807         pipe, pipe2: don't corrupt fd on error
51808         * lib/pipe.c (pipe): Leave fd unchanged on error.
51809         * lib/pipe2.c (pipe2): Likewise.
51810         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
51811         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51813 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
51815         mmap-anon: do not use regular expressions inadvertently
51816         * m4/mmap-anon.m4: Remove trailing period from strings sought
51817         in the output.
51819 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
51821         nanosleep: fix integer overflow problem
51822         * lib/nanosleep.c (my_usleep): Don't assume signed integer
51823         arithmetic wraps around on overflow.
51825         nanosleep: simplify carrying
51826         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
51827         first call to the underyling nanosleep, not for the last one.
51828         This doesn't fix any bugs, but it simplifies the computation of
51829         the remaining delay.  Found while auditing integer overflow issues.
51831         dup2: remove test for existence of fcntl
51832         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
51833         "#if HAVE_FCNTL", in the configure-time test program.
51834         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
51835         and therefore speeds up "configure" a bit.  Found while
51836         adding the dup2 module to Emacs.
51838 2011-06-24  Eric Blake  <eblake@redhat.com>
51840         maint.mk: enhance useless header checks
51841         * top/maint.mk (_sc_header_without_use): Check both include
51842         styles.
51843         (sc_prohibit_assert_without_use)
51844         (sc_prohibit_close_stream_without_use)
51845         (sc_prohibit_getopt_without_use)
51846         (sc_prohibit_quotearg_without_use)
51847         (sc_prohibit_quote_without_use)
51848         (sc_prohibit_long_options_without_use)
51849         (sc_prohibit_inttostr_without_use)
51850         (sc_prohibit_ignore_value_without_use)
51851         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
51852         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
51853         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
51854         (sc_prohibit_hash_pjw_without_use)
51855         (sc_prohibit_safe_read_without_use)
51856         (sc_prohibit_argmatch_without_use)
51857         (sc_prohibit_canonicalize_without_use)
51858         (sc_prohibit_root_dev_ino_without_use)
51859         (sc_prohibit_openat_without_use)
51860         (sc_prohibit_c_ctype_without_use)
51861         (sc_prohibit_signal_without_use)
51862         (sc_prohibit_stdio--_without_use)
51863         (sc_prohibit_stdio-safer_without_use)
51864         (sc_prohibit_strings_without_use)
51865         (sc_prohibit_intprops_without_use)
51866         (sc_prohibit_stddef_without_use)
51867         (sc_prohibit_xfreopen_without_use): Update clients.
51869 2011-06-24  Jim Meyering  <meyering@redhat.com>
51871         syntax-check: keep one maint.mk rule in sync with its header
51872         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
51873         of the bug Eric has just fixed, with today's commit 25e4c2ec.
51874         I prefer to avoid temporary files here, so use <(...), but that
51875         is not supported by /bin/sh, so...
51876         (SHELL): Define to /bin/bash.
51878 2011-06-24  Eric Blake  <eblake@redhat.com>
51880         maint.mk: update sc_prohibit_intprops_without_use
51881         * top/maint.mk (_intprops_names): Match recent changes.
51883 2011-06-24  Bruno Haible  <bruno@clisp.org>
51885         strerror-override: No-op tweak.
51886         * lib/strerror-override.h (strerror_override): Reorder conditions,
51887         for consistency with lib/strerror-override.c.
51889 2011-06-23  Eric Blake  <eblake@redhat.com>
51891         maint.mk: test further PATH_MAX issues
51892         * top/maint.mk (sc_prohibit_path_max_array): Rename...
51893         (sc_prohibit_path_max_allocation): ...and also test alloca.
51894         Suggested by Jim Meyering.
51896 2011-06-22  Eric Blake  <eblake@redhat.com>
51898         maint.mk: add syntax-check to avoid char[PATH_MAX]
51899         * top/maint.mk (sc_prohibit_path_max_array): New rule.
51901         stat: be robust to PATH_MAX definition
51902         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
51903         * modules/stat (Depends-on): Add verify.
51905         link: work around IRIX bug
51906         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
51907         * lib/link.c (rpl_link): Work around it.
51908         * tests/test-link.h (test_link): Enhance test.
51909         * doc/posix-functions/link.texi (link): Document the bug.
51911         getopt: silence clang warning
51912         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
51913         dereference.
51914         Reported by Gustavo Martin Domato.
51916 2011-06-22  Jim Meyering  <meyering@redhat.com>
51918         bootstrap: do not insert a blank line into each .gitignore file
51919         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
51921 2011-06-21  Eric Blake  <eblake@redhat.com>
51923         perror: test for output mismatch
51924         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
51925         perror on IRIX.
51927         strerror_r: fix OpenBSD behavior on out-of-range
51928         * lib/strerror_r.c (strerror_r): Always use maximal string.
51929         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
51931         strerror_r: fix OpenBSD behavior on 0
51932         * lib/strerror-override.c (strerror_override): Also override 0
51933         when needed.
51934         * lib/strerror-override.h (strerror_override): Likewise.
51935         * lib/strerror.c (strerror): Simplify, now that 0 override is done
51936         earlier.
51937         * lib/strerror_r.c (strerror_r): Likewise.
51938         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
51939         behavior...
51940         (gl_FUNC_STRERROR_0): ...into new macro.
51941         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
51942         is overridden.
51943         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
51944         * modules/strerror-override (Files): Add strerror.m4.
51945         (configure.ac): Also provide override for 0 when needed.
51946         * doc/posix-functions/strerror.texi (strerror): Document this.
51947         * doc/posix-functions/perror.texi (perror): Likewise.
51949         perror: adjust array size
51950         * modules/perror (Depends-on): Add strerror-override.
51951         * lib/perror.c (perror): Use it to avoid magic number.
51953         strerror-override: reduce size
51954         * lib/strerror-override.c (strerror_override): Use fewer lines.
51956 2011-06-20  Bruno Haible  <bruno@clisp.org>
51958         pathmax: Ensure correct value for PATH_MAX on HP-UX.
51959         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
51961 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51963         alloca: port to compilers that can optimize like GCC 4.6.0
51964         * lib/alloca.c (find_stack_direction): New signature, taken from
51965         Autoconf git.  This works with GCC 4.6.0.  This code should never
51966         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
51967         be used with other compilers that optimize as well as GCC 4.6.0 does.
51968         (alloca): Adjust to new signature.
51969         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
51970         New macro, which patches Autoconf in a similar way.
51972         c-stack: stop worrying about stack direction
51973         * lib/c-stack.c (find_stack_direction): Remove.
51974         (segv_handler): Don't worry about stack direction growth, as it's
51975         too much of a pain to configure this correctly, given how compilers
51976         are optimizing-away our stack-growth detection code.  Instead, assume
51977         that any access to just before or just after the stack is OK.
51978         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
51979         Don't require AC_FUNC_ALLOCA; no longer needed.
51981 2011-06-20  Eric Blake  <eblake@redhat.com>
51983         test-stat: don't allocate PATH_MAX bytes
51984         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
51985         PATH_MAX-sized buffer.
51986         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
51987         * modules/stat-tests (Depends-on): Likewise.
51988         * tests/test-fstatat.c (includes): Drop pathmax.h.
51989         * tests/test-stat.c (includes): Likewise.
51990         Reported by Bruno Haible.
51992 2011-06-20  Bruno Haible  <bruno@clisp.org>
51994         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
51995         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
51996         * lib/float.c: New file.
51997         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
51998         REPLACE_FLOAT_LDBL.
51999         * modules/float (Files): Add lib/float.c.
52000         (configure.ac): Invoke AC_LIBOBJ.
52001         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
52003 2011-06-20  Bruno Haible  <bruno@clisp.org>
52005         Tests for module 'float'.
52006         * modules/float-tests: New file.
52007         * tests/test-float.c: New file.
52009 2011-06-19  Bruno Haible  <bruno@clisp.org>
52011         isinf: Coding style.
52012         * lib/isinf.c: Use GNU coding style.
52014 2011-06-19  Bruno Haible  <bruno@clisp.org>
52016         linkat test: Avoid test failure on AIX 7.1.
52017         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
52018         * tests/test-link.h (test_link): Likewise.
52020 2011-06-19  Bruno Haible  <bruno@clisp.org>
52022         pread test: Avoid test failure on OpenBSD 4.9.
52023         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
52025 2011-06-19  Bruno Haible  <bruno@clisp.org>
52027         sprintf-posix: Fix test failure on AIX 7.1.
52028         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
52029         * doc/posix-functions/dprintf.texi: Mention limited precision problem
52030         on AIX.
52031         * doc/posix-functions/fprintf.texi: Likewise.
52032         * doc/posix-functions/printf.texi: Likewise.
52033         * doc/posix-functions/snprintf.texi: Likewise.
52034         * doc/posix-functions/sprintf.texi: Likewise.
52035         * doc/posix-functions/vdprintf.texi: Likewise.
52036         * doc/posix-functions/vfprintf.texi: Likewise.
52037         * doc/posix-functions/vprintf.texi: Likewise.
52038         * doc/posix-functions/vsnprintf.texi: Likewise.
52039         * doc/posix-functions/vsprintf.texi: Likewise.
52041 2011-06-19  Bruno Haible  <bruno@clisp.org>
52043         roundl-ieee: Fix test failure on AIX 7.1.
52044         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
52045         * doc/posix-functions/roundl.texi: Mention problem with negative
52046         arguments.
52048 2011-06-19  Bruno Haible  <bruno@clisp.org>
52050         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52051         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
52052         * doc/posix-functions/round.texi: Mention problem with negative
52053         arguments.
52054         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
52056 2011-06-19  Bruno Haible  <bruno@clisp.org>
52058         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
52059         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
52060         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
52061         * doc/posix-functions/roundf.texi: Mention problem with negative
52062         arguments.
52063         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
52065 2011-06-19  Bruno Haible  <bruno@clisp.org>
52067         ceilf-ieee: Work around bug on MacOS X 10.5.
52068         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
52070         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
52071         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
52072         IEEE compliant, avoid compiler optimizations.
52073         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
52074         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
52075         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
52076         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52077         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52078         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
52079         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52080         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
52081         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
52082         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
52084 2011-06-19  Bruno Haible  <bruno@clisp.org>
52086         ceilf-ieee: Work around bug on AIX 7.1.
52087         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
52088         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
52090 2011-06-19  Bruno Haible  <bruno@clisp.org>
52092         ceil-ieee: Work around bug on AIX 7.1.
52093         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
52094         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
52096 2011-06-18  Bruno Haible  <bruno@clisp.org>
52098         fsync test: Avoid test failure on MacOS X and AIX.
52099         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
52100         EINVAL.
52102 2011-06-18  Bruno Haible  <bruno@clisp.org>
52104         openat, fdopendir tests: Fix link errors.
52105         * modules/openat-tests (Depends-on): Add progname.
52106         * modules/fdopendir-tests (Depends-on): Likewise.
52107         * tests/test-fchownat.c: Include progname.h.
52108         (main): Call set_program_name.
52109         * tests/test-fstatat.c: Include progname.h.
52110         (main): Call set_program_name.
52111         * tests/test-mkdirat.c: Include progname.h.
52112         (main): Call set_program_name.
52113         * tests/test-openat.c: Include progname.h.
52114         (main): Call set_program_name.
52115         * tests/test-unlinkat.c: Include progname.h.
52116         (main): Call set_program_name.
52117         * tests/test-fdopendir.c: Include progname.h.
52118         (main): Call set_program_name.
52120 2011-06-18  Bruno Haible  <bruno@clisp.org>
52122         Doc update.
52123         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
52124         HP-UX.
52125         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
52127 2011-06-18  Bruno Haible  <bruno@clisp.org>
52129         getcwd tests: Avoid compilation error on HP-UX 11.31.
52130         * modules/getcwd-tests (Depends-on): Add pathmax.
52131         * tests/test-getcwd.c: Include pathmax.h.
52133 2011-06-18  Bruno Haible  <bruno@clisp.org>
52135         isfinite, isinf: Fix link error on AIX 6 and 7.
52136         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
52137         needed, also test the macro with a 'float' argument.
52138         * m4/isinf.m4 (gl_ISINF): Likewise.
52140 2011-06-18  Bruno Haible  <bruno@clisp.org>
52142         getloadavg: Don't clobber LIBS. Regression from previous commit.
52143         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
52144         AC_CHECK_LIB from here...
52145         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
52146         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
52147         gl_func_getloadavg_done.
52148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52150 2011-06-18  Bruno Haible  <bruno@clisp.org>
52152         clean-temp: Improve documentation.
52153         * lib/clean-temp.h: Explain better how to use this module.
52154         Reported by John Darrington <john@darrington.wattle.id.au>.
52156 2011-06-17  Bruno Haible  <bruno@clisp.org>
52158         pread, pwrite: Avoid cc warning on AIX.
52159         * lib/unistd.in.h (pread): Undefine before defining as a macro.
52160         (pwrite): Likewise.
52162 2011-06-17  Bruno Haible  <bruno@clisp.org>
52164         spawn-pipe tests: Fix link error.
52165         * tests/test-spawn-pipe-child.c: Undefine fprintf.
52166         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52168 2011-06-17  Bruno Haible  <bruno@clisp.org>
52170         Tests: Remove unnecessary dependency.
52171         * modules/canonicalize-tests (Depends-on): Remove progname.
52172         * modules/chown-tests (Depends-on): Likewise.
52173         * modules/dirname-tests (Depends-on): Likewise.
52174         * modules/fdopendir-tests (Depends-on): Likewise.
52175         * modules/fdutimensat-tests (Depends-on): Likewise.
52176         * modules/hash-tests (Depends-on): Likewise.
52177         * modules/lchown-tests (Depends-on): Likewise.
52178         * modules/linkat-tests (Depends-on): Likewise.
52179         * modules/renameat-tests (Depends-on): Likewise.
52180         * modules/spawn-pipe-tests (Depends-on): Likewise.
52181         * modules/utimensat-tests (Depends-on): Likewise.
52183 2011-06-17  Bruno Haible  <bruno@clisp.org>
52185         spawn-pipe tests: Fix link error.
52186         * tests/test-spawn-pipe-child.c: Undefine fflush.
52188 2011-06-17  Bruno Haible  <bruno@clisp.org>
52190         Fix tests link errors.
52191         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
52192         * modules/chown-tests (Makefile.am): Don't link test-chown with
52193         LIBINTL.
52194         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
52195         LIBINTL.
52196         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
52197         LIBINTL.
52198         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
52199         LIBINTL.
52201 2011-06-16  Bruno Haible  <bruno@clisp.org>
52203         crypto/gc-sha1: Fix recent regression.
52204         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
52205         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
52207         crypto/gc-md5: Fix recent regression.
52208         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
52210         crypto/gc-md4: Fix recent regression.
52211         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
52212         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
52214         crypto/gc-arctwo: Fix recent regression.
52215         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
52216         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
52218         crypto/gc-rijndael: Fix recent regression.
52219         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
52220         (configure.ac): Invoke AC_LIBOBJ here.
52221         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
52222         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52224         crypto/gc-hmac-sha1: Fix recent regression.
52225         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
52226         (configure.ac): Invoke AC_LIBOBJ here.
52227         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
52228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52230         crypto/gc-hmac-md5: Fix recent regression.
52231         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
52232         (configure.ac): Invoke AC_LIBOBJ here.
52233         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
52234         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52236         crypto/gc-des: Fix recent regression.
52237         * modules/crypto/gc-des (Files): Remove m4/des.m4.
52238         (configure.ac): Invoke AC_LIBOBJ here.
52239         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
52240         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52242         crypto/gc-arcfour: Fix recent regression.
52243         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
52244         (configure.ac): Invoke AC_LIBOBJ here.
52245         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
52246         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52248 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
52250         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
52251         After the 2011-05-21 change, this macro requires
52252         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
52253         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52255 2011-06-16  Bruno Haible  <bruno@clisp.org>
52257         fprintftime: Move AC_LIBOBJ invocations to module description.
52258         * m4/fprintftime.m4: Remove file.
52259         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
52260         (configure.ac): Remove gl_FPRINTFTIME call.
52261         (Makefile.am): Augment lib_SOURCES.
52262         Reported by Jim Meyering.
52264 2011-06-16  Bruno Haible  <bruno@clisp.org>
52266         tmpfile-safer: Finish 2011-05-23 commit.
52267         * m4/stdio-safer.m4: Really remove file.
52268         Reported by Jim Meyering.
52270 2011-06-16  Bruno Haible  <bruno@clisp.org>
52272         syntax-check: Fix typo.
52273         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
52274         printf-posix.m4.
52275         Reported by Jim Meyering.
52277 2011-06-13  Jim Meyering  <meyering@redhat.com>
52279         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
52280         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
52282 2011-05-23  Bruno Haible  <bruno@clisp.org>
52284         yesno: Move AC_LIBOBJ invocations to module description.
52285         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
52286         * modules/yesno (Makefile.am): Augment lib_SOURCES.
52288 2011-05-23  Bruno Haible  <bruno@clisp.org>
52290         xstrtol: Move AC_LIBOBJ invocations to module description.
52291         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
52292         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
52294 2011-05-23  Bruno Haible  <bruno@clisp.org>
52296         xstrtold: Move AC_LIBOBJ invocations to module description.
52297         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
52298         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
52300 2011-05-23  Bruno Haible  <bruno@clisp.org>
52302         xstrtod: Move AC_LIBOBJ invocations to module description.
52303         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
52304         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
52306 2011-05-23  Bruno Haible  <bruno@clisp.org>
52308         xnanosleep: Move AC_LIBOBJ invocations to module description.
52309         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
52310         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
52312 2011-05-23  Bruno Haible  <bruno@clisp.org>
52314         xgetcwd: Move AC_LIBOBJ invocations to module description.
52315         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
52316         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
52318 2011-05-23  Bruno Haible  <bruno@clisp.org>
52320         xalloc: Move AC_LIBOBJ invocations to module description.
52321         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
52322         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
52324 2011-05-23  Bruno Haible  <bruno@clisp.org>
52326         write-any-file: Move AC_LIBOBJ invocations to module description.
52327         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
52328         invocation.
52329         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
52331 2011-05-23  Bruno Haible  <bruno@clisp.org>
52333         utimens: Move AC_LIBOBJ invocations to module description.
52334         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
52335         * modules/utimens (Makefile.am): Augment lib_SOURCES.
52337 2011-05-23  Bruno Haible  <bruno@clisp.org>
52339         utimecmp: Move AC_LIBOBJ invocations to module description.
52340         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
52341         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
52343 2011-05-23  Bruno Haible  <bruno@clisp.org>
52345         userspec: Move AC_LIBOBJ invocations to module description.
52346         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
52347         * modules/userspec (Makefile.am): Augment lib_SOURCES.
52349 2011-05-23  Bruno Haible  <bruno@clisp.org>
52351         unlinkdir: Move AC_LIBOBJ invocations to module description.
52352         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
52353         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
52355 2011-05-23  Bruno Haible  <bruno@clisp.org>
52357         unistd-safer: Move AC_LIBOBJ invocations to module description.
52358         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
52359         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
52361 2011-05-23  Bruno Haible  <bruno@clisp.org>
52363         tempname: Move AC_LIBOBJ invocations to module description.
52364         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
52365         * modules/tempname (Makefile.am): Augment lib_SOURCES.
52367 2011-05-23  Bruno Haible  <bruno@clisp.org>
52369         strftime: Move AC_LIBOBJ invocations to module description.
52370         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
52371         * modules/strftime (Makefile.am): Augment lib_SOURCES.
52373 2011-05-23  Bruno Haible  <bruno@clisp.org>
52375         stdlib-safer: Move AC_LIBOBJ invocations to module description.
52376         * m4/stdlib-safer.m4: Remove file.
52377         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
52378         (configure.ac): Remove gl_STDLIB_SAFER call.
52379         (Makefile.am): Augment lib_SOURCES.
52381 2011-05-23  Bruno Haible  <bruno@clisp.org>
52383         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
52384         * m4/stdio-safer.m4: Remove file.
52385         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
52386         (configure.ac): Remove gl_TMPFILE_SAFER call.
52387         (Makefile.am): Augment lib_SOURCES.
52389 2011-05-23  Bruno Haible  <bruno@clisp.org>
52391         popen-safer: Move AC_LIBOBJ invocations to module description.
52392         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
52393         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
52394         (configure.ac): Remove gl_POPEN_SAFER call.
52395         (Makefile.am): Augment lib_SOURCES.
52397 2011-05-23  Bruno Haible  <bruno@clisp.org>
52399         freopen-safer: Move AC_LIBOBJ invocations to module description.
52400         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
52401         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
52402         (configure.ac): Remove gl_FREOPEN_SAFER call.
52403         (Makefile.am): Augment lib_SOURCES.
52405 2011-05-23  Bruno Haible  <bruno@clisp.org>
52407         fopen-safer: Move AC_LIBOBJ invocations to module description.
52408         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
52409         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
52410         (configure.ac): Remove gl_FOPEN_SAFER call.
52411         (Makefile.am): Augment lib_SOURCES.
52413 2011-05-23  Bruno Haible  <bruno@clisp.org>
52415         crypto/sha512: Move AC_LIBOBJ invocations to module description.
52416         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
52417         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
52419 2011-05-23  Bruno Haible  <bruno@clisp.org>
52421         crypto/sha256: Move AC_LIBOBJ invocations to module description.
52422         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
52423         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
52425 2011-05-23  Bruno Haible  <bruno@clisp.org>
52427         crypto/sha1: Move AC_LIBOBJ invocations to module description.
52428         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
52429         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
52431 2011-05-23  Bruno Haible  <bruno@clisp.org>
52433         settime: Move AC_LIBOBJ invocations to module description.
52434         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
52435         * modules/settime (Makefile.am): Augment lib_SOURCES.
52437 2011-05-23  Bruno Haible  <bruno@clisp.org>
52439         savedir: Move AC_LIBOBJ invocations to module description.
52440         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
52441         * modules/savedir (Makefile.am): Augment lib_SOURCES.
52443 2011-05-23  Bruno Haible  <bruno@clisp.org>
52445         save-cwd: Move AC_LIBOBJ invocations to module description.
52446         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
52447         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
52449 2011-05-23  Bruno Haible  <bruno@clisp.org>
52451         same: Move AC_LIBOBJ invocations to module description.
52452         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
52453         * modules/same (Makefile.am): Augment lib_SOURCES.
52455 2011-05-23  Bruno Haible  <bruno@clisp.org>
52457         safe-write: Move AC_LIBOBJ invocations to module description.
52458         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
52459         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
52460         instead of gl_SAFE_WRITE.
52461         (Makefile.am): Augment lib_SOURCES.
52463 2011-05-23  Bruno Haible  <bruno@clisp.org>
52465         safe-read: Move AC_LIBOBJ invocations to module description.
52466         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
52467         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
52468         of gl_SAFE_READ.
52469         (Makefile.am): Augment lib_SOURCES.
52471 2011-05-23  Bruno Haible  <bruno@clisp.org>
52473         safe-alloc: Move AC_LIBOBJ invocations to module description.
52474         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
52475         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
52477 2011-05-23  Bruno Haible  <bruno@clisp.org>
52479         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
52480         * m4/rijndael.m4: Remove file.
52481         * modules/crypto/rijndael (Files): Remove it.
52482         (configure.ac): Remove gl_RIJNDAEL call.
52483         (Makefile.am): Augment lib_SOURCES.
52485 2011-05-23  Bruno Haible  <bruno@clisp.org>
52487         readtokens: Move AC_LIBOBJ invocations to module description.
52488         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
52489         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
52491 2011-05-23  Bruno Haible  <bruno@clisp.org>
52493         read-file: Move AC_LIBOBJ invocations to module description.
52494         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
52495         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
52496         of gl_FUNC_READ_FILE.
52497         (Makefile.am): Augment lib_SOURCES.
52499 2011-05-23  Bruno Haible  <bruno@clisp.org>
52501         quotearg: Move AC_LIBOBJ invocations to module description.
52502         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
52503         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
52505 2011-05-23  Bruno Haible  <bruno@clisp.org>
52507         quote: Move AC_LIBOBJ invocations to module description.
52508         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
52509         * modules/quote (Makefile.am): Augment lib_SOURCES.
52511 2011-05-23  Bruno Haible  <bruno@clisp.org>
52513         posixver: Move AC_LIBOBJ invocations to module description.
52514         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
52515         * modules/posixver (Makefile.am): Augment lib_SOURCES.
52517 2011-05-23  Bruno Haible  <bruno@clisp.org>
52519         posixtm: Move AC_LIBOBJ invocations to module description.
52520         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
52521         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
52523 2011-05-23  Bruno Haible  <bruno@clisp.org>
52525         physmem: Move AC_LIBOBJ invocations to module description.
52526         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
52527         * modules/physmem (Makefile.am): Augment lib_SOURCES.
52529 2011-05-23  Bruno Haible  <bruno@clisp.org>
52531         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
52532         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
52533         invocation.
52534         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
52536 2011-05-23  Bruno Haible  <bruno@clisp.org>
52538         mpsort: Move AC_LIBOBJ invocations to module description.
52539         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
52540         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
52542 2011-05-23  Bruno Haible  <bruno@clisp.org>
52544         modechange: Move AC_LIBOBJ invocations to module description.
52545         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
52546         * modules/modechange (Makefile.am): Augment lib_SOURCES.
52548 2011-05-23  Bruno Haible  <bruno@clisp.org>
52550         mkdir-p: Move AC_LIBOBJ invocations to module description.
52551         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
52552         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
52554 2011-05-23  Bruno Haible  <bruno@clisp.org>
52556         mkancesdirs: Move AC_LIBOBJ invocations to module description.
52557         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
52558         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
52560 2011-05-23  Bruno Haible  <bruno@clisp.org>
52562         mgetgroups: Move AC_LIBOBJ invocations to module description.
52563         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
52564         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
52566 2011-05-23  Bruno Haible  <bruno@clisp.org>
52568         memxor: Move AC_LIBOBJ invocations to module description.
52569         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
52570         * modules/memxor (Makefile.am): Augment lib_SOURCES.
52572 2011-05-23  Bruno Haible  <bruno@clisp.org>
52574         memcoll: Move AC_LIBOBJ invocations to module description.
52575         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
52576         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
52578 2011-05-23  Bruno Haible  <bruno@clisp.org>
52580         memcasecmp: Move AC_LIBOBJ invocations to module description.
52581         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
52582         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
52584 2011-05-23  Bruno Haible  <bruno@clisp.org>
52586         crypto/md5: Move AC_LIBOBJ invocations to module description.
52587         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
52588         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
52590 2011-05-23  Bruno Haible  <bruno@clisp.org>
52592         crypto/md4: Move AC_LIBOBJ invocations to module description.
52593         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
52594         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
52596 2011-05-23  Bruno Haible  <bruno@clisp.org>
52598         crypto/md2: Move AC_LIBOBJ invocations to module description.
52599         * m4/md2.m4: Remove file.
52600         * modules/crypto/md2 (Files): Remove it.
52601         (configure.ac): Remove gl_MD2 call.
52602         (Makefile.am): Augment lib_SOURCES.
52604 2011-05-23  Bruno Haible  <bruno@clisp.org>
52606         long-options: Move AC_LIBOBJ invocations to module description.
52607         * m4/long-options.m4: Remove file.
52608         * modules/long-options (Files): Remove it.
52609         (configure.ac): Remove gl_LONG_OPTIONS call.
52610         (Makefile.am): Augment lib_SOURCES.
52612 2011-05-23  Bruno Haible  <bruno@clisp.org>
52614         i-ring: Move AC_LIBOBJ invocations to module description.
52615         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
52616         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
52618 2011-05-23  Bruno Haible  <bruno@clisp.org>
52620         idcache: Move AC_LIBOBJ invocations to module description.
52621         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
52622         * modules/idcache (Makefile.am): Augment lib_SOURCES.
52624 2011-05-23  Bruno Haible  <bruno@clisp.org>
52626         human: Move AC_LIBOBJ invocations to module description.
52627         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
52628         * modules/human (Makefile.am): Augment lib_SOURCES.
52630 2011-05-23  Bruno Haible  <bruno@clisp.org>
52632         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
52633         * m4/hmac-sha1.m4: Remove file.
52634         * modules/crypto/hmac-sha1 (Files): Remove it.
52635         (configure.ac): Remove gl_HMAC_SHA1 call.
52636         (Makefile.am): Augment lib_SOURCES.
52638 2011-05-23  Bruno Haible  <bruno@clisp.org>
52640         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
52641         * m4/hmac-md5.m4: Remove file.
52642         * modules/crypto/hmac-md5 (Files): Remove it.
52643         (configure.ac): Remove gl_HMAC_MD5 call.
52644         (Makefile.am): Augment lib_SOURCES.
52646 2011-05-23  Bruno Haible  <bruno@clisp.org>
52648         hash: Move AC_LIBOBJ invocations to module description.
52649         * m4/hash.m4: Remove file.
52650         * modules/hash (Files): Remove it.
52651         (configure.ac): Remove gl_HASH call.
52652         (Makefile.am): Augment lib_SOURCES.
52654 2011-05-23  Bruno Haible  <bruno@clisp.org>
52656         hard-locale: Move AC_LIBOBJ invocations to module description.
52657         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
52658         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
52660 2011-05-23  Bruno Haible  <bruno@clisp.org>
52662         getugroups: Move AC_LIBOBJ invocations to module description.
52663         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
52664         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
52666 2011-05-23  Bruno Haible  <bruno@clisp.org>
52668         gettime: Move AC_LIBOBJ invocations to module description.
52669         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
52670         * modules/gettime (Makefile.am): Augment lib_SOURCES.
52672 2011-05-23  Bruno Haible  <bruno@clisp.org>
52674         getndelim2: Move AC_LIBOBJ invocations to module description.
52675         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
52676         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
52678 2011-05-23  Bruno Haible  <bruno@clisp.org>
52680         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
52681         * m4/gc-pbkdf2-sha1.m4: Remove file.
52682         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
52683         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
52684         (Makefile.am): Augment lib_SOURCES.
52686 2011-05-23  Bruno Haible  <bruno@clisp.org>
52688         fts: Move AC_LIBOBJ invocations to module description.
52689         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
52690         * modules/fts (configure.ac): ... to here.
52692 2011-05-23  Bruno Haible  <bruno@clisp.org>
52694         file-type: Move AC_LIBOBJ invocations to module description.
52695         * m4/file-type.m4: Remove file.
52696         * modules/file-type (Files): Remove it.
52697         (configure.ac): Remove gl_FILE_TYPE call.
52698         (Makefile.am): Augment lib_SOURCES.
52700 2011-05-23  Bruno Haible  <bruno@clisp.org>
52702         filenamecat*: Respect rules for use of AC_LIBOBJ.
52703         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
52704         Remove AC_LIBOBJ invocation.
52705         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
52706         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
52708 2011-05-23  Bruno Haible  <bruno@clisp.org>
52710         filemode: Move AC_LIBOBJ invocations to module description.
52711         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
52712         * modules/filemode (Makefile.am): Augment lib_SOURCES.
52714 2011-05-23  Bruno Haible  <bruno@clisp.org>
52716         openat-safer: Move AC_LIBOBJ invocations to module description.
52717         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
52718         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
52720 2011-05-23  Bruno Haible  <bruno@clisp.org>
52722         fcntl-safer: Move AC_LIBOBJ invocations to module description.
52723         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
52724         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
52726 2011-05-23  Bruno Haible  <bruno@clisp.org>
52728         exclude: Move AC_LIBOBJ invocations to module description.
52729         * m4/exclude.m4: Remove file.
52730         * modules/exclude (Files): Remove it.
52731         (configure.ac): Remove gl_EXCLUDE call.
52732         (Makefile.am): Augment lib_SOURCES.
52734 2011-05-23  Bruno Haible  <bruno@clisp.org>
52736         dirname*: Respect rules for use of AC_LIBOBJ.
52737         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
52738         invocations.
52739         * modules/dirname (Makefile.am): Augment lib_SOURCES.
52740         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
52742 2011-05-23  Bruno Haible  <bruno@clisp.org>
52744         dirent-safer: Move AC_LIBOBJ invocations to module description.
52745         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
52746         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
52748 2011-05-23  Bruno Haible  <bruno@clisp.org>
52750         crypto/des: Move AC_LIBOBJ invocations to module description.
52751         * m4/des.m4: Remove file.
52752         * modules/crypto/des (Files): Remove it.
52753         (configure.ac): Remove gl_DES call.
52754         (Makefile.am): Augment lib_SOURCES.
52756 2011-05-23  Bruno Haible  <bruno@clisp.org>
52758         cycle-check: Move AC_LIBOBJ invocations to module description.
52759         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
52760         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
52762 2011-05-23  Bruno Haible  <bruno@clisp.org>
52764         c-strtold: Move AC_LIBOBJ invocations to module description.
52765         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
52766         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
52768 2011-05-23  Bruno Haible  <bruno@clisp.org>
52770         c-strtod: Move AC_LIBOBJ invocations to module description.
52771         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
52772         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
52774 2011-05-23  Bruno Haible  <bruno@clisp.org>
52776         crc: Move AC_LIBOBJ invocations to module description.
52777         * m4/crc.m4: Remove file.
52778         * modules/crc (Files): Remove it.
52779         (configure.ac): Remove gl_CRC call.
52780         (Makefile.am): Augment lib_SOURCES.
52782 2011-05-23  Bruno Haible  <bruno@clisp.org>
52784         close-stream: Move AC_LIBOBJ invocations to module description.
52785         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
52786         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
52788 2011-05-23  Bruno Haible  <bruno@clisp.org>
52790         closeout: Move AC_LIBOBJ invocations to module description.
52791         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
52792         * modules/closeout (Makefile.am): Augment lib_SOURCES.
52794 2011-05-23  Bruno Haible  <bruno@clisp.org>
52796         closein: Move AC_LIBOBJ invocations to module description.
52797         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
52798         * modules/closein (Makefile.am): Augment lib_SOURCES.
52800 2011-05-23  Bruno Haible  <bruno@clisp.org>
52802         cloexec: Move AC_LIBOBJ invocations to module description.
52803         * m4/cloexec.m4: Remove file.
52804         * modules/cloexec (Files): Remove it.
52805         (configure.ac): Remove gl_CLOEXEC call.
52806         (Makefile.am): Augment lib_SOURCES.
52808 2011-05-23  Bruno Haible  <bruno@clisp.org>
52810         check-version: Move AC_LIBOBJ invocations to module description.
52811         * m4/check-version.m4: Remove file.
52812         * modules/check-version (Files): Remove it.
52813         (configure.ac): Remove gl_CHECK_VERSION call.
52814         (Makefile.am): Augment lib_SOURCES.
52816 2011-05-23  Bruno Haible  <bruno@clisp.org>
52818         chdir-safer: Move AC_LIBOBJ invocations to module description.
52819         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
52820         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
52822 2011-05-23  Bruno Haible  <bruno@clisp.org>
52824         canonicalize: Move AC_LIBOBJ invocations to module description.
52825         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
52826         AC_LIBOBJ invocation.
52827         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
52829 2011-05-23  Bruno Haible  <bruno@clisp.org>
52831         canon-host: Move AC_LIBOBJ invocations to module description.
52832         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
52833         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
52834         instead of gl_CANON_HOST.
52835         (Makefile.am): Augment lib_SOURCES.
52837 2011-05-23  Bruno Haible  <bruno@clisp.org>
52839         backupfile: Move AC_LIBOBJ invocations to module description.
52840         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
52841         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
52843 2011-05-23  Bruno Haible  <bruno@clisp.org>
52845         argmatch: Move AC_LIBOBJ invocations to module description.
52846         * m4/argmatch.m4: Remove file.
52847         * modules/argmatch (Files): Remove it.
52848         (configure.ac): Remove gl_ARGMATCH call.
52849         (Makefile.am): Augment lib_SOURCES.
52851 2011-05-23  Bruno Haible  <bruno@clisp.org>
52853         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
52854         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
52855         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
52857 2011-05-23  Bruno Haible  <bruno@clisp.org>
52859         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
52860         * m4/arcfour.m4: Remove file.
52861         * modules/crypto/arcfour (Files): Remove it.
52862         (configure.ac): Remove gl_ARCFOUR call.
52863         (Makefile.am): Augment lib_SOURCES.
52865 2011-05-22  Bruno Haible  <bruno@clisp.org>
52867         write: Move AC_LIBOBJ invocations to module description.
52868         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
52869         * modules/write (configure.ac): ... to here.
52871 2011-05-22  Bruno Haible  <bruno@clisp.org>
52873         wmemset: Move AC_LIBOBJ invocations to module description.
52874         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
52875         here...
52876         * modules/wmemset (configure.ac): ... to here.
52878 2011-05-22  Bruno Haible  <bruno@clisp.org>
52880         wmemmove: Move AC_LIBOBJ invocations to module description.
52881         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
52882         here...
52883         * modules/wmemmove (configure.ac): ... to here.
52885 2011-05-22  Bruno Haible  <bruno@clisp.org>
52887         wmemcpy: Move AC_LIBOBJ invocations to module description.
52888         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
52889         here...
52890         * modules/wmemcpy (configure.ac): ... to here.
52892 2011-05-22  Bruno Haible  <bruno@clisp.org>
52894         wmemcmp: Move AC_LIBOBJ invocations to module description.
52895         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
52896         here...
52897         * modules/wmemcmp (configure.ac): ... to here.
52899 2011-05-22  Bruno Haible  <bruno@clisp.org>
52901         wmemchr: Move AC_LIBOBJ invocations to module description.
52902         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
52903         here...
52904         * modules/wmemchr (configure.ac): ... to here.
52906 2011-05-22  Bruno Haible  <bruno@clisp.org>
52908         wcswidth: Move AC_LIBOBJ invocations to module description.
52909         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
52910         here...
52911         * modules/wcswidth (configure.ac): ... to here.
52913 2011-05-22  Bruno Haible  <bruno@clisp.org>
52915         wcwidth: Respect rules for use of AC_LIBOBJ.
52916         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
52917         invocation from here...
52918         * modules/wcwidth (configure.ac): ... to here.
52919         (Depends-on): Update conditions.
52921 2011-05-22  Bruno Haible  <bruno@clisp.org>
52923         wctype: Move AC_LIBOBJ invocations to module description.
52924         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
52925         invocation from here...
52926         * modules/wctype (configure.ac): ... to here.
52927         (Depends-on): Update conditions.
52929 2011-05-22  Bruno Haible  <bruno@clisp.org>
52931         wctrans: Move AC_LIBOBJ invocations to module description.
52932         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
52933         invocation from here...
52934         * modules/wctrans (configure.ac): ... to here.
52936 2011-05-22  Bruno Haible  <bruno@clisp.org>
52938         wctomb: Move AC_LIBOBJ invocations to module description.
52939         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
52940         invocations from here...
52941         * modules/wctomb (configure.ac): ... to here.
52943 2011-05-22  Bruno Haible  <bruno@clisp.org>
52945         wctob: Move AC_LIBOBJ invocations to module description.
52946         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
52947         gl_PREREQ_WCTOB invocations from here...
52948         * modules/wctob (configure.ac): ... to here.
52949         (Depends-on): Update conditions.
52951 2011-05-22  Bruno Haible  <bruno@clisp.org>
52953         wcsxfrm: Move AC_LIBOBJ invocations to module description.
52954         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
52955         here...
52956         * modules/wcsxfrm (configure.ac): ... to here.
52958 2011-05-22  Bruno Haible  <bruno@clisp.org>
52960         wcstok: Move AC_LIBOBJ invocations to module description.
52961         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
52962         * modules/wcstok (configure.ac): ... to here.
52964 2011-05-22  Bruno Haible  <bruno@clisp.org>
52966         wcsstr: Move AC_LIBOBJ invocations to module description.
52967         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
52968         * modules/wcsstr (configure.ac): ... to here.
52970 2011-05-22  Bruno Haible  <bruno@clisp.org>
52972         wcsspn: Move AC_LIBOBJ invocations to module description.
52973         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
52974         * modules/wcsspn (configure.ac): ... to here.
52976 2011-05-22  Bruno Haible  <bruno@clisp.org>
52978         wcsrtombs: Move AC_LIBOBJ invocations to module description.
52979         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
52980         gl_PREREQ_WCSRTOMBS invocations from here...
52981         * modules/wcsrtombs (configure.ac): ... to here.
52983 2011-05-22  Bruno Haible  <bruno@clisp.org>
52985         wcsrchr: Move AC_LIBOBJ invocations to module description.
52986         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
52987         here...
52988         * modules/wcsrchr (configure.ac): ... to here.
52990 2011-05-22  Bruno Haible  <bruno@clisp.org>
52992         wcspbrk: Move AC_LIBOBJ invocations to module description.
52993         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
52994         here...
52995         * modules/wcspbrk (configure.ac): ... to here.
52997 2011-05-22  Bruno Haible  <bruno@clisp.org>
52999         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
53000         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
53001         gl_PREREQ_WCSNRTOMBS invocations from here...
53002         * modules/wcsnrtombs (configure.ac): ... to here.
53004 2011-05-22  Bruno Haible  <bruno@clisp.org>
53006         wcsnlen: Move AC_LIBOBJ invocations to module description.
53007         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
53008         here...
53009         * modules/wcsnlen (configure.ac): ... to here.
53011 2011-05-22  Bruno Haible  <bruno@clisp.org>
53013         wcsncpy: Move AC_LIBOBJ invocations to module description.
53014         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
53015         here...
53016         * modules/wcsncpy (configure.ac): ... to here.
53018 2011-05-22  Bruno Haible  <bruno@clisp.org>
53020         wcsncmp: Move AC_LIBOBJ invocations to module description.
53021         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
53022         here...
53023         * modules/wcsncmp (configure.ac): ... to here.
53025 2011-05-22  Bruno Haible  <bruno@clisp.org>
53027         wcsncat: Move AC_LIBOBJ invocations to module description.
53028         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
53029         here...
53030         * modules/wcsncat (configure.ac): ... to here.
53032 2011-05-22  Bruno Haible  <bruno@clisp.org>
53034         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
53035         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
53036         from here...
53037         * modules/wcsncasecmp (configure.ac): ... to here.
53039 2011-05-22  Bruno Haible  <bruno@clisp.org>
53041         wcslen: Move AC_LIBOBJ invocations to module description.
53042         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
53043         * modules/wcslen (configure.ac): ... to here.
53045 2011-05-22  Bruno Haible  <bruno@clisp.org>
53047         wcsdup: Move AC_LIBOBJ invocations to module description.
53048         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
53049         * modules/wcsdup (configure.ac): ... to here.
53051 2011-05-22  Bruno Haible  <bruno@clisp.org>
53053         wcscspn: Move AC_LIBOBJ invocations to module description.
53054         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
53055         here...
53056         * modules/wcscspn (configure.ac): ... to here.
53058 2011-05-22  Bruno Haible  <bruno@clisp.org>
53060         wcscpy: Move AC_LIBOBJ invocations to module description.
53061         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
53062         * modules/wcscpy (configure.ac): ... to here.
53064 2011-05-22  Bruno Haible  <bruno@clisp.org>
53066         wcscoll: Move AC_LIBOBJ invocations to module description.
53067         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
53068         here...
53069         * modules/wcscoll (configure.ac): ... to here.
53071 2011-05-22  Bruno Haible  <bruno@clisp.org>
53073         wcscmp: Move AC_LIBOBJ invocations to module description.
53074         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
53075         * modules/wcscmp (configure.ac): ... to here.
53077 2011-05-22  Bruno Haible  <bruno@clisp.org>
53079         wcschr: Move AC_LIBOBJ invocations to module description.
53080         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
53081         * modules/wcschr (configure.ac): ... to here.
53083 2011-05-22  Bruno Haible  <bruno@clisp.org>
53085         wcscat: Move AC_LIBOBJ invocations to module description.
53086         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
53087         * modules/wcscat (configure.ac): ... to here.
53089 2011-05-22  Bruno Haible  <bruno@clisp.org>
53091         wcscasecmp: Move AC_LIBOBJ invocations to module description.
53092         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
53093         here...
53094         * modules/wcscasecmp (configure.ac): ... to here.
53096 2011-05-22  Bruno Haible  <bruno@clisp.org>
53098         wcrtomb: Move AC_LIBOBJ invocations to module description.
53099         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
53100         invocations from here...
53101         * modules/wcrtomb (configure.ac): ... to here.
53103 2011-05-22  Bruno Haible  <bruno@clisp.org>
53105         wcpncpy: Move AC_LIBOBJ invocations to module description.
53106         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
53107         here...
53108         * modules/wcpncpy (configure.ac): ... to here.
53110 2011-05-22  Bruno Haible  <bruno@clisp.org>
53112         wcpcpy: Move AC_LIBOBJ invocations to module description.
53113         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
53114         * modules/wcpcpy (configure.ac): ... to here.
53116 2011-05-22  Bruno Haible  <bruno@clisp.org>
53118         waitpid: Move AC_LIBOBJ invocations to module description.
53119         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
53120         invocation from here...
53121         * modules/waitpid (configure.ac): ... to here.
53123 2011-05-22  Bruno Haible  <bruno@clisp.org>
53125         utimensat: Move AC_LIBOBJ invocations to module description.
53126         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
53127         here...
53128         * modules/utimensat (configure.ac): ... to here.
53130 2011-05-22  Bruno Haible  <bruno@clisp.org>
53132         usleep: Move AC_LIBOBJ invocations to module description.
53133         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
53134         here...
53135         * modules/usleep (configure.ac): ... to here.
53137 2011-05-22  Bruno Haible  <bruno@clisp.org>
53139         unlockpt: Move AC_LIBOBJ invocations to module description.
53140         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
53141         gl_PREREQ_UNLOCKPT invocations from here...
53142         * modules/unlockpt (configure.ac): ... to here.
53144 2011-05-22  Bruno Haible  <bruno@clisp.org>
53146         unlink: Respect rules for use of AC_LIBOBJ.
53147         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
53148         * modules/unlink (configure.ac): ... to here.
53150 2011-05-22  Bruno Haible  <bruno@clisp.org>
53152         uname: Move AC_LIBOBJ invocations to module description.
53153         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
53154         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
53155         here...
53156         * modules/uname (configure.ac): ... to here.
53158 2011-05-22  Bruno Haible  <bruno@clisp.org>
53160         ttyname_r: Move AC_LIBOBJ invocations to module description.
53161         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
53162         gl_PREREQ_TTYNAME_R invocations from here...
53163         * modules/ttyname_r (configure.ac): ... to here.
53165 2011-05-22  Bruno Haible  <bruno@clisp.org>
53167         tsearch: Move AC_LIBOBJ invocations to module description.
53168         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
53169         invocations from here...
53170         * modules/tsearch (configure.ac): ... to here.
53172 2011-05-22  Bruno Haible  <bruno@clisp.org>
53174         towctrans: Move AC_LIBOBJ invocations to module description.
53175         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
53176         AC_LIBOBJ invocation from here...
53177         * modules/towctrans (configure.ac): ... to here.
53179 2011-05-22  Bruno Haible  <bruno@clisp.org>
53181         tmpfile: Move AC_LIBOBJ invocations to module description.
53182         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
53183         invocations from here...
53184         * modules/tmpfile (configure.ac): ... to here.
53186 2011-05-22  Bruno Haible  <bruno@clisp.org>
53188         times: Move AC_LIBOBJ invocations to module description.
53189         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
53190         * modules/times (configure.ac): ... to here.
53192 2011-05-22  Bruno Haible  <bruno@clisp.org>
53194         time_r: Move AC_LIBOBJ invocations to module description.
53195         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
53196         invocations from here...
53197         * modules/time_r (configure.ac): ... to here.
53199 2011-05-22  Bruno Haible  <bruno@clisp.org>
53201         timegm: Move AC_LIBOBJ invocations to module description.
53202         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
53203         invocations from here...
53204         * modules/timegm (configure.ac): ... to here.
53206 2011-05-22  Bruno Haible  <bruno@clisp.org>
53208         tcgetsid: Move AC_LIBOBJ invocations to module description.
53209         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
53210         and gl_PREREQ_TCGETSID invocations from here...
53211         * modules/tcgetsid (configure.ac): ... to here.
53212         (Depends-on): Update conditions.
53214 2011-05-22  Bruno Haible  <bruno@clisp.org>
53216         symlinkat: Move AC_LIBOBJ invocations to module description.
53217         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
53218         here...
53219         * modules/symlinkat (configure.ac): ... to here.
53221 2011-05-22  Bruno Haible  <bruno@clisp.org>
53223         symlink: Move AC_LIBOBJ invocations to module description.
53224         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
53225         here...
53226         * modules/symlink (configure.ac): ... to here.
53228 2011-05-22  Bruno Haible  <bruno@clisp.org>
53230         strverscmp: Move AC_LIBOBJ invocations to module description.
53231         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
53232         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
53233         from here...
53234         * modules/strverscmp (configure.ac): ... to here.
53236 2011-05-22  Bruno Haible  <bruno@clisp.org>
53238         strtok_r: Move AC_LIBOBJ invocations to module description.
53239         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
53240         and gl_PREREQ_STRTOK_R invocations from here...
53241         * modules/strtok_r (configure.ac): ... to here.
53242         (Depends-on): Update conditions.
53244 2011-05-22  Bruno Haible  <bruno@clisp.org>
53246         strtoumax: Move AC_LIBOBJ invocations to module description.
53247         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
53248         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
53249         from here...
53250         * modules/strtoumax (configure.ac): ... to here.
53252 2011-05-22  Bruno Haible  <bruno@clisp.org>
53254         strtoimax: Move AC_LIBOBJ invocations to module description.
53255         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
53256         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
53257         from here...
53258         * modules/strtoimax (configure.ac): ... to here.
53260 2011-05-22  Bruno Haible  <bruno@clisp.org>
53262         strtoull: Move AC_LIBOBJ invocations to module description.
53263         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
53264         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
53265         from here...
53266         * modules/strtoull (configure.ac): ... to here.
53268 2011-05-22  Bruno Haible  <bruno@clisp.org>
53270         strtoll: Move AC_LIBOBJ invocations to module description.
53271         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
53272         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
53273         here...
53274         * modules/strtoll (configure.ac): ... to here.
53276 2011-05-22  Bruno Haible  <bruno@clisp.org>
53278         strtoul: Move AC_LIBOBJ invocations to module description.
53279         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
53280         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53281         * modules/strtoul (configure.ac): ... to here.
53283 2011-05-22  Bruno Haible  <bruno@clisp.org>
53285         strtol: Move AC_LIBOBJ invocations to module description.
53286         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
53287         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53288         * modules/strtol (configure.ac): ... to here.
53290 2011-05-22  Bruno Haible  <bruno@clisp.org>
53292         strtod: Move AC_LIBOBJ invocations to module description.
53293         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
53294         invocations from here...
53295         * modules/strtod (configure.ac): ... to here.
53297 2011-05-22  Bruno Haible  <bruno@clisp.org>
53299         strstr*: Move AC_LIBOBJ invocations to module description.
53300         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
53301         invocations from here...
53302         * modules/strstr-simple (configure.ac): ... to here.
53303         * modules/strstr (configure.ac): ... and here.
53305 2011-05-22  Bruno Haible  <bruno@clisp.org>
53307         strsignal: Move AC_LIBOBJ invocations to module description.
53308         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
53309         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
53310         * modules/strsignal (configure.ac): ... to here.
53311         (Depends-on): Update conditions.
53313 2011-05-22  Bruno Haible  <bruno@clisp.org>
53315         strsep: Move AC_LIBOBJ invocations to module description.
53316         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
53317         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
53318         here...
53319         * modules/strsep (configure.ac): ... to here.
53321 2011-05-22  Bruno Haible  <bruno@clisp.org>
53323         strptime: Move AC_LIBOBJ invocations to module description.
53324         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
53325         gl_PREREQ_STRPTIME invocations from here...
53326         * modules/strptime (configure.ac): ... to here.
53328 2011-05-22  Bruno Haible  <bruno@clisp.org>
53330         strpbrk: Move AC_LIBOBJ invocations to module description.
53331         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
53332         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
53333         here...
53334         * modules/strpbrk (configure.ac): ... to here.
53336 2011-05-22  Bruno Haible  <bruno@clisp.org>
53338         strnlen: Move AC_LIBOBJ invocations to module description.
53339         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
53340         invocations from here...
53341         * modules/strnlen (configure.ac): ... to here.
53343 2011-05-22  Bruno Haible  <bruno@clisp.org>
53345         strndup: Move AC_LIBOBJ invocations to module description.
53346         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
53347         invocations from here...
53348         * modules/strndup (configure.ac): ... to here.
53349         (Depends-on): Update conditions.
53351 2011-05-22  Bruno Haible  <bruno@clisp.org>
53353         strncat: Move AC_LIBOBJ invocations to module description.
53354         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
53355         invocations from here...
53356         * modules/strncat (configure.ac): ... to here.
53358 2011-05-22  Bruno Haible  <bruno@clisp.org>
53360         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
53361         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
53362         invocations from here...
53363         * modules/strdup (configure.ac): ... to here.
53364         * modules/strdup-posix (configure.ac): ... and here.
53366 2011-05-22  Bruno Haible  <bruno@clisp.org>
53368         strcspn: Move AC_LIBOBJ invocations to module description.
53369         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
53370         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
53371         here...
53372         * modules/strcspn (configure.ac): ... to here.
53374 2011-05-22  Bruno Haible  <bruno@clisp.org>
53376         strchrnul: Move AC_LIBOBJ invocations to module description.
53377         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
53378         gl_PREREQ_STRCHRNUL invocations from here...
53379         * modules/strchrnul (configure.ac): ... to here.
53381 2011-05-22  Bruno Haible  <bruno@clisp.org>
53383         strcasestr*: Move AC_LIBOBJ invocations to module description.
53384         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53385         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
53386         * modules/strcasestr-simple (configure.ac): ... to here.
53387         * modules/strcasestr (configure.ac): ... and here.
53389 2011-05-22  Bruno Haible  <bruno@clisp.org>
53391         strcase: Move AC_LIBOBJ invocations to module description.
53392         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
53393         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
53394         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
53395         gl_PREREQ_STRNCASECMP invocations from here...
53396         * modules/strcase (configure.ac): ... to here.
53398 2011-05-22  Bruno Haible  <bruno@clisp.org>
53400         stpncpy: Move AC_LIBOBJ invocations to module description.
53401         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
53402         here...
53403         * modules/stpncpy (configure.ac): ... to here.
53405 2011-05-22  Bruno Haible  <bruno@clisp.org>
53407         stpcpy: Move AC_LIBOBJ invocations to module description.
53408         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
53409         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
53410         here...
53411         * modules/stpcpy (configure.ac): ... to here.
53413 2011-05-21  Bruno Haible  <bruno@clisp.org>
53415         stat: Move AC_LIBOBJ invocations to module description.
53416         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
53417         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
53418         here...
53419         * modules/stat (configure.ac): ... to here.
53421 2011-05-21  Bruno Haible  <bruno@clisp.org>
53423         sleep: Move AC_LIBOBJ invocations to module description.
53424         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
53425         * modules/sleep (configure.ac): ... to here.
53427 2011-05-21  Bruno Haible  <bruno@clisp.org>
53429         signbit: Move AC_LIBOBJ invocations to module description.
53430         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
53431         * modules/signbit (configure.ac): ... to here.
53433 2011-05-21  Bruno Haible  <bruno@clisp.org>
53435         sigprocmask: Move AC_LIBOBJ invocations to module description.
53436         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
53437         gl_PREREQ_SIGPROMASK invocations from here...
53438         * modules/sigprocmask (configure.ac): ... to here.
53440 2011-05-21  Bruno Haible  <bruno@clisp.org>
53442         sigaction: Move AC_LIBOBJ invocations to module description.
53443         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
53444         gl_PREREQ_SIGACTION invocations from here...
53445         * modules/sigaction (configure.ac): ... to here.
53447 2011-05-21  Bruno Haible  <bruno@clisp.org>
53449         sig2str: Move AC_LIBOBJ invocations to module description.
53450         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
53451         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
53452         here...
53453         * modules/sig2str (configure.ac): ... to here.
53455 2011-05-21  Bruno Haible  <bruno@clisp.org>
53457         setlocale: Move AC_LIBOBJ invocations to module description.
53458         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
53459         gl_PREREQ_SETLOCALE invocations from here...
53460         * modules/setlocale (configure.ac): ... to here.
53462 2011-05-21  Bruno Haible  <bruno@clisp.org>
53464         unsetenv: Move AC_LIBOBJ invocations to module description.
53465         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
53466         and gl_PREREQ_UNSETENV invocations from here...
53467         * modules/unsetenv (configure.ac): ... to here.
53468         (Depends-on): Update.
53470 2011-05-21  Bruno Haible  <bruno@clisp.org>
53472         setenv: Move AC_LIBOBJ invocations to module description.
53473         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
53474         here...
53475         * modules/setenv (configure.ac): ... to here.
53477 2011-05-21  Bruno Haible  <bruno@clisp.org>
53479         selinux-h: Move AC_LIBOBJ invocations to module description.
53480         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
53481         AC_LIBOBJ invocation from here...
53482         * modules/selinux-h (configure.ac): ... to here.
53484 2011-05-21  Bruno Haible  <bruno@clisp.org>
53486         select: Respect rules for use of AC_LIBOBJ.
53487         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
53488         here...
53489         * modules/select (configure.ac): ... to here.
53491 2011-05-21  Bruno Haible  <bruno@clisp.org>
53493         scandir: Move AC_LIBOBJ invocations to module description.
53494         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
53495         invocations from here...
53496         * modules/scandir (configure.ac): ... to here.
53498 2011-05-21  Bruno Haible  <bruno@clisp.org>
53500         rpmatch: Move AC_LIBOBJ invocations to module description.
53501         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
53502         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
53503         here...
53504         * modules/rpmatch (configure.ac): ... to here.
53506 2011-05-21  Bruno Haible  <bruno@clisp.org>
53508         rmdir: Respect rules for use of AC_LIBOBJ.
53509         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
53510         * modules/rmdir (configure.ac): ... to here.
53512 2011-05-21  Bruno Haible  <bruno@clisp.org>
53514         renameat: Move AC_LIBOBJ invocations to module description.
53515         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
53516         here...
53517         * modules/renameat (configure.ac): ... to here.
53519 2011-05-21  Bruno Haible  <bruno@clisp.org>
53521         rename: Respect rules for use of AC_LIBOBJ.
53522         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
53523         here...
53524         * modules/rename (configure.ac): ... to here.
53526 2011-05-21  Bruno Haible  <bruno@clisp.org>
53528         remove: Move AC_LIBOBJ invocations to module description.
53529         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
53530         here...
53531         * modules/remove (configure.ac): ... to here.
53533 2011-05-21  Bruno Haible  <bruno@clisp.org>
53535         relocatable-lib: Move AC_LIBOBJ invocations to module description.
53536         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
53537         macro.
53538         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
53539         * modules/relocatable-lib (configure.ac): ... to here.
53540         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53541         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
53543 2011-05-21  Bruno Haible  <bruno@clisp.org>
53545         relocatable-prog: Move AC_LIBOBJ invocations to module description.
53546         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
53547         here...
53548         * modules/relocatable-prog (configure.ac): ... to here.
53550 2011-05-21  Bruno Haible  <bruno@clisp.org>
53552         regex: Move AC_LIBOBJ invocations to module description.
53553         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
53554         invocations from here...
53555         * modules/regex (configure.ac): ... to here.
53557 2011-05-21  Bruno Haible  <bruno@clisp.org>
53559         realloc-*: Move AC_LIBOBJ invocations to module description.
53560         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
53561         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
53562         AC_LIBOBJ invocations from here...
53563         * modules/realloc-gnu (configure.ac): ... to here.
53564         * modules/realloc-posix (configure.ac): ... and here.
53566 2011-05-21  Bruno Haible  <bruno@clisp.org>
53568         readutmp: Move AC_LIBOBJ invocations to module description.
53569         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
53570         * modules/readutmp (configure.ac): ... to here.
53572 2011-05-21  Bruno Haible  <bruno@clisp.org>
53574         readlinkat: Move AC_LIBOBJ invocations to module description.
53575         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
53576         here...
53577         * modules/readlinkat (configure.ac): ... to here.
53579 2011-05-21  Bruno Haible  <bruno@clisp.org>
53581         readlink: Move AC_LIBOBJ invocations to module description.
53582         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
53583         gl_PREREQ_READLINK invocations from here...
53584         * modules/readlink (configure.ac): ... to here.
53586 2011-05-21  Bruno Haible  <bruno@clisp.org>
53588         readline: Move AC_LIBOBJ invocations to module description.
53589         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
53590         gl_PREREQ_READLINE invocations from here...
53591         * modules/readline (configure.ac): ... to here.
53593 2011-05-21  Bruno Haible  <bruno@clisp.org>
53595         read: Move AC_LIBOBJ invocations to module description.
53596         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
53597         * modules/read (configure.ac): ... to here.
53599 2011-05-21  Bruno Haible  <bruno@clisp.org>
53601         rawmemchr: Move AC_LIBOBJ invocations to module description.
53602         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
53603         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
53604         from here...
53605         * modules/rawmemchr (configure.ac): ... to here.
53607 2011-05-21  Bruno Haible  <bruno@clisp.org>
53609         random_r: Move AC_LIBOBJ invocations to module description.
53610         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
53611         gl_PREREQ_RANDOM_R invocations from here...
53612         * modules/random_r (configure.ac): ... to here.
53614 2011-05-21  Bruno Haible  <bruno@clisp.org>
53616         pwrite: Move AC_LIBOBJ invocations to module description.
53617         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
53618         * modules/pwrite (configure.ac): ... to here.
53620 2011-05-21  Bruno Haible  <bruno@clisp.org>
53622         putenv: Move AC_LIBOBJ invocations to module description.
53623         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
53624         * modules/putenv (configure.ac): ... to here.
53626 2011-05-21  Bruno Haible  <bruno@clisp.org>
53628         login_tty: Move AC_LIBOBJ invocations to module description.
53629         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
53630         * modules/login_tty (configure.ac): ... to here.
53632 2011-05-21  Bruno Haible  <bruno@clisp.org>
53634         openpty: Move AC_LIBOBJ invocations to module description.
53635         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
53636         * modules/openpty (configure.ac): ... to here.
53638 2011-05-21  Bruno Haible  <bruno@clisp.org>
53640         forkpty: Move AC_LIBOBJ invocations to module description.
53641         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
53642         * modules/forkpty (configure.ac): ... to here.
53644 2011-05-21  Bruno Haible  <bruno@clisp.org>
53646         ptsname: Move AC_LIBOBJ invocations to module description.
53647         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
53648         invocations from here...
53649         * modules/ptsname (configure.ac): ... to here.
53651 2011-05-21  Bruno Haible  <bruno@clisp.org>
53653         pread: Move AC_LIBOBJ invocations to module description.
53654         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
53655         * modules/pread (configure.ac): ... to here.
53657 2011-05-21  Bruno Haible  <bruno@clisp.org>
53659         posix_spawn*: Move AC_LIBOBJ invocations to module description.
53660         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
53661         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
53662         * modules/posix_spawn (configure.ac): ... to here.
53663         * modules/posix_spawnp (configure.ac): ... and here.
53665 2011-05-21  Bruno Haible  <bruno@clisp.org>
53667         popen: Move AC_LIBOBJ invocations to module description.
53668         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
53669         invocations from here...
53670         * modules/popen (configure.ac): ... to here.
53672 2011-05-21  Bruno Haible  <bruno@clisp.org>
53674         poll: Move AC_LIBOBJ invocations to module description.
53675         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
53676         invocations from here...
53677         * modules/poll (configure.ac): ... to here.
53679 2011-05-21  Bruno Haible  <bruno@clisp.org>
53681         pipe-posix: Move AC_LIBOBJ invocations to module description.
53682         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
53683         * modules/pipe-posix (configure.ac): ... to here.
53685 2011-05-21  Bruno Haible  <bruno@clisp.org>
53687         openat: Respect rules for use of AC_LIBOBJ.
53688         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
53689         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53690         * modules/openat (configure.ac): ... to here.
53692 2011-05-21  Bruno Haible  <bruno@clisp.org>
53694         obstack-printf*: Move AC_LIBOBJ invocations to module description.
53695         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
53696         invocation from here...
53697         * modules/obstack-printf (configure.ac): ... to here.
53698         * modules/obstack-printf-posix (configure.ac): ... and here.
53700 2011-05-21  Bruno Haible  <bruno@clisp.org>
53702         nl_langinfo: Move AC_LIBOBJ invocations to module description.
53703         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
53704         from here...
53705         * modules/nl_langinfo (configure.ac): ... to here.
53707 2011-05-21  Bruno Haible  <bruno@clisp.org>
53709         nanosleep: Move AC_LIBOBJ invocations to module description.
53710         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
53711         gl_PREREQ_NANOSLEEP invocations from here...
53712         * modules/nanosleep (configure.ac): ... to here.
53714 2011-05-21  Bruno Haible  <bruno@clisp.org>
53716         mountlist: Move AC_LIBOBJ invocations to module description.
53717         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
53718         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
53719         * modules/mountlist (configure.ac): ... to here.
53721 2011-05-21  Bruno Haible  <bruno@clisp.org>
53723         mktime: Respect rules for use of AC_LIBOBJ.
53724         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
53725         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
53726         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
53727         (gl_FUNC_MKTIME_INTERNAL): ... and here...
53728         * modules/mktime (configure.ac): ... to here.
53729         * modules/mktime-internal (configure.ac): ... and here.
53730         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
53732 2011-05-21  Bruno Haible  <bruno@clisp.org>
53734         mkstemps: Move AC_LIBOBJ invocations to module description.
53735         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
53736         here...
53737         * modules/mkstemps (configure.ac): ... to here.
53739 2011-05-21  Bruno Haible  <bruno@clisp.org>
53741         mkstemp: Move AC_LIBOBJ invocations to module description.
53742         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
53743         gl_PREREQ_MKSTEMP invocations from here...
53744         * modules/mkstemp (configure.ac): ... to here.
53746 2011-05-21  Bruno Haible  <bruno@clisp.org>
53748         mkostemps: Move AC_LIBOBJ invocations to module description.
53749         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
53750         here...
53751         * modules/mkostemps (configure.ac): ... to here.
53753 2011-05-21  Bruno Haible  <bruno@clisp.org>
53755         mkostemp: Move AC_LIBOBJ invocations to module description.
53756         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
53757         gl_PREREQ_MKOSTEMP invocations from here...
53758         * modules/mkostemp (configure.ac): ... to here.
53760 2011-05-21  Bruno Haible  <bruno@clisp.org>
53762         mknod: Move AC_LIBOBJ invocations to module description.
53763         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
53764         * modules/mknod (configure.ac): ... to here.
53766 2011-05-21  Bruno Haible  <bruno@clisp.org>
53768         mkfifoat: Move AC_LIBOBJ invocations to module description.
53769         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
53770         here...
53771         * modules/mkfifoat (configure.ac): ... to here.
53773 2011-05-21  Bruno Haible  <bruno@clisp.org>
53775         mkfifo: Respect rules for use of AC_LIBOBJ.
53776         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
53777         here...
53778         * modules/mkfifo (configure.ac): ... to here.
53780 2011-05-21  Bruno Haible  <bruno@clisp.org>
53782         mkdtemp: Move AC_LIBOBJ invocations to module description.
53783         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
53784         invocations from here...
53785         * modules/mkdtemp (configure.ac): ... to here.
53787 2011-05-21  Bruno Haible  <bruno@clisp.org>
53789         mkdir: Move AC_LIBOBJ invocations to module description.
53790         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
53791         * modules/mkdir (configure.ac): ... to here.
53793 2011-05-21  Bruno Haible  <bruno@clisp.org>
53795         memset: Move AC_LIBOBJ invocations to module description.
53796         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
53797         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
53798         here...
53799         * modules/memset (configure.ac): ... to here.
53801 2011-05-21  Bruno Haible  <bruno@clisp.org>
53803         memrchr: Move AC_LIBOBJ invocations to module description.
53804         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
53805         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
53806         here...
53807         * modules/memrchr (configure.ac): ... to here.
53809 2011-05-21  Bruno Haible  <bruno@clisp.org>
53811         mempcpy: Move AC_LIBOBJ invocations to module description.
53812         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
53813         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
53814         here...
53815         * modules/mempcpy (configure.ac): ... to here.
53817 2011-05-21  Bruno Haible  <bruno@clisp.org>
53819         memmove: Move AC_LIBOBJ invocations to module description.
53820         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
53821         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
53822         here...
53823         * modules/memmove (configure.ac): ... to here.
53825 2011-05-21  Bruno Haible  <bruno@clisp.org>
53827         memmem*: Move AC_LIBOBJ invocations to module description.
53828         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
53829         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
53830         here...
53831         (gl_FUNC_MEMMEM): ... and here...
53832         * modules/memmem-simple (configure.ac): ... to here.
53833         * modules/memmem (configure.ac): ... and here.
53835 2011-05-21  Bruno Haible  <bruno@clisp.org>
53837         memcpy: Move AC_LIBOBJ invocations to module description.
53838         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
53839         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
53840         here...
53841         * modules/memcpy (configure.ac): ... to here.
53843 2011-05-21  Bruno Haible  <bruno@clisp.org>
53845         memcmp: Simplify autoconf macro.
53846         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
53847         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
53848         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
53850 2011-05-21  Bruno Haible  <bruno@clisp.org>
53852         memcmp: Move AC_LIBOBJ invocations to module description.
53853         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
53854         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
53855         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
53856         * modules/memcmp (configure.ac): ... to here.
53857         (Depends-on): Update conditions.
53859 2011-05-21  Bruno Haible  <bruno@clisp.org>
53861         memchr: Respect rules for use of AC_LIBOBJ.
53862         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
53863         invocations from here...
53864         * modules/memchr (configure.ac): ... to here.
53866 2011-05-21  Bruno Haible  <bruno@clisp.org>
53868         mbtowc: Move AC_LIBOBJ invocations to module description.
53869         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
53870         invocations from here...
53871         * modules/mbtowc (configure.ac): ... to here.
53873 2011-05-21  Bruno Haible  <bruno@clisp.org>
53875         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
53876         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
53877         gl_PREREQ_MBSRTOWCS invocations from here...
53878         * modules/mbsrtowcs (configure.ac): ... to here.
53880 2011-05-21  Bruno Haible  <bruno@clisp.org>
53882         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
53883         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
53884         gl_PREREQ_MBSNRTOWCS invocations from here...
53885         * modules/mbsnrtowcs (configure.ac): ... to here.
53887 2011-05-21  Bruno Haible  <bruno@clisp.org>
53889         mbsinit: Move AC_LIBOBJ invocations to module description.
53890         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
53891         invocations from here...
53892         * modules/mbsinit (configure.ac): ... to here.
53894 2011-05-21  Bruno Haible  <bruno@clisp.org>
53896         mbrlen: Move AC_LIBOBJ invocations to module description.
53897         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
53898         invocations from here...
53899         * modules/mbrlen (configure.ac): ... to here.
53901 2011-05-21  Bruno Haible  <bruno@clisp.org>
53903         mbrtowc: Respect rules for use of AC_LIBOBJ.
53904         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
53905         invocations from here...
53906         * modules/mbrtowc (configure.ac): ... to here.
53908 2011-05-21  Bruno Haible  <bruno@clisp.org>
53910         malloc-*: Move AC_LIBOBJ invocations to module description.
53911         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
53912         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
53913         AC_LIBOBJ invocations from here...
53914         * modules/malloc-gnu (configure.ac): ... to here.
53915         * modules/malloc-posix (configure.ac): ... and here.
53917 2011-05-21  Bruno Haible  <bruno@clisp.org>
53919         lstat, openat: Respect rules for use of AC_LIBOBJ.
53920         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
53921         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
53922         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
53923         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
53924         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
53925         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
53926         here.
53927         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
53929 2011-05-21  Bruno Haible  <bruno@clisp.org>
53931         lseek: Move AC_LIBOBJ invocations to module description.
53932         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
53933         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
53934         * modules/lseek (configure.ac): ... to here.
53936 2011-05-21  Bruno Haible  <bruno@clisp.org>
53938         linkat: Move AC_LIBOBJ invocations to module description.
53939         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
53940         here...
53941         * modules/linkat (configure.ac): ... to here.
53943 2011-05-21  Bruno Haible  <bruno@clisp.org>
53945         link: Respect rules for use of AC_LIBOBJ.
53946         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
53947         * modules/link (configure.ac): ... to here.
53949 2011-05-21  Bruno Haible  <bruno@clisp.org>
53951         lchown: Move AC_LIBOBJ invocations to module description.
53952         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53953         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53954         * modules/lchown (configure.ac): ... to here.
53956 2011-05-21  Bruno Haible  <bruno@clisp.org>
53958         iswctype: Move AC_LIBOBJ invocations to module description.
53959         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
53960         here...
53961         * modules/iswctype (configure.ac): ... to here.
53963 2011-05-21  Bruno Haible  <bruno@clisp.org>
53965         iswblank: Move AC_LIBOBJ invocations to module description.
53966         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
53967         here...
53968         * modules/iswblank (configure.ac): ... to here.
53970 2011-05-21  Bruno Haible  <bruno@clisp.org>
53972         atanl: Move AC_LIBOBJ invocations to module description.
53973         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
53974         * modules/atanl (configure.ac): ... to here.
53976 2011-05-21  Bruno Haible  <bruno@clisp.org>
53978         acosl: Move AC_LIBOBJ invocations to module description.
53979         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
53980         * modules/acosl (configure.ac): ... to here.
53982 2011-05-21  Bruno Haible  <bruno@clisp.org>
53984         asinl: Respect rules for use of AC_LIBOBJ.
53985         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
53986         * modules/asinl (configure.ac): ... to here.
53988 2011-05-21  Bruno Haible  <bruno@clisp.org>
53990         tanl: Move AC_LIBOBJ invocations to module description.
53991         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
53992         * modules/tanl (configure.ac): ... to here.
53994 2011-05-21  Bruno Haible  <bruno@clisp.org>
53996         cosl: Move AC_LIBOBJ invocations to module description.
53997         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
53998         * modules/cosl (configure.ac): ... to here.
54000 2011-05-21  Bruno Haible  <bruno@clisp.org>
54002         sinl: Move AC_LIBOBJ invocations to module description.
54003         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
54004         * modules/sinl (configure.ac): ... to here.
54006 2011-05-21  Bruno Haible  <bruno@clisp.org>
54008         logl: Move AC_LIBOBJ invocations to module description.
54009         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
54010         * modules/logl (configure.ac): ... to here.
54012 2011-05-21  Bruno Haible  <bruno@clisp.org>
54014         expl: Move AC_LIBOBJ invocations to module description.
54015         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
54016         * modules/expl (configure.ac): ... to here.
54018 2011-05-21  Bruno Haible  <bruno@clisp.org>
54020         roundl: Move AC_LIBOBJ invocations to module description.
54021         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
54022         * modules/roundl (configure.ac): ... to here.
54024 2011-05-21  Bruno Haible  <bruno@clisp.org>
54026         round: Move AC_LIBOBJ invocations to module description.
54027         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
54028         * modules/round (configure.ac): ... to here.
54030 2011-05-21  Bruno Haible  <bruno@clisp.org>
54032         roundf: Move AC_LIBOBJ invocations to module description.
54033         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
54034         * modules/roundf (configure.ac): ... to here.
54036 2011-05-21  Bruno Haible  <bruno@clisp.org>
54038         truncl: Move AC_LIBOBJ invocations to module description.
54039         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
54040         * modules/truncl (configure.ac): ... to here.
54042 2011-05-21  Bruno Haible  <bruno@clisp.org>
54044         trunc: Move AC_LIBOBJ invocations to module description.
54045         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
54046         * modules/trunc (configure.ac): ... to here.
54048 2011-05-21  Bruno Haible  <bruno@clisp.org>
54050         truncf: Move AC_LIBOBJ invocations to module description.
54051         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
54052         * modules/truncf (configure.ac): ... to here.
54054 2011-05-21  Bruno Haible  <bruno@clisp.org>
54056         ceill: Move AC_LIBOBJ invocations to module description.
54057         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
54058         * modules/ceill (configure.ac): ... to here.
54060 2011-05-21  Bruno Haible  <bruno@clisp.org>
54062         ceil: Move AC_LIBOBJ invocations to module description.
54063         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
54064         * modules/ceil (configure.ac): ... to here.
54066 2011-05-21  Bruno Haible  <bruno@clisp.org>
54068         ceilf: Move AC_LIBOBJ invocations to module description.
54069         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
54070         * modules/ceilf (configure.ac): ... to here.
54072 2011-05-21  Bruno Haible  <bruno@clisp.org>
54074         floorl: Respect rules for use of AC_LIBOBJ.
54075         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
54076         * modules/floorl (configure.ac): ... to here.
54078 2011-05-21  Bruno Haible  <bruno@clisp.org>
54080         floor: Respect rules for use of AC_LIBOBJ.
54081         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
54082         * modules/floor (configure.ac): ... to here.
54084 2011-05-21  Bruno Haible  <bruno@clisp.org>
54086         floorf: Move AC_LIBOBJ invocations to module description.
54087         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
54088         * modules/floorf (configure.ac): ... to here.
54090 2011-05-20  Bruno Haible  <bruno@clisp.org>
54092         sqrtl: Respect rules for use of AC_LIBOBJ.
54093         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
54094         * modules/sqrtl (configure.ac): ... to here.
54096 2011-05-20  Bruno Haible  <bruno@clisp.org>
54098         ldexpl: Respect rules for use of AC_LIBOBJ.
54099         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
54100         * modules/ldexpl (configure.ac): ... to here.
54102 2011-05-20  Bruno Haible  <bruno@clisp.org>
54104         frexpl*: Respect rules for use of AC_LIBOBJ.
54105         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
54106         invocation from here...
54107         * modules/frexpl (configure.ac): ... to here.
54108         * modules/frexpl-nolibm (configure.ac): ... and here.
54110 2011-05-20  Bruno Haible  <bruno@clisp.org>
54112         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
54113         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
54114         invocation from here...
54115         * modules/frexp (configure.ac): ... to here.
54116         * modules/frexp-nolibm (configure.ac): ... and here.
54118 2011-05-20  Bruno Haible  <bruno@clisp.org>
54120         isnan: Respect rules for use of AC_LIBOBJ.
54121         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
54122         invocations here.
54123         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
54124         REPLACE_ISNAN.
54125         * modules/isnand (configure.ac): Likewise.
54126         * modules/isnanl (configure.ac): Likewise.
54128 2011-05-20  Bruno Haible  <bruno@clisp.org>
54130         isnanl*: Respect rules for use of AC_LIBOBJ.
54131         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
54132         invocation from here...
54133         * modules/isnanl (configure.ac): ... to here.
54134         * modules/isnanl-nolibm (configure.ac): ... and here.
54136 2011-05-20  Bruno Haible  <bruno@clisp.org>
54138         isnand*: Move AC_LIBOBJ invocations to module description.
54139         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
54140         invocation from here...
54141         * modules/isnand (configure.ac): ... to here.
54142         * modules/isnand-nolibm (configure.ac): ... and here.
54144 2011-05-20  Bruno Haible  <bruno@clisp.org>
54146         isnanf*: Move AC_LIBOBJ invocations to module description.
54147         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
54148         invocation from here...
54149         * modules/isnanf (configure.ac): ... to here.
54150         * modules/isnanf-nolibm (configure.ac): ... and here.
54152 2011-05-20  Bruno Haible  <bruno@clisp.org>
54154         isnan*: Separate the AC_LIBOBJ invocations.
54155         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
54156         AC_LIBOBJ invocation.
54157         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
54158         here.
54159         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
54160         AC_LIBOBJ invocation.
54161         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
54162         here.
54163         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
54164         AC_LIBOBJ invocation.
54165         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
54166         here.
54167         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
54169 2011-05-08  Bruno Haible  <bruno@clisp.org>
54171         isinf: Move AC_LIBOBJ invocations to module description.
54172         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
54173         * modules/isinf (configure.ac): ... to here.
54175 2011-05-08  Bruno Haible  <bruno@clisp.org>
54177         isfinite: Move AC_LIBOBJ invocations to module description.
54178         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
54179         * modules/isfinite (configure.ac): ... to here.
54181 2011-05-08  Bruno Haible  <bruno@clisp.org>
54183         isblank: Move AC_LIBOBJ invocations to module description.
54184         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
54185         here...
54186         * modules/isblank (configure.ac): ... to here.
54188 2011-05-08  Bruno Haible  <bruno@clisp.org>
54190         isapipe: Move AC_LIBOBJ invocations to module description.
54191         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
54192         gl_PREREQ_ISAPIPE invocations from here...
54193         * modules/isapipe (configure.ac): ... to here.
54194         (Depends-on): Update condition.
54196 2011-05-08  Bruno Haible  <bruno@clisp.org>
54198         ioctl: Move AC_LIBOBJ invocations to module description.
54199         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
54200         invocations from here...
54201         * modules/ioctl (configure.ac): ... to here.
54202         (Depends-on): Update condition.
54204 2011-05-08  Bruno Haible  <bruno@clisp.org>
54206         imaxdiv: Move AC_LIBOBJ invocations to module description.
54207         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
54208         invocations from here...
54209         * modules/imaxdiv (configure.ac): ... to here.
54211 2011-05-08  Bruno Haible  <bruno@clisp.org>
54213         imaxabs: Move AC_LIBOBJ invocations to module description.
54214         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
54215         invocations from here...
54216         * modules/imaxabs (configure.ac): ... to here.
54218 2011-05-08  Bruno Haible  <bruno@clisp.org>
54220         getaddrinfo: Move AC_LIBOBJ invocations to module description.
54221         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
54222         AC_LIBOBJ invocations from here...
54223         * modules/getaddrinfo (configure.ac): ... to here.
54224         (Depends-on): Add conditions.
54226 2011-05-08  Bruno Haible  <bruno@clisp.org>
54228         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54229         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
54230         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54231         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
54232         (gl_PREREQ_INET_PTON): ... from here.
54233         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
54234         gl_PREREQ_INET_PTON here.
54235         (Depends-on): Update condition.
54237 2011-05-08  Bruno Haible  <bruno@clisp.org>
54239         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54240         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
54241         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54242         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
54243         (gl_PREREQ_INET_NTOP): ... from here.
54244         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
54245         gl_PREREQ_INET_NTOP here.
54246         (Depends-on): Update condition.
54248 2011-05-08  Bruno Haible  <bruno@clisp.org>
54250         iconv_open: Move AC_LIBOBJ invocations to module description.
54251         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
54252         AC_LIBOBJ invocations from here...
54253         * modules/iconv_open (configure.ac): ... to here.
54255 2011-05-08  Bruno Haible  <bruno@clisp.org>
54257         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
54258         If module 'iconv_open' is among the main modules and module
54259         'iconv_open-utf' is among the tests dependencies, then
54260         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
54261         return the special iconv_t values. Therefore iconv() and iconv_close()
54262         must support these special iconv_t values, already in lib, not only in
54263         tests.
54264         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
54265         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
54266         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
54267         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
54268         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
54269         (Depends-on): Add the dependencies of iconv_open-utf.
54270         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
54271         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
54272         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
54274 2011-05-08  Bruno Haible  <bruno@clisp.org>
54276         group-member: Move AC_LIBOBJ invocations to module description.
54277         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
54278         gl_PREREQ_GROUP_MEMBER invocations from here...
54279         * modules/group-member (configure.ac): ... to here.
54281 2011-05-08  Bruno Haible  <bruno@clisp.org>
54283         grantpt: Move AC_LIBOBJ invocations to module description.
54284         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
54285         invocations from here...
54286         * modules/grantpt (configure.ac): ... to here.
54288 2011-05-08  Bruno Haible  <bruno@clisp.org>
54290         glob: Move AC_LIBOBJ invocations to module description.
54291         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
54292         from here...
54293         * modules/glob (configure.ac): ... to here.
54295 2011-05-08  Bruno Haible  <bruno@clisp.org>
54297         getusershell: Move AC_LIBOBJ invocations to module description.
54298         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
54299         Move AC_LIBOBJ invocation from here...
54300         * modules/getusershell (configure.ac): ... to here.
54301         (Depends-on): Update condition.
54303 2011-05-08  Bruno Haible  <bruno@clisp.org>
54305         gettimeofday: Move AC_LIBOBJ invocations to module description.
54306         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54307         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
54308         gl_PREREQ_GETTIMEOFDAY invocations from here...
54309         * modules/gettimeofday (configure.ac): ... to here.
54311 2011-05-08  Bruno Haible  <bruno@clisp.org>
54313         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
54314         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
54315         just gl_FUNC_TZSET.
54316         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
54317         (gl_FUNC_TZSET_CLOBBER): Remove actions.
54318         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
54319         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
54321 2011-05-08  Bruno Haible  <bruno@clisp.org>
54323         getsubopt: Move AC_LIBOBJ invocations to module description.
54324         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
54325         gl_PREREQ_GETSUBOPT invocations from here...
54326         * modules/getsubopt (configure.ac): ... to here.
54328 2011-05-08  Bruno Haible  <bruno@clisp.org>
54330         getpass-gnu: Move AC_LIBOBJ invocations to module description.
54331         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
54332         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
54333         * modules/getpass-gnu (configure.ac): ... to here.
54335 2011-05-08  Bruno Haible  <bruno@clisp.org>
54337         getpass: Move AC_LIBOBJ invocations to module description.
54338         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
54339         gl_PREREQ_GETPASS invocations from here...
54340         * modules/getpass (configure.ac): ... to here.
54342 2011-05-08  Bruno Haible  <bruno@clisp.org>
54344         getpagesize: Move AC_LIBOBJ invocations to module description.
54345         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
54346         from here...
54347         * modules/getpagesize (configure.ac): ... to here.
54349 2011-05-08  Bruno Haible  <bruno@clisp.org>
54351         getopt: Move AC_LIBOBJ invocations to module description.
54352         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
54353         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
54354         invocations from here...
54355         * modules/getopt-gnu (configure.ac): ... to here.
54356         * modules/getopt-posix (configure.ac): ... and here.
54357         (Depends-on): Update condition.
54359 2011-05-08  Bruno Haible  <bruno@clisp.org>
54361         getopt, argp: Respect rules for use of AC_LIBOBJ.
54362         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
54363         (gl_REPLACE_GETOPT_ALWAYS): New macro.
54364         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
54365         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
54367 2011-05-08  Bruno Haible  <bruno@clisp.org>
54369         getlogin_r: Move AC_LIBOBJ invocations to module description.
54370         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
54371         gl_PREREQ_GETLOGIN_R invocations from here...
54372         * modules/getlogin_r (configure.ac): ... to here.
54374 2011-05-08  Bruno Haible  <bruno@clisp.org>
54376         getlogin: Move AC_LIBOBJ invocations to module description.
54377         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
54378         here...
54379         * modules/getlogin (configure.ac): ... to here.
54381 2011-05-08  Bruno Haible  <bruno@clisp.org>
54383         getloadavg: Move AC_LIBOBJ invocations to module description.
54384         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
54385         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
54386         * modules/getloadavg (configure.ac): ... to here.
54388 2011-05-08  Bruno Haible  <bruno@clisp.org>
54390         gethrxtime: Move AC_LIBOBJ invocations to module description.
54391         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
54392         LIB_GETHRXTIME from here...
54393         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
54394         invocations from here...
54395         * modules/gethrxtime (configure.ac): ... to here.
54397 2011-05-08  Bruno Haible  <bruno@clisp.org>
54399         gethostname: Move AC_LIBOBJ invocations to module description.
54400         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
54401         gl_PREREQ_GETHOSTNAME invocations from here...
54402         * modules/gethostname (configure.ac): ... to here.
54404 2011-05-08  Bruno Haible  <bruno@clisp.org>
54406         getgroups: Move AC_LIBOBJ invocations to module description.
54407         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
54408         here...
54409         * modules/getgroups (configure.ac): ... to here.
54411 2011-05-08  Bruno Haible  <bruno@clisp.org>
54413         getdtablesize: Move AC_LIBOBJ invocations to module description.
54414         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
54415         invocation from here...
54416         * modules/getdtablesize (configure.ac): ... to here.
54418 2011-05-08  Bruno Haible  <bruno@clisp.org>
54420         getdomainname: Move AC_LIBOBJ invocations to module description.
54421         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
54422         gl_PREREQ_GETDOMAINNAME invocations from here...
54423         * modules/getdomainname (configure.ac): ... to here.
54425 2011-05-08  Bruno Haible  <bruno@clisp.org>
54427         getline: Move AC_LIBOBJ invocations to module description.
54428         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
54429         invocations from here...
54430         * modules/getline (configure.ac): ... to here.
54432 2011-05-08  Bruno Haible  <bruno@clisp.org>
54434         getline: Simplify.
54435         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
54436         It's already handled through the module dependency.
54438 2011-05-08  Bruno Haible  <bruno@clisp.org>
54440         getdelim: Move AC_LIBOBJ invocations to module description.
54441         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
54442         and gl_PREREQ_GETDELIM invocations from here...
54443         * modules/getdelim (configure.ac): ... to here.
54444         (Depends-on): Fix condition.
54446 2011-05-08  Bruno Haible  <bruno@clisp.org>
54448         getcwd: Move AC_LIBOBJ invocations to module description.
54449         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
54450         invocations from here...
54451         * modules/getcwd (configure.ac): ... to here.
54453 2011-05-08  Bruno Haible  <bruno@clisp.org>
54455         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
54456         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
54457         here...
54458         * modules/getcwd-lgpl (configure.ac): ... to here.
54460 2011-05-07  Bruno Haible  <bruno@clisp.org>
54462         crypto/gc: Move AC_LIBOBJ invocations to module description.
54463         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
54464         * modules/crypto/gc (configure.ac): ... to here.
54466 2011-05-07  Bruno Haible  <bruno@clisp.org>
54468         fwriting: Move AC_LIBOBJ invocations to module description.
54469         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
54470         here...
54471         * modules/fwriting (configure.ac): ... to here.
54473 2011-05-07  Bruno Haible  <bruno@clisp.org>
54475         fwritable: Move AC_LIBOBJ invocations to module description.
54476         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
54477         here...
54478         * modules/fwritable (configure.ac): ... to here.
54480 2011-05-07  Bruno Haible  <bruno@clisp.org>
54482         futimens: Move AC_LIBOBJ invocations to module description.
54483         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
54484         here...
54485         * modules/futimens (configure.ac): ... to here.
54487 2011-05-07  Bruno Haible  <bruno@clisp.org>
54489         ftruncate: Move AC_LIBOBJ invocations to module description.
54490         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
54491         gl_PREREQ_FTRUNCATE invocations from here...
54492         * modules/ftruncate (configure.ac): ... to here.
54494 2011-05-07  Bruno Haible  <bruno@clisp.org>
54496         fsync: Move AC_LIBOBJ invocations to module description.
54497         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
54498         invocations from here...
54499         * modules/fsync (configure.ac): ... to here.
54501 2011-05-07  Bruno Haible  <bruno@clisp.org>
54503         fsusage: Move AC_LIBOBJ invocations to module description.
54504         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
54505         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
54506         * modules/fsusage (configure.ac): ... to here.
54508 2011-05-07  Bruno Haible  <bruno@clisp.org>
54510         freopen: Move AC_LIBOBJ invocations to module description.
54511         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
54512         invocations from here...
54513         * modules/freopen (configure.ac): ... to here.
54515 2011-05-07  Bruno Haible  <bruno@clisp.org>
54517         free: Move AC_LIBOBJ invocations to module description.
54518         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
54519         invocations from here...
54520         * modules/free (configure.ac): ... to here.
54522 2011-05-07  Bruno Haible  <bruno@clisp.org>
54524         freadable: Move AC_LIBOBJ invocations to module description.
54525         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
54526         here...
54527         * modules/freadable (configure.ac): ... to here.
54529 2011-05-07  Bruno Haible  <bruno@clisp.org>
54531         fpurge: Move AC_LIBOBJ invocations to module description.
54532         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
54533         invocations from here...
54534         * modules/fpurge (configure.ac): ... to here.
54536 2011-05-07  Bruno Haible  <bruno@clisp.org>
54538         fpending: Move AC_LIBOBJ invocations to module description.
54539         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
54540         gl_FUNC_FPENDING.
54541         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
54542         invocations from here...
54543         * modules/fpending (configure.ac): ... to here.
54545 2011-05-07  Bruno Haible  <bruno@clisp.org>
54547         fopen: Move AC_LIBOBJ invocations to module description.
54548         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
54549         invocations from here...
54550         * modules/fopen (configure.ac): ... to here.
54552 2011-05-07  Bruno Haible  <bruno@clisp.org>
54554         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
54555         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
54556         gl_FUNC_FNMATCH_POSIX.
54557         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
54558         invocations from here...
54559         * modules/fnmatch (configure.ac): ... to here.
54560         * modules/fnmatch-gnu (configure.ac): ... and here.
54562 2011-05-07  Bruno Haible  <bruno@clisp.org>
54564         flock: Move AC_LIBOBJ invocations to module description.
54565         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
54566         invocations from here...
54567         * modules/flock (configure.ac): ... to here.
54569 2011-05-07  Bruno Haible  <bruno@clisp.org>
54571         fileblocks: Move AC_LIBOBJ invocations to module description.
54572         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
54573         gl_PREREQ_FILEBLOCKS invocations from here...
54574         * modules/fileblocks (configure.ac): ... to here.
54576 2011-05-06  Bruno Haible  <bruno@clisp.org>
54578         fflush: Move AC_LIBOBJ invocations to module description.
54579         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
54580         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
54581         invocations from here...
54582         * modules/fflush (configure.ac): ... to here.
54584 2011-05-06  Bruno Haible  <bruno@clisp.org>
54586         fdopendir: Move AC_LIBOBJ invocations to module description.
54587         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
54588         here...
54589         * modules/fdopendir (configure.ac): ... to here.
54590         (Depends-on): Improve conditions.
54592 2011-05-06  Bruno Haible  <bruno@clisp.org>
54594         _Exit: Move AC_LIBOBJ invocations to module description.
54595         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
54596         invocations from here...
54597         * modules/_Exit (configure.ac): ... to here.
54599 2011-05-21  Bruno Haible  <bruno@clisp.org>
54601         euidaccess: Respect rules for use of AC_LIBOBJ.
54602         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54603         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
54604         from here...
54605         * modules/euidaccess (configure.ac): ... to here.
54607 2011-05-06  Bruno Haible  <bruno@clisp.org>
54609         error: Move AC_LIBOBJ invocations to module description.
54610         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
54611         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
54612         invocations from here...
54613         * modules/error (configure.ac): ... to here.
54615 2011-05-06  Bruno Haible  <bruno@clisp.org>
54617         duplocale: Move AC_LIBOBJ invocations to module description.
54618         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
54619         gl_PREREQ_DUPLOCALE invocations from here...
54620         * modules/duplocale (configure.ac): ... to here.
54622 2011-05-05  Bruno Haible  <bruno@clisp.org>
54624         dirfd: Move AC_LIBOBJ invocations to module description.
54625         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
54626         gl_FUNC_DIRFD.
54627         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
54628         here...
54629         * modules/dirfd (configure.ac): ... to here.
54630         (Depends-on): Fix condition.
54632 2011-05-05  Bruno Haible  <bruno@clisp.org>
54634         chown: Respect rules for use of AC_LIBOBJ.
54635         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
54636         * modules/chown (configure.ac): ... to here.
54638 2011-05-05  Bruno Haible  <bruno@clisp.org>
54640         chdir-long: Move AC_LIBOBJ invocations to module description.
54641         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
54642         gl_PREREQ_CHDIR_LONG invocations from here...
54643         * modules/chdir-long (configure.ac): ... to here.
54645 2011-05-05  Bruno Haible  <bruno@clisp.org>
54647         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
54648         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
54649         from here...
54650         * modules/canonicalize-lgpl (configure.ac): ... to here.
54652 2011-05-05  Bruno Haible  <bruno@clisp.org>
54654         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
54655         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
54656         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
54657         REPLACE_CALLOC.
54658         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
54659         * modules/calloc-gnu (configure.ac): Likewise.
54661 2011-05-05  Bruno Haible  <bruno@clisp.org>
54663         btowc: Move AC_LIBOBJ invocations to module description.
54664         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
54665         invocations from here...
54666         * modules/btowc (configure.ac): ... to here.
54668 2011-05-21  Bruno Haible  <bruno@clisp.org>
54670         atexit: Move AC_LIBOBJ invocations to module description.
54671         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
54672         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
54673         here...
54674         * modules/atexit (configure.ac): ... to here.
54676 2011-05-05  Bruno Haible  <bruno@clisp.org>
54678         atoll: Move AC_LIBOBJ invocations to module description.
54679         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
54680         invocations from here...
54681         * modules/atoll (configure.ac): ... to here.
54683 2011-05-05  Bruno Haible  <bruno@clisp.org>
54685         argz: Move AC_LIBOBJ invocations to module description.
54686         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
54687         * modules/argz (configure.ac): ... to here.
54689 2011-05-05  Bruno Haible  <bruno@clisp.org>
54691         alphasort: Move AC_LIBOBJ invocations to module description.
54692         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
54693         gl_PREREQ_ALPHASORT invocations from here...
54694         * modules/alphasort (configure.ac): ... to here.
54696 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
54698         verify: new macro verify_expr; verify_true deprecated
54699         * NEWS: Mention this.
54700         * doc/verify.texi (Compile-time Assertions): Document this.
54701         * lib/verify.h (verify_true): Deprecate.
54702         (verify_expr): New macro.
54703         * tests/test-verify.c (function): Test verify_expr.
54705 2011-06-14  Jim Meyering  <meyering@redhat.com>
54707         init.sh: give more portable redirection-related advice in a comment
54708         * tests/init.sh (stderr_fileno_): Update the advice in comments.
54709         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
54710         for lots of discussion.  Stefano Lattarini suggested the solution
54711         of putting "9>&2" after the command.  Reported by Bruno Haible.
54713 2011-06-13  Bruno Haible  <bruno@clisp.org>
54715         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
54716         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
54717         'none'.
54719 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
54721         ftoastr: use strtof only if HAVE_STRTOF
54722         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
54723         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
54724         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
54725         * modules/ftoastr (configure.ac): Check for strtof.
54727 2011-06-13  Bruno Haible  <bruno@clisp.org>
54729         gnulib-tool: Addendum to 2011-06-08 commit.
54730         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
54731         and --witness-c-macro have been given, augment AM_CPPFLAGS.
54733 2011-06-13  Bruno Haible  <bruno@clisp.org>
54735         fseeko: Provide a non-inline replacement of fseek().
54736         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
54737         * modules/fseeko (Depends-on): Add fseek.
54738         * modules/fseek (License): Change to LGPLv2+.
54740 2011-06-13  Bruno Haible  <bruno@clisp.org>
54742         ftello: Provide a non-inline replacement of ftell().
54743         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
54744         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
54745         not have ftello() (such as on mingw).
54746         * modules/ftello (Depends-on): Add ftell.
54747         * modules/ftell (License): Change to LGPLv2+.
54749 2011-05-07  Bruno Haible  <bruno@clisp.org>
54751         ftell: Move AC_LIBOBJ invocations to module description.
54752         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
54753         * modules/ftell (configure.ac): ... to here.
54755 2011-05-07  Bruno Haible  <bruno@clisp.org>
54757         ftello: Respect rules for use of AC_LIBOBJ.
54758         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
54759         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
54760         here...
54761         * modules/ftello (configure.ac): ... to here.
54763 2011-05-07  Bruno Haible  <bruno@clisp.org>
54765         fseeko: Simplify.
54766         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
54767         (gl_FUNC_FSEEKO): Inline it here.
54769 2011-05-07  Bruno Haible  <bruno@clisp.org>
54771         fseek: Move AC_LIBOBJ invocations to module description.
54772         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
54773         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54774         * modules/fseek (configure.ac): ... to here.
54776 2011-05-07  Bruno Haible  <bruno@clisp.org>
54778         fseek: Respect rules for use of AC_LIBOBJ.
54779         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
54780         here...
54781         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
54783 2011-05-07  Bruno Haible  <bruno@clisp.org>
54785         fseeko: Respect rules for use of AC_LIBOBJ.
54786         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
54787         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
54788         here...
54789         * modules/fseeko (configure.ac): ... to here.
54791 2011-06-13  Bruno Haible  <bruno@clisp.org>
54793         gnulib-tool: Allow comments in the 'Depends-on' section.
54794         * doc/gnulib.texi (Module description): Mention comment syntax in the
54795         Depends-on section.
54796         * gnulib-tool (func_get_dependencies): Filter out comment lines.
54798 2011-06-13  Bruno Haible  <bruno@clisp.org>
54800         file-set.h: guard __attibute__ use, now that it's not always defined
54801         * lib/file-set.h (record_file): Use __attribute__ only with compiler
54802         versions that support it.  This fixes a coreutils build failure with
54803         the vendor cc on HP-UX 11.31.
54805 2011-06-12  Bruno Haible  <bruno@clisp.org>
54807         acl: Add support for HP-UX >= 11.11 JFS ACLs.
54808         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
54809         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
54810         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
54811         (acl, aclsort): New declarations.
54812         (aclv_nontrivial): New declaration.
54813         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
54814         (file_has_acl): Read also the second kind of HP-UX ACLs.
54815         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
54816         kind of HP-UX ACLs if the first kind fails.
54817         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
54818         second kind of HP-UX ACLs.
54819         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
54820         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
54821         agree.
54822         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54823         hpuxjfs.
54824         Handle hpuxjfs.
54825         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54826         hpuxjfs.
54827         Handle hpuxjfs.
54828         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54829         (func_test_same_acls): Use both lsacl and getacl.
54830         Handle hpuxjfs.
54831         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54832         (func_test_same_acls): Use both lsacl and getacl.
54833         Handle hpuxjfs.
54835 2011-06-12  Bruno Haible  <bruno@clisp.org>
54837         acl: Complete the 2010-08-10 fix.
54838         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
54839         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
54840         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
54841         explicitly.
54842         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
54843         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
54845 2011-06-12  Bruno Haible  <bruno@clisp.org>
54847         spawn-pipe tests: Comments.
54848         * tests/test-spawn-pipe-child.c (main): Update comment.
54849         Reported by James Youngman <jay@gnu.org>.
54851 2011-06-11  James Youngman  <jay@gnu.org>
54853         New module 'stat-size'.
54854         * modules/stat-size: New module.  Provides macros for accessing
54855         file size information in instances of struct stat.  Depends on the
54856         fileblocks module because it calls st_blocks.
54857         * lib/stat-size.h: New file, adapted from coreutils' system.h.
54858         * doc/gnulib.texi: Include stat-size.texi.
54859         * doc/stat-size.texi: Documentation for this module.
54860         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
54861         * m4/fileblocks.m4: Mention that stat-size depends on the call to
54862         AC_STRUCT_ST_BLOCKS.
54864 2011-06-09  Bruno Haible  <bruno@clisp.org>
54866         thread: Support pthreads-win32.
54867         * lib/glthread/thread.h (gl_thread_self): Define differently on
54868         pthreads-win32.
54869         (gl_null_thread): New declaration.
54870         (gl_thread_self_pointer): New macro.
54871         * lib/glthread/thread.c (gl_null_thread): New constant.
54872         * tests/test-lock.c: Use gl_thread_self_pointer instead of
54873         gl_thread_self.
54874         * tests/test-tls.c: Likewise.
54875         Suggested by Paul Eggert. Reported by Eric Blake.
54877 2011-06-09  Bruno Haible  <bruno@clisp.org>
54879         thread: Fix confusion between NULL and 0.
54880         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
54881         Reported by Paul Eggert.
54883 2011-06-09  Bruno Haible  <bruno@clisp.org>
54885         spawn-pipe tests: Avoid test failure on HP-UX 11.
54886         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
54887         is closed.
54889 2011-06-09  Bruno Haible  <bruno@clisp.org>
54891         acl tests: Fix compilation error on HP-UX 11.
54892         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
54894 2011-06-09  Bruno Haible  <bruno@clisp.org>
54896         rmdir: Avoid test failure on HP-UX 10.20.
54897         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
54898         EEXIST.
54900 2011-06-08  Eric Blake  <eblake@redhat.com>
54902         perror: fix test on mingw
54903         * modules/perror-tests (Depends-on): Add dup2.
54905         strerror_r-posix: fix on MacOS
54906         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
54907         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
54908         logic bug.
54909         * lib/strerror_r.c (strerror_r): Fix the bug.
54910         * lib/strerror.c (strerror): Likewise.
54911         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
54912         problem.
54913         * doc/posix-functions/strerror.texi (strerror): Likewise.
54914         * doc/posix-functions/perror.texi (perror): Likewise.
54915         * tests/test-strerror.c (main): Enhance test.
54916         * tests/test-strerror_r.c (main): Likewise.
54918 2011-06-08  Bruno Haible  <bruno@clisp.org>
54920         gnulib-tool: Better isolation between different gnulib-tool invocations.
54921         * gnulib-tool: New option --witness-c-macro.
54922         (witness_c_macro): New variable.
54923         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
54924         AM_CPPFLAGS define it as a C macro.
54925         (func_emit_tests_Makefile_am): Likewise.
54926         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
54927         read it from there.
54928         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
54929         m4_define, not AC_DEFUN.
54930         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
54931         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
54932         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
54933         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
54934         s|...|...|, to substitute the values of the GNULIB_* module indicator
54935         variables.
54936         * modules/dirent (Makefile.am): Likewise.
54937         * modules/fcntl-h (Makefile.am): Likewise.
54938         * modules/iconv-h (Makefile.am): Likewise.
54939         * modules/langinfo (Makefile.am): Likewise.
54940         * modules/locale (Makefile.am): Likewise.
54941         * modules/math (Makefile.am): Likewise.
54942         * modules/netdb (Makefile.am): Likewise.
54943         * modules/poll-h (Makefile.am): Likewise.
54944         * modules/pty (Makefile.am): Likewise.
54945         * modules/search (Makefile.am): Likewise.
54946         * modules/signal (Makefile.am): Likewise.
54947         * modules/spawn (Makefile.am): Likewise.
54948         * modules/stdio (Makefile.am): Likewise.
54949         * modules/stdlib (Makefile.am): Likewise.
54950         * modules/string (Makefile.am): Likewise.
54951         * modules/sys_ioctl (Makefile.am): Likewise.
54952         * modules/sys_select (Makefile.am): Likewise.
54953         * modules/sys_socket (Makefile.am): Likewise.
54954         * modules/sys_stat (Makefile.am): Likewise.
54955         * modules/sys_times (Makefile.am): Likewise.
54956         * modules/sys_utsname (Makefile.am): Likewise.
54957         * modules/sys_wait (Makefile.am): Likewise.
54958         * modules/termios (Makefile.am): Likewise.
54959         * modules/time (Makefile.am): Likewise.
54960         * modules/unistd (Makefile.am): Likewise.
54961         * modules/wchar (Makefile.am): Likewise.
54963 2011-06-08  Eric Blake  <eblake@redhat.com>
54965         strerror: simplify replacement
54966         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
54967         * modules/strerror (configure.ac): No prereqs needed here...
54968         * modules/strerror-override (configure.ac): ...but this needs it.
54969         (Files): Add file for needed prereq macro.
54971 2011-06-08  Bruno Haible  <bruno@clisp.org>
54973         strerror_r-posix: Tweaks.
54974         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
54975         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
54976         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
54977         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
54978         (gl_FUNC_STRERROR_R): ... to here.
54979         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
54981 2011-06-07  Eric Blake  <eblake@redhat.com>
54983         perror: document fixed bugs
54984         * doc/posix-functions/perror.texi (perror): Document recent
54985         patches.
54987 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
54989         stat-time: get_stat_birthtime failure is better-defined
54990         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
54991         return a timestamp whose tv_sec and tv_nsec values are both -1.
54992         Previously, the spec said only that the tv_nsec value was negative.
54993         This upward-compatible change simplifies GNU tar a bit.
54995 2011-06-07  Eric Blake  <eblake@redhat.com>
54997         strerror_r-posix: work around cygwin 1.7.9
54998         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
54999         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
55000         bug without replacing strerror_r.
55001         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
55002         strerror_r is buggy, but without requiring strerror_r compilation.
55003         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
55005         test-perror: relax test to ignore cygwin bug
55006         * tests/test-perror2.c (main): Relax test on requiring detection
55007         of stream errors, and use unbuffered stream.
55008         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
55009         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
55010         * doc/posix-functions/fputc.texi (fputc): Likewise.
55011         * doc/posix-functions/fputs.texi (fputs): Likewise.
55012         * doc/posix-functions/fputws.texi (fputws): Likewise.
55013         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
55014         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
55015         * doc/posix-functions/getopt.texi (getopt): Likewise.
55016         * doc/posix-functions/perror.texi (perror): Likewise.
55017         * doc/posix-functions/printf.texi (printf): Likewise.
55018         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
55019         * doc/posix-functions/psignal.texi (psignal): Likewise.
55020         * doc/posix-functions/putc.texi (putc): Likewise.
55021         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
55022         Likewise.
55023         * doc/posix-functions/putchar.texi (putchar): Likewise.
55024         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
55025         Likewise.
55026         * doc/posix-functions/puts.texi (puts): Likewise.
55027         * doc/posix-functions/putwc.texi (putwc): Likewise.
55028         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
55029         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
55030         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55031         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
55032         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55033         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
55034         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
55035         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
55037 2011-05-22  Bruno Haible  <bruno@clisp.org>
55039         strerror: Move AC_LIBOBJ invocations to module description.
55040         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
55041         gl_PREREQ_STRERROR invocations from here...
55042         * modules/strerror (configure.ac): ... to here.
55044 2011-05-21  Bruno Haible  <bruno@clisp.org>
55046         perror: Use common idiom.
55047         * modules/perror (configure.ac): Reorder statements.
55049 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55051         tests: fix usage message in 'mktempd_'
55052         * tests/init.sh (mktempd_): In the usage message, use literal
55053         'mktempd_', not '$ME' (which is even undefined), as the name of
55054         the subroutine.
55056 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
55058         tests init: new function 'fatal_', for hard errors
55059         Before this patch, the only way offered by tests/init.sh to
55060         properly signal a hard error was the `framework_failure_'
55061         function.  But the error message issued by that function,
55062         as its name would suggest, refers to a set-up failure in the
55063         testsuite, while hard errors can obviously also be due to
55064         other reasons.  The best way to fix this inconsistency is to
55065         introduce a new function with a more general error message.
55066         * tests/init.sh (fatal_): New function.
55068 2011-06-06  Eric Blake  <eblake@redhat.com>
55070         canonicalize-lgpl: use common idiom
55071         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
55072         over newer POSIX -Rf.
55073         Reported by Bruno Haible.
55075         canonicalize-lgpl: work around AIX realpath bug
55076         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
55077         * doc/posix-functions/realpath.texi (realpath): Document it.
55078         Reported by Bruno Haible.
55080         strerror: work around FreeBSD bug
55081         * lib/strerror.c (strerror): Special case 0.
55082         Reported by Bruno Haible.
55084         strerror-override: avoid bloating errno module
55085         * modules/errno (Files, configure.ac): Move replacement strings...
55086         * modules/strerror-override: ...to new module.
55087         * modules/strerror (Depends-on): Add strerror-override.
55088         * modules/strerror_r-posix (Depends-on): Likewise.
55089         * MODULES.html.sh: Document new module.
55090         Reported by Bruno Haible.
55092 2011-06-06  Bruno Haible  <bruno@clisp.org>
55094         spawn-pipe tests: Rename program.
55095         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
55096         * tests/test-spawn-pipe-child.c: Update comment.
55097         * tests/test-spawn-pipe.sh: Update.
55098         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
55100         spawn-pipe tests: Link the child program only against libc.
55101         * tests/test-spawn-pipe-child.c: New file, extracted from
55102         tests/test-spawn-pipe.c.
55103         (main): Expect only one argument.
55104         (is_open): New function, copied from tests/test-pipe.c.
55105         * tests/test-spawn-pipe.c: Don't include <errno.h>.
55106         (child_main): Remove function.
55107         (test_pipe): Pass only one argument to the child program.
55108         (main): Remove child process code. Expect the child program's name as
55109         first argument.
55110         * tests/test-spawn-pipe.sh: Pass the child program's name as first
55111         argument.
55112         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
55113         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
55114         test-spawn-pipe-child against no libraries.
55116 2011-06-06  Bruno Haible  <bruno@clisp.org>
55118         careadlinkat: Avoid mismatch between ssize_t and int.
55119         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
55120         * lib/careadlinkat.c (careadlinkatcwd): Define always.
55122 2011-06-06  Jim Meyering  <meyering@redhat.com>
55124         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
55125         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
55126         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
55128 2011-06-05  Bruno Haible  <bruno@clisp.org>
55130         ansi-c++-opt: Interoperability with libtool.
55131         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
55132         set the variable to "no", not to ":".
55133         * NEWS: Mention the change.
55135 2011-06-05  Bruno Haible  <bruno@clisp.org>
55137         acl: Fix test failure on AIX 7.
55138         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
55139         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
55141 2011-06-05  Bruno Haible  <bruno@clisp.org>
55143         pipe-filter-ii: Fix test failure on AIX and IRIX.
55144         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
55145         with EAGAIN, retry with a smaller buffer size.
55147 2011-06-05  Bruno Haible  <bruno@clisp.org>
55149         localename: Fix link dependencies.
55150         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
55151         * modules/localename-tests (Makefile.am): Link test-localename with
55152         $(LIBTHREAD).
55154 2011-06-05  Bruno Haible  <bruno@clisp.org>
55156         error: Avoid gcc warning.
55157         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
55159 2011-06-05  Bruno Haible  <bruno@clisp.org>
55161         unsetenv: Avoid gcc warning.
55162         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
55164 2011-06-05  Bruno Haible  <bruno@clisp.org>
55166         setenv: Avoid gcc warning.
55167         * lib/setenv.c (setenv): Provide declaration if system lacks it.
55169 2011-06-05  Bruno Haible  <bruno@clisp.org>
55171         sys_select: Ensure memset is declared also on AIX 7.
55172         * lib/sys_select.in.h: Include <string.h> also on AIX.
55173         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
55174         self-contained also on AIX 7.1.
55176 2011-06-04  Jim Meyering  <meyering@redhat.com>
55178         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
55179         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
55180         function name, "error".
55181         (_gl_translatable_diag_func_re): New configurable variable.
55183 2011-06-04  Bruno Haible  <bruno@clisp.org>
55185         getopt: Avoid gcc warning.
55186         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
55188 2011-06-04  Bruno Haible  <bruno@clisp.org>
55190         strerror_r: Fix comments.
55191         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
55192         commit.
55194 2011-06-04  Bruno Haible  <bruno@clisp.org>
55196         perror: Fix compilation error.
55197         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
55198         Undefine fprintf, not sprintf.
55199         * modules/perror (Depends-on): Remove intprops, verify.
55201 2011-06-04  Bruno Haible  <bruno@clisp.org>
55203         setlocale: Enable replacement on Cygwin 1.5.
55204         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
55205         Cygwin 1.5.x.
55206         * doc/posix-functions/setlocale.texi: Mention that the problem with the
55207         LC_CTYPE category also exists on Cygwin 1.5.x.
55209 2011-06-04  Bruno Haible  <bruno@clisp.org>
55211         strerror-override: Don't disable symbol renamings.
55212         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
55213         * lib/strerror-override.c: Include config.h.
55214         (strerror_override): Don't undefine.
55216 2011-06-03  Bruno Haible  <bruno@clisp.org>
55218         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
55219         * lib/localename.h: Update copyright header.
55220         * lib/localename.c: Likewise.
55221         * lib/relocatable.h: Likewise.
55222         * lib/relocatable.c: Likewise.
55224 2011-06-02  Bruno Haible  <bruno@clisp.org>
55226         doc: Fix a module name.
55227         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
55229 2011-06-02  Bruno Haible  <bruno@clisp.org>
55231         pipe2: Remove dependency on 'nonblocking' module.
55232         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
55233         O_NONBLOCK is defined by gnulib.
55234         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
55235         is zero.
55236         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
55237         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
55238         defined by gnulib.
55239         (get_nonblocking_flag): New function.
55240         (main): Test O_NONBLOCK flag only if it is nonzero.
55241         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
55243 2011-06-03  Jim Meyering  <meyering@redhat.com>
55245         maint: three new prohibit-header-without-use rules
55246         Prohibit use of cloexec.h, posixver.h, same.h without use.
55247         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
55248         (sc_prohibit_posixver_without_use): Likewise.
55249         (sc_prohibit_same_without_use): Likewise.
55251 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55253         allocator: 'die' routine is now given requested size
55254         * lib/allocator.h (struct allocator.die): New size arg.
55255         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
55256         If the actual problem is an ssize_t limitation, not a size_t or
55257         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
55259 2011-06-01  Eric Blake  <eblake@redhat.com>
55261         strerror: drop strerror_r dependency
55262         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
55263         * lib/strerror-override.c (strerror_override): ...to new file.
55264         * lib/strerror-override.h: Add prototype.
55265         * lib/strerror-impl.h: Delete.
55266         * lib/strerror.c (strerror): New implementation.
55267         * modules/errno (Files): Add new files.
55268         (configure.ac): Compile new file as appropriate.
55269         * modules/strerror (Files): Drop unused file.
55270         (Depends-on): Drop strerror_r-posix.
55271         * MODULES.html.sh: Document strerror_r-posix.
55272         Requested by Sam Steingold.
55274         perror: call strerror_r directly
55275         * modules/perror (Files): Drop strerror-impl.h.
55276         * lib/perror.c (perror): Use our own stack buffer, rather than
55277         calling a wrapper that uses static storage.
55278         * doc/posix-functions/perror.texi (perror): Document a limitation
55279         of our replacement.
55281         strerror_r: fix includes for FreeBSD
55282         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
55283         since we use abort on some platforms.
55284         Reported by Matthias Bolte.
55286 2011-05-31  Bruno Haible  <bruno@clisp.org>
55288         Fix link errors in tests: openat-die uses gettext-h.
55289         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
55290         against $(LIBINTL).
55291         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
55292         against $(LIBINTL).
55293         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
55294         $(LIBINTL).
55295         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
55296         against $(LIBINTL).
55297         * modules/linkat-tests (Makefile.am): Link test-linkat against
55298         $(LIBINTL).
55299         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
55300         $(LIBINTL).
55301         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
55302         against $(LIBINTL).
55303         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
55304         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
55305         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
55306         $(LIBINTL).
55307         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
55308         $(LIBINTL).
55309         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
55310         $(LIBINTL).
55311         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55313 2011-05-31  Bruno Haible  <bruno@clisp.org>
55315         Fix link errors in tests: wait-process uses gettext-h.
55316         * modules/nonblocking-pipe-tests (Makefile.am): Set
55317         test_nonblocking_pipe_main_LDADD.
55318         * modules/nonblocking-socket-tests (Makefile.am): Link
55319         test-nonblocking-socket-main against $(LIBINTL).
55320         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55322 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
55324         assert-h: work around 'verify' incompatibility
55325         * lib/verify.h: Use @...@ directives, not ifdef.
55326         * modules/assert-h (assert.h): Implement the directives.
55327         (assert.h): Substitute the symbol-prefix more consistently.
55329 2011-05-29  Jim Meyering  <meyering@redhat.com>
55331         trim: remove three superfluous assignments
55332         * lib/trim.c (trim2): Remove three superfluous assignments
55333         and correct brace positioning.
55335 2011-05-29  Bruno Haible  <bruno@clisp.org>
55337         wctype-h: Avoid namespace pollution on Solaris 2.6.
55338         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
55339         identifiers.
55340         * doc/posix-headers/wctype.texi: Mention the problem.
55341         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55343 2011-05-28  Jim Meyering  <meyering@redhat.com>
55345         parse-datetime.y: accommodate -Wstrict-overflow
55346         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
55347         placate -Wstrict-overflow.
55349         trim: avoid a warning from -O2 -Wstrict-overflow
55350         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
55352 2011-05-29  Bruno Haible  <bruno@clisp.org>
55354         gnulib-tool: Fix bug in yesterday's commit.
55355         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
55356         twice.
55358 2011-05-29  Bruno Haible  <bruno@clisp.org>
55360         Allow multiple gnulib generated include files to be combined.
55361         * gnulib-tool (func_compute_include_guard_prefix): New function.
55362         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
55363         ${gl_include_guard_prefix} references.
55364         (func_import, func_create_testdir): Invoke
55365         func_compute_include_guard_prefix.
55366         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
55367         * lib/ctype.in.h: Likewise.
55368         * lib/dirent.in.h: Likewise.
55369         * lib/errno.in.h: Likewise.
55370         * lib/fcntl.in.h: Likewise.
55371         * lib/float.in.h: Likewise.
55372         * lib/getopt.in.h: Likewise.
55373         * lib/iconv.in.h: Likewise.
55374         * lib/langinfo.in.h: Likewise.
55375         * lib/locale.in.h: Likewise.
55376         * lib/math.in.h: Likewise.
55377         * lib/netdb.in.h: Likewise.
55378         * lib/netinet_in.in.h: Likewise.
55379         * lib/poll.in.h: Likewise.
55380         * lib/pthread.in.h: Likewise.
55381         * lib/pty.in.h: Likewise.
55382         * lib/sched.in.h: Likewise.
55383         * lib/se-selinux.in.h: Likewise.
55384         * lib/search.in.h: Likewise.
55385         * lib/signal.in.h: Likewise.
55386         * lib/spawn.in.h: Likewise.
55387         * lib/stdarg.in.h: Likewise.
55388         * lib/stddef.in.h: Likewise.
55389         * lib/stdint.in.h: Likewise.
55390         * lib/stdio.in.h: Likewise.
55391         * lib/stdlib.in.h: Likewise.
55392         * lib/string.in.h: Likewise.
55393         * lib/strings.in.h: Likewise.
55394         * lib/sys_file.in.h: Likewise.
55395         * lib/sys_ioctl.in.h: Likewise.
55396         * lib/sys_select.in.h: Likewise.
55397         * lib/sys_socket.in.h: Likewise.
55398         * lib/sys_stat.in.h: Likewise.
55399         * lib/sys_time.in.h: Likewise.
55400         * lib/sys_times.in.h: Likewise.
55401         * lib/sys_uio.in.h: Likewise.
55402         * lib/sys_utsname.in.h: Likewise.
55403         * lib/sys_wait.in.h: Likewise.
55404         * lib/sysexits.in.h: Likewise.
55405         * lib/termios.in.h: Likewise.
55406         * lib/time.in.h: Likewise.
55407         * lib/unistd.in.h: Likewise.
55408         * lib/wchar.in.h: Likewise.
55409         * lib/wctype.in.h: Likewise.
55410         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
55411         * modules/ctype (Makefile.am): Likewise.
55412         * modules/dirent (Makefile.am): Likewise.
55413         * modules/errno (Makefile.am): Likewise.
55414         * modules/fcntl-h (Makefile.am): Likewise.
55415         * modules/float (Makefile.am): Likewise.
55416         * modules/getopt-posix (Makefile.am): Likewise.
55417         * modules/iconv-h (Makefile.am): Likewise.
55418         * modules/langinfo (Makefile.am): Likewise.
55419         * modules/locale (Makefile.am): Likewise.
55420         * modules/math (Makefile.am): Likewise.
55421         * modules/netdb (Makefile.am): Likewise.
55422         * modules/netinet_in (Makefile.am): Likewise.
55423         * modules/poll-h (Makefile.am): Likewise.
55424         * modules/pthread (Makefile.am): Likewise.
55425         * modules/pty (Makefile.am): Likewise.
55426         * modules/sched (Makefile.am): Likewise.
55427         * modules/search (Makefile.am): Likewise.
55428         * modules/selinux-h (Makefile.am): Likewise.
55429         * modules/signal (Makefile.am): Likewise.
55430         * modules/spawn (Makefile.am): Likewise.
55431         * modules/stdarg (Makefile.am): Likewise.
55432         * modules/stddef (Makefile.am): Likewise.
55433         * modules/stdint (Makefile.am): Likewise.
55434         * modules/stdio (Makefile.am): Likewise.
55435         * modules/stdlib (Makefile.am): Likewise.
55436         * modules/string (Makefile.am): Likewise.
55437         * modules/strings (Makefile.am): Likewise.
55438         * modules/sys_file (Makefile.am): Likewise.
55439         * modules/sys_ioctl (Makefile.am): Likewise.
55440         * modules/sys_select (Makefile.am): Likewise.
55441         * modules/sys_socket (Makefile.am): Likewise.
55442         * modules/sys_stat (Makefile.am): Likewise.
55443         * modules/sys_time (Makefile.am): Likewise.
55444         * modules/sys_times (Makefile.am): Likewise.
55445         * modules/sys_uio (Makefile.am): Likewise.
55446         * modules/sys_utsname (Makefile.am): Likewise.
55447         * modules/sys_wait (Makefile.am): Likewise.
55448         * modules/sysexits (Makefile.am): Likewise.
55449         * modules/termios (Makefile.am): Likewise.
55450         * modules/time (Makefile.am): Likewise.
55451         * modules/unistd (Makefile.am): Likewise.
55452         * modules/wchar (Makefile.am): Likewise.
55453         * modules/wctype-h (Makefile.am): Likewise.
55454         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
55456 2011-05-29  Bruno Haible  <bruno@clisp.org>
55458         assert-h: Allow multiple gnulib generated replacements to coexist.
55459         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
55461 2011-05-29  Bruno Haible  <bruno@clisp.org>
55463         argp: Allow coexistence with strerror_r-posix module.
55464         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
55465         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
55466         by gnulib's <string.h> replacement), assume it has the POSIX signature,
55467         not the glibc signature.
55469 2011-05-28  Bruno Haible  <bruno@clisp.org>
55471         gnulib-tool: Alternative structure of testdirs, similar to --import.
55472         * gnulib-tool: New option --single-configure.
55473         (func_usage): Document it.
55474         (single_configure): New variable.
55475         (func_modules_transitive_closure_separately,
55476         func_modules_transitive_closure_separately,
55477         func_determine_use_libtests, func_modules_add_dummy_separately,
55478         func_modules_to_filelist_separately): New functions, extracted from
55479         func_import.
55480         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
55481         (func_import): Use the new functions.
55482         (func_create_testdir): Set final_modules. Handle $single_configure =
55483         true case.
55485 2011-05-28  Bruno Haible  <bruno@clisp.org>
55487         getloadavg: Remove an unreliable safety check.
55488         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
55489         getloadavg.c is in place.
55490         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
55491         Reported by Sam Steingold <sds@gnu.org>.
55493 2011-05-28  Bruno Haible  <bruno@clisp.org>
55495         doc: Cleanup yet another file produced by texinfo.tex.
55496         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
55498 2011-05-28  Bruno Haible  <bruno@clisp.org>
55500         Finish the conditional dependencies mechanism.
55501         * gnulib-tool: New option --no-conditional-dependencies.
55502         (func_usage): Document it. Don't mark --conditional-dependencies as
55503         experimental.
55504         (cond_dependencies): The possible values can now be true, false, empty.
55505         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
55506         (func_import): Store setting in gnulib-cache.m4 and read it from there.
55507         * doc/gnulib-tool.texi (Conditional dependencies): New section.
55509 2011-05-28  Bruno Haible  <bruno@clisp.org>
55511         doc: Use a recent texinfo.tex.
55512         * doc/Makefile (tex_opts): New variable.
55513         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
55515 2011-05-28  Jim Meyering  <meyering@redhat.com>
55517         intprops.h: adjust comment to match code change
55518         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
55519         only once, it *may* have side effects.  Also fix an unrelated typo.
55520         (_GL_INT_SIGNED): Likewise.
55522 2011-05-26  Simon Josefsson  <simon@josefsson.org>
55524         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
55526 2011-05-26  Bruno Haible  <bruno@clisp.org>
55528         mbsrchr: Avoid collision with system function on Interix.
55529         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
55530         Reported by Markus Duft <mduft@gentoo.org>.
55532 2011-05-15  James Youngman  <jay@gnu.org>
55534         getopt: for ambiguous options, enumerate the possibilities.
55535         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
55536         the ambiguous options when an ambiguous prefix is given. This was
55537         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
55538         glibc change was
55539         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
55541 2011-05-25  Eric Blake  <eblake@redhat.com>
55543         getcwd: work around mingw bug
55544         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
55545         * doc/posix-functions/getcwd.texi (getcwd): Document it.
55546         Reported by Matthias Bolte.
55548 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
55550         test-intprops: disable -Wtype-limits diagnostics
55551         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
55552         diagnostics.  Otherwise, the integer overflow macros generate many
55553         diagnostics.  Reported by Jim Meyering in
55554         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55556         intprops: shorten, to pacify gcc -Woverlength-strings
55557         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
55558         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
55559         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
55560         likely to run afoul of C compiler limits for string constant lengths.
55561         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55563 2011-05-24  Eric Blake  <eblake@redhat.com>
55565         docs: document recently fixed glibc printf bug
55566         * doc/posix-functions/fprintf.texi (fprintf): Document it.
55567         * doc/posix-functions/printf.texi (printf): Likewise.
55568         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55569         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55571         closein-tests: convert to init.sh
55572         * modules/closein-tests (Files): Add init.sh
55573         * tests/test-closein.sh Use it.
55575         yesno-tests: convert to init.sh
55576         * modules/yesno-tests (Files): Add init.sh.
55577         * tests/test-yesno.sh: Use it.
55579         atexit-tests: ensure reliable exit status
55580         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
55581         Reported by Bruno Haible.
55583 2011-05-24  Bruno Haible  <bruno@clisp.org>
55585         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
55586         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
55587         gl_PREREQ_STRERROR_R invocations from here...
55588         * modules/strerror_r-posix (configure.ac): ... to here.
55590 2011-05-24  Eric Blake  <eblake@redhat.com>
55592         strerror_r: fix missing header
55593         * lib/strerror_r.c: Avoid compiler warning about snprintf.
55595         strerror_r: fix AIX test failures
55596         * lib/strerror_r.c (strerror_r): Convert silent truncation to
55597         ERANGE failure.
55599         strerror_r: fix Solaris test failures
55600         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
55601         failures.
55602         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55604         strerror_r: enforce POSIX recommendations
55605         * lib/strerror_r.c (safe_copy): New helper method.
55606         (strerror_r): Guarantee a non-empty string.
55607         * tests/test-strerror_r.c (main): Enhance tests to incorporate
55608         recent POSIX rulings and to match our strerror guarantees.
55609         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55611 2011-05-24  Jim Meyering  <meyering@redhat.com>
55613         test-perror2.c: avoid warning about unused variable
55614         * tests/test-perror2.c (main): Remove declaration of unused "fp".
55616 2011-05-24  Eric Blake  <eblake@redhat.com>
55618         perror: avoid spurious test failure on HP-UX
55619         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
55621         tests: fix logic bug in init.sh
55622         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
55623         shell.
55625 2011-05-24  Jim Meyering  <meyering@redhat.com>
55627         utimensat: do not reference an out-of-scope buffer
55628         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
55629         declared in an inner scope, yet "times" would be dereferenced outside
55630         the scope in which "ts" was valid.
55631         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
55632         of ts[2] "out/up", so that the use of aliased "times" (via
55633         "times = ts;") does not end up referencing an out-of-scope "ts"
55635         opendir-safer.c: don't clobber errno; don't close negative FD
55636         * lib/opendir-safer.c (opendir_safer):
55637         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
55638         file descriptor, and more importantly, don't clobber the
55639         offending errno value with EINVAL.  Before, upon failure
55640         of dup_safer, we would pass the negative file descriptor to
55641         fdopendir, which would clobber errno.
55643 2011-05-23  Bruno Haible  <bruno@clisp.org>
55645         idcache: Fix module description.
55646         * modules/idcache (Include): Set to "idcache.h".
55648 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
55650         gnulib-tool: fix portability problem with MacOS sed
55651         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
55652         before the "}".  Problem reported by Leo in
55653         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
55654         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
55655         sed_extract_condition1, sed_extract_condition2.
55657 2011-05-23  Bruno Haible  <bruno@clisp.org>
55659         hash: Simplify autoconf macro.
55660         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
55662 2011-05-23  Bruno Haible  <bruno@clisp.org>
55664         getugroups: Fix module description.
55665         * modules/getugroups (Include): Set to "getugroups.h".
55667 2011-05-23  Bruno Haible  <bruno@clisp.org>
55669         linkat: Simplify autoconf macro.
55670         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
55672 2011-05-23  Bruno Haible  <bruno@clisp.org>
55673             Eric Blake  <eblake@redhat.com>
55675         linkat, renameat: Update dependencies.
55676         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
55677         * modules/linkat (Depends-on): Likewise. Remove also readlink,
55678         symlinkat.
55680 2011-05-23  Jim Meyering  <meyering@redhat.com>
55682         maint.mk: more tight_scope improvements
55683         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
55684         (_gl_TS_headers): Define only in if-0'd block.
55685         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
55686         sometimes we must *not* use it.  Adjust uses accordingly.
55687         (sc_tight_scope): Use much simpler grep-based test to determine
55688         whether we skip this rule.
55690         maint.mk: generalize/improve the tight-scope rule
55691         * top/maint.mk: Emit a warning when the test is skipped.
55692         (_gl_TS_dir): Add $(srcdir)/ prefix.
55693         (_gl_TS_function_match): Simplify, rather than trying
55694         to enumerate common types.  Otherwise, it would fail to match an
55695         "extern unsigned char const *" declaration in idutils.
55696         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
55697         a way to support use of that type of macro.
55698         (_gl_TS_var_match): Simplify regexp.
55699         (_gl_TS_obj_files): New configurable variable.
55700         (_gl_TS_headers): Likewise.
55702 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55704         verify: fix bug when gnulib <assert.h> is also included
55705         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
55706         is defined, not if _GL_STATIC_ASSERT_H is not defined.
55707         Perhaps there's a better way, but this fixes the immediate problem.
55708         Problem reported by Bruno Haible in
55709         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
55711 2011-05-22  Bruno Haible  <bruno@clisp.org>
55713         xgetcwd: Simplify autoconf macro.
55714         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
55716 2011-05-22  Bruno Haible  <bruno@clisp.org>
55718         New module 'mktime-internal'.
55719         * modules/mktime-internal: New file.
55720         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
55721         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
55722         mktime_internal as a C macro if libc has __mktime_internal.
55723         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
55724         conditions.
55725         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
55727 2011-05-22  Bruno Haible  <bruno@clisp.org>
55729         timegm: Correct mktime replacement statements.
55730         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
55731         defining mktime as a C macro. This completes a 2009-07-28 commit.
55733 2011-05-22  Bruno Haible  <bruno@clisp.org>
55735         timegm: Simplify autoconf macro.
55736         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
55738 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
55740         clock-time: change to LGPLv2+.
55741         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
55742         BSD-like but we have no mark for that; this is good enough for now.
55744 2011-05-21  Bruno Haible  <bruno@clisp.org>
55746         strerror_r: Fix comments.
55747         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
55749 2011-05-21  Bruno Haible  <bruno@clisp.org>
55751         relocatable-prog-wrapper: Fix possible link error.
55752         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
55753         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
55754         (gl_FUNC_SETENV): ... to here.
55755         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
55756         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
55758 2011-05-21  Bruno Haible  <bruno@clisp.org>
55760         relocatable-prog-wrapper: Assume strerror() exists.
55761         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
55762         m4/strerror.m4.
55763         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
55764         * lib/relocwrapper.c: Remove mention of strerror module.
55765         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
55766         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
55767         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
55768         C macro.
55770 2011-05-21  Bruno Haible  <bruno@clisp.org>
55772         select: Simplify replacement idiom.
55773         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
55774         Win32 platforms.
55775         * lib/sys_select.in.h (select): Simplify accordingly.
55776         * modules/select (Depends-on): Likewise.
55778 2011-05-21  Bruno Haible  <bruno@clisp.org>
55780         mkdir-p: Simplify autoconf macro.
55781         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
55782         gl_FUNC_LCHOWN.
55784 2011-05-21  Eric Blake  <eblake@redhat.com>
55786         strerror_r: avoid clobbering strerror on cygwin
55787         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
55788         fall back instead to sys_errlist.
55789         * modules/strerror (configure.ac): Add witness.
55790         * tests/test-strerror_r.c (main): Enhance test.
55791         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55792         * tests/test-perror2.c (main): Free memory before exit.
55794 2011-05-21  Bruno Haible  <bruno@clisp.org>
55796         mkdtemp: Use gnulib naming conventions.
55797         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
55798         * modules/mkdtemp (configure.ac): Update.
55800 2011-05-20  Eric Blake  <eblake@redhat.com>
55802         strerror_r: avoid corrupting errno on Solaris
55803         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
55804         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55806         strerror_r: avoid compiler warning
55807         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
55809         strerror_r: simplify AIX code
55810         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
55812         test-perror: avoid spurious failure on FreeBSD
55813         * modules/perror-tests (Depends-on): Add strerror, now that
55814         strerror_r no longer pulls it in.
55816 2011-05-20  Bruno Haible  <bruno@clisp.org>
55818         strerror_r-posix: Remove unused dependencies.
55819         * modules/strerror_r-posix (Depends-on): Remove strerror.
55820         Reported by Eric Blake.
55822 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55824         intprops: remove assumption about A|B representation
55825         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
55826         is a valid integer if both A and B are.  Although this is true for
55827         all known practical hosts, the C standard doesn't guarantee it,
55828         and the code need not assume it.  Also, this change may work around
55829         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
55830         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
55832 2011-05-20  Eric Blake  <eblake@redhat.com>
55834         perror: work around FreeBSD bug
55835         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
55836         is broken.  Move AC_LIBOBJ...
55837         * modules/perror (configure.ac): Here.
55838         * doc/posix-functions/perror.texi (perror): Document this.
55839         * tests/test-perror2.c (main): Enhance test.
55841         test-perror: check for strerror interactions
55842         * tests/macros.h (STREQ): Add macro.
55843         * modules/perror-tests (Files): Add second test.
55844         * tests/test-perror2.c (main): New file.
55845         * doc/posix-functions/perror.texi (perror): Document glibc bug.
55847         test-perror: rewrite to use init script
55848         * modules/perror-tests (Files): Add init.sh.
55849         * tests/test-perror.sh: Use temporary directory.
55851 2011-05-20  Jim Meyering  <meyering@redhat.com>
55853         maint: replace misused "a" with "an"
55854         * doc/intprops.texi: "a integer"
55855         * doc/regex.texi: "a explanation"
55856         * lib/alignof.h: "a object"
55857         * lib/argmatch.h: "a explanation"
55858         * lib/argp-help.c: "a option" and "a OPTION_DOC"
55859         * lib/stdint.in.h: "a integer"
55860         * lib/userspec.c: "a owner"
55861         * doc/gnulib.texi: Fix "a idea", and reword.
55863 2011-05-19  Jim Meyering  <meyering@redhat.com>
55865         maint: correct misuse of "a" and "an"
55866         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
55867         * lib/argp-help.c: "an docum...": s/an/a/
55868         * lib/argp-parse.c: "An vector": s/An/A/
55869         * lib/execute.c: "an native": s/an/a/
55870         * lib/spawn-pipe.c: Likewise.
55871         * lib/gc.h: "an Gc_rc": s/an/a/
55872         * lib/unigbrk.in.h: "an grapheme": s/an/a/
55873         * lib/fts.c: "an stat.st_dev": s/an/a/
55875 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55877         intprops-tests: work around HP-UX 11.23 cc bug with constants
55878         * tests/test-intprops.c (VERIFY): New macro.
55879         (main): Use it, instead of verify, to work around the compiler bug; see
55880         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55882         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
55883         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
55884         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
55885         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
55886         (_GL_REMAINDER_OVERFLOW): Use it.
55888         intprops-tests: revert unsigned part of previous change
55889         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
55890         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
55891         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
55892         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
55894 2011-05-19  Bruno Haible  <bruno@clisp.org>
55896         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
55897         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
55898         strerror_r() returned without filling the buffer.
55899         Reported by Eric Blake.
55901 2011-05-19  Eric Blake  <eblake@redhat.com>
55903         strerror_r: guarantee unchanged errno
55904         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
55905         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
55906         failure.
55907         * tests/test-strerror_r.c (main): Enhance test.
55909 2011-05-19  Bruno Haible  <bruno@clisp.org>
55911         strerror_r: Reorder #if blocks.
55912         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
55913         for consistency with the previous commit.
55915 2011-05-19  Bruno Haible  <bruno@clisp.org>
55917         perror: Avoid clobbering the strerror buffer when possible.
55918         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
55919         * lib/strerror.c: Include it.
55920         * modules/strerror (Files): Add lib/strerror-impl.h.
55921         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
55922         (my_strerror): New function, defined through lib/strerror-impl.h.
55923         (perror): Use it instead of strerror.
55924         * modules/perror (Files): Add lib/strerror-impl.h.
55925         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
55927 2011-05-19  Eric Blake  <eblake@redhat.com>
55929         strerror_r: fix on newer cygwin
55930         * lib/strerror_r.c (strerror_r): Cygwin now has
55931         __xpg_strerror_r, use it.
55933 2011-05-19  Bruno Haible  <bruno@clisp.org>
55935         strerror_r: Avoid clobbering the strerror buffer when possible.
55936         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
55937         (sys_nerr, sys_errlist): New declarations.
55938         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
55939         HP-UX, native Win32, IRIX, and 32-bit Solaris.
55940         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
55942 2011-05-19  Bruno Haible  <bruno@clisp.org>
55944         strerror_r: Fix test failure on mingw.
55945         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
55946         EXTEND_STRERROR_R.
55947         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
55948         macros from errno.in.h instead.
55950 2011-05-19  Eric Blake  <eblake@redhat.com>
55952         strerror: relax test for Solaris
55953         * tests/test-strerror.c (main): Permit Solaris behavior.
55954         * tests/test-strerror_r.c (main): Likewise.
55956         strerror: enforce POSIX ruling on strerror(0)
55957         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
55958         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
55959         * lib/strerror_r.c (rpl_strerror_r): Work around it.
55960         * doc/posix-functions/strerror.texi (strerror): Document it.
55961         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
55962         * tests/test-strerror.c (main): Strengthen test.
55963         * tests/test-strerror_r.c (main): Likewise.
55965 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55967         intprop-tests: port to older and more-pedantic compilers
55968         * modules/intprops-tests (Files): Add tests/macros.h.
55969         * tests/test-intprops.c: Include macros.h.
55970         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
55971         it's no longer documented to expand to an integer constant expression.
55972         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
55973         argument is floating point, as it's no longer documented to expand
55974         to an integer constant expression in that case.
55975         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
55976         compiler bugs reported by Bruno Haible.  See
55977         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55978         (U0, U1): New constants, to work around the same bugs.  Also,
55979         in tests, use e.g., "(unsigned int) 39" rather than "39u".
55981         intprops: work around C compiler bugs
55982         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
55983         bug in Sun C 5.11 2010/08/13 and other compilers; see
55984         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55986         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
55987         * doc/intprops.texi (Integer Type Determination): Fix
55988         documentation for TYPE_IS_INTEGER: it returns an constant
55989         expression, not an integer constant expression.  Fix doc for
55990         TYPE_SIGNED: it returns an integer constant expression only if its
55991         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
55992         hardly worth documented that way....)
55994 2011-05-18  Bruno Haible  <bruno@clisp.org>
55996         strerror_r: Avoid clobbering the strerror buffer when possible.
55997         * lib/strerror_r.c (strerror_r): Merge the three implementations.
55998         Handle gnulib defined errno values here. When strerror() returns NULL
55999         or an empty string, return EINVAL.
56000         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
56001         gnulib defined errno values here.
56002         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
56004 2011-05-18  Eric Blake  <eblake@redhat.com>
56006         fnmatch: avoid compiler warning
56007         * lib/fnmatch_loop.c (FCT): Use correct type.
56008         Reported by Matthias Bolte.
56010 2011-05-13  Jim Meyering  <meyering@redhat.com>
56012         maint.mk: three new prohibit_<HDR>_without_use rules
56013         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
56014         (sc_prohibit_stdio-safer_without_use): Likewise.
56015         (sc_prohibit_xfreopen_without_use): Likewise.
56017 2011-05-17  Jim Meyering  <meyering@redhat.com>
56019         announce-gen: fail if the NEWS delta is empty
56020         If there's nothing noteworthy in NEWS, then either you forgot
56021         or you shouldn't be releasing.
56022         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
56024 2011-05-17  Pádraig Brady  <P@draigBrady.com>
56026         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
56027         reserved symbols starting with double underscore from the check.
56029 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56031         intprops: add doc
56032         * doc/intprops.texi: New file, documenting intprops.
56033         * doc/gnulib.texi (Particular Modules): Include it.
56035         verify: add doc to gnulib manual and fix example
56036         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
56037         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
56038         (Compile-time Assertions): Fix example so it can't overflow.
56040 2011-05-17  Jim Meyering  <meyering@redhat.com>
56042         warnings.m4: don't usurp save_CPPFLAGS variable name
56043         * m4/warnings.m4: Prefix local temporary variable name with gl_.
56045         doc: fix typo
56046         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
56048 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56049             Bruno Haible  <bruno@clisp.org>
56051         doc: Tweak recent change.
56052         * README (Portability guidelines): Tweak new text.
56053         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
56054         Interix 6.1.
56056 2011-05-16  Eric Blake  <eblake@redhat.com>
56058         inttypes: avoid autoconf warning
56059         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
56060         * m4/stdint.m4 (gl_STDINT_H): Likewise.
56062 2011-05-16  Sam Steingold  <sds@gnu.org>
56063         and Eric Blake  <eblake@redhat.com>
56065         vc-list-files: accept multiple directory operands
56066         * build-aux/vc-list-files: Iterate over all remaining operands.
56068 2011-05-16  Bruno Haible  <bruno@clisp.org>
56070         Fix confusion regarding deprecated modules.
56071         * modules/calloc (Status, Notice): Mark module as deprecated, not
56072         obsolete.
56073         * modules/fnmatch-posix (Status, Notice): Likewise.
56074         * modules/getdate (Status, Notice): Likewise.
56075         * modules/getopt (Status, Notice): Likewise.
56076         * modules/malloc (Status, Notice): Likewise.
56077         * modules/pipe (Status, Notice): Likewise.
56078         * modules/realloc (Status, Notice): Likewise.
56079         * modules/rename-dest-slash (Status, Notice): Likewise.
56080         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
56081         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
56082         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
56083         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
56084         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
56086 2011-05-16  Bruno Haible  <bruno@clisp.org>
56088         doc: List the target platforms.
56089         * doc/gnulib-intro.texi (Target Platforms): New section.
56090         * doc/gnulib.texi (Introduction): Update menu.
56091         * README (Portability guidelines): Refer to the new section. Update
56092         statement about oldest supported environment. Remove rationale why
56093         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
56094         unportable C89 function.
56095         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
56096         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
56098 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56100         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
56102 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56104         intprops-tests: new module
56105         * modules/intprops-tests, tests/test-intprops.c: New files.
56107         intprops: add safe, portable integer overflow checking
56108         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
56109         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
56110         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
56111         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
56112         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
56113         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
56114         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
56115         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
56116         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
56117         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
56118         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
56120 2011-05-12  James Youngman  <jay@gnu.org>
56122         Add a test for glibc's Bugzilla bug #12378.
56123         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
56124         doesn't allow the literal matching of a lone "[" (which is
56125         required by POSIX).
56126         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
56128 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
56130         Sync glibc change fixing Bugzilla bug #12378.
56131         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
56132         beginning and fall back to matching as normal character if the
56133         string ends before the matching ']' is found.  This is what POSIX
56134         requires.
56136 2011-05-13  Eric Blake  <eblake@redhat.com>
56138         getcwd-lgpl: relax test for FreeBSD
56139         * doc/posix-functions/getcwd.texi (getcwd): Document portability
56140         issue.
56141         * tests/test-getcwd-lgpl.c (main): Relax test.
56142         Reported by Matthias Bolte.
56144 2011-05-11  Eric Blake  <eblake@redhat.com>
56146         test-fflush: silence compiler warning
56147         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
56149 2011-05-11  Bruno Haible  <bruno@clisp.org>
56151         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
56152         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
56153         * modules/canonicalize (Depends-on): Add 'nocrash'.
56154         * modules/canonicalize-lgpl (Depends-on): Likewise.
56155         * doc/posix-functions/realpath.texi: Update platforms list.
56156         Reported by Ryan Schmidt <ryandesign@macports.org>.
56158 2011-05-11  Bruno Haible  <bruno@clisp.org>
56160         group-member: Declare function in <unistd.h>.
56161         * lib/unistd.in.h (group_member): New declaration.
56162         * lib/group-member.h: Remove file.
56163         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
56164         * tests/test-unistd-c++.cc: Check signature of group_member.
56165         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
56166         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
56167         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
56168         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
56169         HAVE_GROUP_MEMBER.
56170         * modules/group-member (Files): Remove lib/group-member.h.
56171         (Depends-on): Add unistd. Specify conditions.
56172         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56173         (Include): Change to <unistd.h>.
56174         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
56175         HAVE_GROUP_MEMBER.
56176         * NEWS: Mention the change.
56177         * lib/euidaccess.c: Don't include group-member.h.
56179 2011-05-11  Bruno Haible  <bruno@clisp.org>
56181         group-member: Document module.
56182         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
56183         module.
56185 2011-05-11  Bruno Haible  <bruno@clisp.org>
56187         fclose: Fix mistake earlier today.
56188         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
56190 2011-05-11  Eric Blake  <eblake@redhat.com>
56192         fclose: preserve fflush errors
56193         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
56194         Reported by Jim Meyering.
56196         bootstrap: support a prereq of 'rpcgen -' on RHEL5
56197         * build-aux/bootstrap (check_versions): When no specific version
56198         is required, merely check that the app produces an exit status
56199         that indicates its existence.
56201         maint.mk: drop redundant check
56202         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
56203         the same but better.
56205 2011-05-11  Bruno Haible  <bruno@clisp.org>
56207         fclose: Fix possible link error.
56208         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
56209         unregister_shadow_fd. Improve comments.
56210         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
56211         Eric Blake.
56213 2011-05-11  Jim Meyering  <meyering@redhat.com>
56215         maint.mk: improve "can not" detection and generalize rule name
56216         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
56217         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
56218         Use the same technique as in sc_prohibit_doubled_word, so that
56219         we recognize "can not" also when the words are separated by a newline.
56220         Suggested by Eric Blake.
56221         (perl_filename_lineno_text_): Define.  Factored out of...
56222         (prohibit_doubled_word_): ...here.  Use the new definition.
56223         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
56224         (prohibit_undesirable_word_seq_RE_): New overridable variable.
56225         (ignore_undesirable_word_sequence_RE_): New overridable variable.
56227 2011-05-10  Eric Blake  <eblake@redhat.com>
56229         fclose: avoid double close race when possible
56230         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
56231         all but WINDOWS_SOCKETS.
56233 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
56235         openat: correct new comment
56236         * lib/openat-proc.c (openat_proc_name): Correct the comment.
56238 2011-05-10  Jim Meyering  <meyering@redhat.com>
56240         openat: add comments
56241         * lib/openat-proc.c (openat_proc_name): Add comments,
56242         mostly from Eric Blake.
56244 2011-05-09  Eric Blake  <eblake@redhat.com>
56246         openat: reduce syscalls in first probe of /proc
56247         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
56248         be a directory.  Simplify the probe for .. bugs.
56249         * modules/openat (Depends-on): Drop same-inode.
56250         Reported by Bastien ROUCARIES.
56252 2011-05-09  Jim Meyering  <meyering@redhat.com>
56254         maint.mk: change semantics/name of tight_scope variables
56255         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
56256         Rename variables to align with semantics that make them more useful.
56258         maint.mk: tweak new rule's name not to impinge
56259         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
56260         (sc_tight_scope): Use new rule name rather than $@-0.
56262         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
56263         * top/maint.mk (sc_tight_scope): New rule.
56264         (sc_tight_scope-0): New rule, ifdef'd out.
56265         (_gl_TS_dir): Default.
56266         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
56267         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
56269 2011-05-09  Simon Josefsson  <simon@josefsson.org>
56271         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
56272         Haible <bruno@clisp.org>.
56274 2011-05-08  Bruno Haible  <bruno@clisp.org>
56276         Comments.
56277         * m4/isnanf.m4: Add comment.
56278         * m4/isnanl.m4: Likewise.
56280 2011-05-08  Bruno Haible  <bruno@clisp.org>
56282         glob: Remove obsolete macro.
56283         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
56285 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
56287         intprops: Sun C 5.11 supports __typeof__
56288         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
56289         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
56290         which is new.
56291         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
56293         intprops: switch to usual gnulib indenting and naming
56294         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
56295         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
56297         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
56299 2011-05-08  Jim Meyering  <meyering@redhat.com>
56301         maint.mk: suppress "Entering/Leaving directory" diag in announcement
56302         * top/maint.mk (release-prep): Use make's --no-print-directory
56303         option when generating the announcement.  This eliminates the
56304         pesky "make[2]: Entering/Leaving directory" diagnostics in the
56305         generated announcement template.
56307 2011-05-08  Bruno Haible  <bruno@clisp.org>
56309         tzset: Fix gettimeofday wrapper on Solaris 2.6.
56310         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
56311         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
56313 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
56315         ignore-value, verify: Omit include files from lib_SOURCES.
56316         * modules/ignore-value, modules/verify (Makefile.am):
56317         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
56318         that leads Automake to duplicate use of am__objects_... variables
56319         in Makefile.in.  See
56320         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
56322 2011-05-07  Bruno Haible  <bruno@clisp.org>
56324         fclose: Simplify autoconf macro.
56325         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
56326         defined.
56328 2011-05-07  Bruno Haible  <bruno@clisp.org>
56330         canonicalize-lgpl: Fix autoconf macro ordering bug.
56331         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
56332         gl_STDLIB_H_DEFAULTS.
56334 2011-05-06  Eric Blake  <eblake@redhat.com>
56336         maintainer-makefile: make sc_po_check easier to tune
56337         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
56338         to probe for strings, such as an alternate location for gnulib.
56340         fclose: guarantee behavior on seekable stdin
56341         * modules/fclose (Depends-on): Add fflush.
56342         * doc/posix-functions/fclose.texi (fclose): Document this.
56343         * tests/test-fclose.c (main): Make test for this unconditional.
56345 2011-05-06  Bruno Haible  <bruno@clisp.org>
56347         fflush, fpurge: Relicense under LGPLv2+.
56348         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
56349         * modules/fpurge (License): Likewise.
56350         With permission from Eric Blake and Jim Meyering.
56351         Suggested by Eric Blake.
56353 2011-05-06  Karl Berry  <karl@gnu.org>
56355         * MODULES.html.sh (func_all_modules): remove exit.
56357 2011-05-06  Jim Meyering  <meyering@redhat.com>
56359         maint.mk: use info-gnu@ as the default only for a stable release
56360         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
56361         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
56362         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
56363         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
56365 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56367         assert-h: new module, which supports C1X-style static_assert
56368         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
56369         * lib/verify.h: Revamp so that this can be copied into assert.h,
56370         while retaining the ability to use it standalone as before.
56371         Rename private identifiers so as not to encroach on the
56372         standard C namespace, since this is now used by assert.h.
56373         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
56374         the old verify_true.
56375         (_GL_VERIFY_TRUE): New macro, with much of the contents of
56376         the old verify_true.  Use _GL_VERIFY_TYPE.
56377         (_GL_VERIFY): New macro, with much of the contents of the old verify.
56378         (static_assert): New macro, if _GL_STATIC_ASSERT_H
56379         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
56380         defined when this file is copied into the replacement assert.h.
56381         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
56382         and _Static_assert is not built in.
56383         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
56384         defined, and use the new macros mentioned above.
56385         * doc/posix-headers/assert.texi: Document this.
56387 2011-05-05  Bruno Haible  <bruno@clisp.org>
56389         fclose, fflush: Respect rules for use of AC_LIBOBJ.
56390         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
56391         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
56392         gl_REPLACE_FCLOSE here.
56393         * modules/fflush (Depends-on): Remove fclose.
56394         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
56395         combination with module 'fclose'.
56397 2011-05-05  Bruno Haible  <bruno@clisp.org>
56399         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
56400         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
56401         gl_FUNC_FFLUSH.
56402         (gl_FUNC_FFLUSH): Use it.
56403         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
56404         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
56405         gl_REPLACE_FSEEKO here.
56407 2011-05-05  Bruno Haible  <bruno@clisp.org>
56409         tzset: Relicense under LGPL.
56410         * modules/tzset (License): Change to LGPL.
56411         No agreement needed; it's a no-op.
56413         strtoimax, strtoumax: Relicense under LGPL.
56414         * modules/strtoimax (License): Change to LGPL.
56415         * modules/strtoumax (License): Likewise.
56416         With permission from Jim Meyering, Paul Eggert:
56417         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
56418         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
56420         getgroups: Relicense under LGPL.
56421         * modules/getgroups (License): Change to LGPL.
56422         With permission from Jim Meyering, Paul Eggert, Eric Blake:
56423         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56424         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56425         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56427         nanosleep: Relicense under LGPL.
56428         * modules/nanosleep (License): Change to LGPL.
56429         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
56430         Haible:
56431         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56432         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56433         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56434         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56436         futimens: Relicense under LGPL.
56437         * modules/futimens (License): Change to LGPL.
56438         With permission from Eric Blake:
56439         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56441         fflush: Relicense under LGPL.
56442         * modules/fflush (License): Change to LGPL.
56443         With permission from Eric Blake, Bruno Haible, Jim Meyering:
56444         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56445         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56446         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
56448         tmpfile: Relicense under LGPL.
56449         * modules/tmpfile (License): Change to LGPL.
56450         With permission from Ben Pfaff:
56451         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56453         isfinite: Relicense under LGPL.
56454         * modules/isfinite (License): Change to LGPL.
56455         With permission from Ben Pfaff, Bruno Haible:
56456         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56457         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
56459         acosl..tanl: Relicense under LGPL.
56460         * modules/acosl (License): Change to LGPL.
56461         * modules/asinl (License): Likewise.
56462         * modules/atanl (License): Likewise.
56463         * modules/cosl (License): Likewise.
56464         * modules/expl (License): Likewise.
56465         * modules/logl (License): Likewise.
56466         * modules/sinl (License): Likewise.
56467         * modules/sqrtl (License): Likewise.
56468         * modules/tanl (License): Likewise.
56469         Source code originally from glibc and Paolo Bonzini. Agreements:
56470         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
56471         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
56473 2011-05-05  Bruno Haible  <bruno@clisp.org>
56475         signal: Define sighandler_t.
56476         * lib/signal.in.h (sighandler_t): New type.
56477         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
56478         whether sighandler_t is defined.
56479         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
56480         * modules/signal (Depends-on): Add extensions.
56481         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
56482         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
56483         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
56485 2011-05-05  Eric Blake  <eblake@redhat.com>
56487         maint: remove useless REPLACE_*_H macros
56488         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
56489         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56490         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56491         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
56492         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56493         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56494         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
56495         * m4/btowc.m4: Update callers.
56496         * m4/dirfd.m4: Likewise.
56497         * m4/duplocale.m4: Likewise.
56498         * m4/fchdir.m4: Likewise.
56499         * m4/fdopendir.m4: Likewise.
56500         * m4/inet_ntop.m4: Likewise.
56501         * m4/inet_pton.m4: Likewise.
56502         * m4/ioctl.m4: Likewise.
56503         * m4/mbrlen.m4: Likewise.
56504         * m4/mbrtowc.m4: Likewise.
56505         * m4/mbsinit.m4: Likewise.
56506         * m4/mbsnrtowcs.m4: Likewise.
56507         * m4/mbsrtowcs.m4: Likewise.
56508         * m4/poll.m4: Likewise.
56509         * m4/setlocale.m4: Likewise.
56510         * m4/wcrtomb.m4: Likewise.
56511         * m4/wcsnrtombs.m4: Likewise.
56512         * m4/wcsrtombs.m4: Likewise.
56513         * m4/wctob.m4: Likewise.
56514         * m4/wcwidth.m4: Likewise.
56515         * modules/posix_spawn: Likewise.
56516         * modules/posix_spawn_file_actions_addclose: Likewise.
56517         * modules/posix_spawn_file_actions_adddup2: Likewise.
56518         * modules/posix_spawn_file_actions_addopen: Likewise.
56519         * modules/posix_spawn_file_actions_destroy: Likewise.
56520         * modules/posix_spawn_file_actions_init: Likewise.
56521         * modules/posix_spawnattr_destroy: Likewise.
56522         * modules/posix_spawnattr_getflags: Likewise.
56523         * modules/posix_spawnattr_getpgroup: Likewise.
56524         * modules/posix_spawnattr_getschedparam: Likewise.
56525         * modules/posix_spawnattr_getschedpolicy: Likewise.
56526         * modules/posix_spawnattr_getsigdefault: Likewise.
56527         * modules/posix_spawnattr_getsigmask: Likewise.
56528         * modules/posix_spawnattr_init: Likewise.
56529         * modules/posix_spawnattr_setflags: Likewise.
56530         * modules/posix_spawnattr_setpgroup: Likewise.
56531         * modules/posix_spawnattr_setschedparam: Likewise.
56532         * modules/posix_spawnattr_setschedpolicy: Likewise.
56533         * modules/posix_spawnattr_setsigdefault: Likewise.
56534         * modules/posix_spawnattr_setsigmask: Likewise.
56535         * modules/posix_spawnp: Likewise.
56537 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
56539         Add option to do-release-commit-and-tag to specify branch.
56540         * build-aux/do-release-commit-and-tag: Add --branch.
56542 2011-05-03  Bruno Haible  <bruno@clisp.org>
56544         Avoid unnecessary compilation units, through conditional dependencies.
56545         * modules/accept (Depends-on): Add conditions to the dependencies.
56546         * modules/acosl (Depends-on): Likewise.
56547         * modules/argz (Depends-on): Likewise.
56548         * modules/asinl (Depends-on): Likewise.
56549         * modules/atanl (Depends-on): Likewise.
56550         * modules/atoll (Depends-on): Likewise.
56551         * modules/bind (Depends-on): Likewise.
56552         * modules/btowc (Depends-on): Likewise.
56553         * modules/canonicalize-lgpl (Depends-on): Likewise.
56554         * modules/ceil (Depends-on): Likewise.
56555         * modules/ceilf (Depends-on): Likewise.
56556         * modules/ceill (Depends-on): Likewise.
56557         * modules/chdir-long (Depends-on): Likewise.
56558         * modules/chown (Depends-on): Likewise.
56559         * modules/close (Depends-on): Likewise.
56560         * modules/connect (Depends-on): Likewise.
56561         * modules/cosl (Depends-on): Likewise.
56562         * modules/dirfd (Depends-on): Likewise.
56563         * modules/dprintf (Depends-on): Likewise.
56564         * modules/dprintf-posix (Depends-on): Likewise.
56565         * modules/error (Depends-on): Likewise.
56566         * modules/euidaccess (Depends-on): Likewise.
56567         * modules/expl (Depends-on): Likewise.
56568         * modules/faccessat (Depends-on): Likewise.
56569         * modules/fchdir (Depends-on): Likewise.
56570         * modules/fclose (Depends-on): Likewise.
56571         * modules/fcntl (Depends-on): Likewise.
56572         * modules/fdopendir (Depends-on): Likewise.
56573         * modules/fflush (Depends-on): Likewise.
56574         * modules/floor (Depends-on): Likewise.
56575         * modules/floorf (Depends-on): Likewise.
56576         * modules/floorl (Depends-on): Likewise.
56577         * modules/fnmatch (Depends-on): Likewise.
56578         * modules/fopen (Depends-on): Likewise.
56579         * modules/fprintf-posix (Depends-on): Likewise.
56580         * modules/frexp (Depends-on): Likewise.
56581         * modules/frexp-nolibm (Depends-on): Likewise.
56582         * modules/frexpl (Depends-on): Likewise.
56583         * modules/frexpl-nolibm (Depends-on): Likewise.
56584         * modules/fseek (Depends-on): Likewise.
56585         * modules/fsusage (Depends-on): Likewise.
56586         * modules/ftell (Depends-on): Likewise.
56587         * modules/ftello (Depends-on): Likewise.
56588         * modules/futimens (Depends-on): Likewise.
56589         * modules/getcwd (Depends-on): Likewise.
56590         * modules/getcwd-lgpl (Depends-on): Likewise.
56591         * modules/getdelim (Depends-on): Likewise.
56592         * modules/getdomainname (Depends-on): Likewise.
56593         * modules/getgroups (Depends-on): Likewise.
56594         * modules/gethostname (Depends-on): Likewise.
56595         * modules/getline (Depends-on): Likewise.
56596         * modules/getlogin_r (Depends-on): Likewise.
56597         * modules/getopt-posix (Depends-on): Likewise.
56598         * modules/getpeername (Depends-on): Likewise.
56599         * modules/getsockname (Depends-on): Likewise.
56600         * modules/getsockopt (Depends-on): Likewise.
56601         * modules/getsubopt (Depends-on): Likewise.
56602         * modules/getusershell (Depends-on): Likewise.
56603         * modules/glob (Depends-on): Likewise.
56604         * modules/grantpt (Depends-on): Likewise.
56605         * modules/iconv_open (Depends-on): Likewise.
56606         * modules/iconv_open-utf (Depends-on): Likewise.
56607         * modules/inet_ntop (Depends-on): Likewise.
56608         * modules/inet_pton (Depends-on): Likewise.
56609         * modules/ioctl (Depends-on): Likewise.
56610         * modules/isapipe (Depends-on): Likewise.
56611         * modules/isfinite (Depends-on): Likewise.
56612         * modules/isinf (Depends-on): Likewise.
56613         * modules/lchown (Depends-on): Likewise.
56614         * modules/ldexpl (Depends-on): Likewise.
56615         * modules/link (Depends-on): Likewise.
56616         * modules/linkat (Depends-on): Likewise.
56617         * modules/listen (Depends-on): Likewise.
56618         * modules/logl (Depends-on): Likewise.
56619         * modules/lstat (Depends-on): Likewise.
56620         * modules/mbrlen (Depends-on): Likewise.
56621         * modules/mbrtowc (Depends-on): Likewise.
56622         * modules/mbsinit (Depends-on): Likewise.
56623         * modules/mbsnrtowcs (Depends-on): Likewise.
56624         * modules/mbsrtowcs (Depends-on): Likewise.
56625         * modules/mbtowc (Depends-on): Likewise.
56626         * modules/memcmp (Depends-on): Likewise.
56627         * modules/mkdir (Depends-on): Likewise.
56628         * modules/mkdtemp (Depends-on): Likewise.
56629         * modules/mkfifo (Depends-on): Likewise.
56630         * modules/mkfifoat (Depends-on): Likewise.
56631         * modules/mknod (Depends-on): Likewise.
56632         * modules/mkostemp (Depends-on): Likewise.
56633         * modules/mkostemps (Depends-on): Likewise.
56634         * modules/mkstemp (Depends-on): Likewise.
56635         * modules/mkstemps (Depends-on): Likewise.
56636         * modules/mktime (Depends-on): Likewise.
56637         * modules/nanosleep (Depends-on): Likewise.
56638         * modules/open (Depends-on): Likewise.
56639         * modules/openat (Depends-on): Likewise.
56640         * modules/perror (Depends-on): Likewise.
56641         * modules/poll (Depends-on): Likewise.
56642         * modules/popen (Depends-on): Likewise.
56643         * modules/posix_spawn (Depends-on): Likewise.
56644         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
56645         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56646         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56647         * modules/posix_spawnp (Depends-on): Likewise.
56648         * modules/pread (Depends-on): Likewise.
56649         * modules/printf-posix (Depends-on): Likewise.
56650         * modules/ptsname (Depends-on): Likewise.
56651         * modules/putenv (Depends-on): Likewise.
56652         * modules/pwrite (Depends-on): Likewise.
56653         * modules/readline (Depends-on): Likewise.
56654         * modules/readlink (Depends-on): Likewise.
56655         * modules/readlinkat (Depends-on): Likewise.
56656         * modules/recv (Depends-on): Likewise.
56657         * modules/recvfrom (Depends-on): Likewise.
56658         * modules/regex (Depends-on): Likewise.
56659         * modules/remove (Depends-on): Likewise.
56660         * modules/rename (Depends-on): Likewise.
56661         * modules/renameat (Depends-on): Likewise.
56662         * modules/rmdir (Depends-on): Likewise.
56663         * modules/round (Depends-on): Likewise.
56664         * modules/roundf (Depends-on): Likewise.
56665         * modules/roundl (Depends-on): Likewise.
56666         * modules/rpmatch (Depends-on): Likewise.
56667         * modules/select (Depends-on): Likewise.
56668         * modules/send (Depends-on): Likewise.
56669         * modules/sendto (Depends-on): Likewise.
56670         * modules/setenv (Depends-on): Likewise.
56671         * modules/setlocale (Depends-on): Likewise.
56672         * modules/setsockopt (Depends-on): Likewise.
56673         * modules/shutdown (Depends-on): Likewise.
56674         * modules/sigaction (Depends-on): Likewise.
56675         * modules/signbit (Depends-on): Likewise.
56676         * modules/sigprocmask (Depends-on): Likewise.
56677         * modules/sinl (Depends-on): Likewise.
56678         * modules/sleep (Depends-on): Likewise.
56679         * modules/snprintf (Depends-on): Likewise.
56680         * modules/snprintf-posix (Depends-on): Likewise.
56681         * modules/socket (Depends-on): Likewise.
56682         * modules/sprintf-posix (Depends-on): Likewise.
56683         * modules/sqrtl (Depends-on): Likewise.
56684         * modules/stat (Depends-on): Likewise.
56685         * modules/strchrnul (Depends-on): Likewise.
56686         * modules/strdup-posix (Depends-on): Likewise.
56687         * modules/strerror (Depends-on): Likewise.
56688         * modules/strerror_r-posix (Depends-on): Likewise.
56689         * modules/strndup (Depends-on): Likewise.
56690         * modules/strnlen (Depends-on): Likewise.
56691         * modules/strptime (Depends-on): Likewise.
56692         * modules/strsep (Depends-on): Likewise.
56693         * modules/strsignal (Depends-on): Likewise.
56694         * modules/strstr-simple (Depends-on): Likewise.
56695         * modules/strtod (Depends-on): Likewise.
56696         * modules/strtoimax (Depends-on): Likewise.
56697         * modules/strtok_r (Depends-on): Likewise.
56698         * modules/strtoumax (Depends-on): Likewise.
56699         * modules/symlink (Depends-on): Likewise.
56700         * modules/symlinkat (Depends-on): Likewise.
56701         * modules/tanl (Depends-on): Likewise.
56702         * modules/tcgetsid (Depends-on): Likewise.
56703         * modules/tmpfile (Depends-on): Likewise.
56704         * modules/trunc (Depends-on): Likewise.
56705         * modules/truncf (Depends-on): Likewise.
56706         * modules/truncl (Depends-on): Likewise.
56707         * modules/uname (Depends-on): Likewise.
56708         * modules/unlink (Depends-on): Likewise.
56709         * modules/unlockpt (Depends-on): Likewise.
56710         * modules/unsetenv (Depends-on): Likewise.
56711         * modules/usleep (Depends-on): Likewise.
56712         * modules/utimensat (Depends-on): Likewise.
56713         * modules/vasprintf (Depends-on): Likewise.
56714         * modules/vdprintf (Depends-on): Likewise.
56715         * modules/vdprintf-posix (Depends-on): Likewise.
56716         * modules/vfprintf-posix (Depends-on): Likewise.
56717         * modules/vprintf-posix (Depends-on): Likewise.
56718         * modules/vsnprintf (Depends-on): Likewise.
56719         * modules/vsnprintf-posix (Depends-on): Likewise.
56720         * modules/vsprintf-posix (Depends-on): Likewise.
56721         * modules/wcrtomb (Depends-on): Likewise.
56722         * modules/wcscasecmp (Depends-on): Likewise.
56723         * modules/wcscspn (Depends-on): Likewise.
56724         * modules/wcsdup (Depends-on): Likewise.
56725         * modules/wcsncasecmp (Depends-on): Likewise.
56726         * modules/wcsnrtombs (Depends-on): Likewise.
56727         * modules/wcspbrk (Depends-on): Likewise.
56728         * modules/wcsrtombs (Depends-on): Likewise.
56729         * modules/wcsspn (Depends-on): Likewise.
56730         * modules/wcsstr (Depends-on): Likewise.
56731         * modules/wcstok (Depends-on): Likewise.
56732         * modules/wcswidth (Depends-on): Likewise.
56733         * modules/wctob (Depends-on): Likewise.
56734         * modules/wctomb (Depends-on): Likewise.
56735         * modules/wctype (Depends-on): Likewise.
56736         * modules/wcwidth (Depends-on): Likewise.
56737         * modules/write (Depends-on): Likewise.
56739 2011-05-03  Bruno Haible  <bruno@clisp.org>
56741         Support for conditional dependencies.
56742         * doc/gnulib.texi (Module description): Document the syntax of
56743         conditional dependencies.
56744         * gnulib-tool: New option --conditional-dependencies.
56745         (func_usage): Document it.
56746         (cond_dependencies): New variable.
56747         (func_get_automake_snippet_conditional,
56748         func_get_automake_snippet_unconditional): New functions, extracted from
56749         func_get_automake_snippet.
56750         (func_get_automake_snippet): Use them.
56751         (sed_first_32_chars): New variable.
56752         (func_module_shellfunc_name): New function.
56753         (func_module_shellvar_name): New function.
56754         (func_module_conditional_name): New function.
56755         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
56756         func_cond_module_condition): New functions.
56757         (func_modules_transitive_closure): Add support for conditional
56758         dependencies.
56759         (func_emit_lib_Makefile_am): For a conditional module, enclose the
56760         conditional automake snippet in an automake conditional.
56761         (func_emit_autoconf_snippets): Emit shell functions that contain the
56762         code for conditional modules.
56763         (func_import, func_create_testdir): Update specification.
56765 2011-05-03  Eric Blake  <eblake@redhat.com>
56767         test-getaddrinfo: report error information
56768         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
56770 2011-05-03  Jim Meyering  <meyering@redhat.com>
56772         bootstrap: avoid build failure when $GZIP is set
56773         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
56774         program name.  If defined at all, it is supposed to list gzip options.
56775         Reported by Alan Curry in http://debbugs.gnu.org/8609
56777 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
56779         readme-release: new module with release instructions
56780         * modules/readme-release: New module.
56781         * top/README-release: New file, from coreutils, grep, diffutils.
56782         * MODULES.html.sh (Support for maintaining and releasing): Add it.
56784 2011-05-02  Eric Blake  <eblake@redhat.com>
56786         fflush: also replace fclose when fixing fflush
56787         * modules/fflush (Depends-on): Add fclose.
56788         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
56789         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
56790         memstreams with no backing fd.
56791         * doc/posix-functions/fclose.texi (fclose): Document the use of
56792         fflush module to fix the bug.
56793         * tests/test-fclose.c (main): Relax test when fclose is used in
56794         isolation.
56796         fclose: add some tests
56797         * modules/fclose-tests: New test module.
56798         * tests/test-fclose.c: New file.
56799         * doc/posix-functions/fclose.texi (fclose): Document the bug.
56801         fclose: reduced dependencies
56802         * modules/fclose (Depends-on): Switch from fflush/fseeko to
56803         simpler lseek.
56804         * lib/fclose.c (rpl_fclose): Likewise.
56805         Reported by Simon Josefsson.
56807         exit: drop remaining clients
56808         * modules/argmatch (Depends-on): Replace exit with stdlib.
56809         * modules/copy-file (Depends-on): Likewise.
56810         * modules/execute (Depends-on): Likewise.
56811         * modules/exitfail (Depends-on): Likewise.
56812         * modules/obstack (Depends-on): Likewise.
56813         * modules/pagealign_alloc (Depends-on): Likewise.
56814         * modules/pipe-filter-gi (Depends-on): Likewise.
56815         * modules/pipe-filter-ii (Depends-on): Likewise.
56816         * modules/savewd (Depends-on): Likewise.
56817         * modules/spawn-pipe (Depends-on): Likewise.
56818         * modules/wait-process (Depends-on): Likewise.
56819         * modules/xsetenv (Depends-on): Likewise.
56820         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
56821         * modules/git-merge-changelog (Depends-on): Likewise.
56822         * modules/long-options (Depends-on): Likewise.
56823         * modules/pt_chown (Depends-on): Likewise.
56824         * modules/sysexits (Depends-on): Likewise.
56826         freading: relax license from LGPLv3+ to LGPLv2+
56827         * modules/freading (License): Relax LGPL version.
56829 2011-05-02  Bruno Haible  <bruno@clisp.org>
56831         fchdir: Remove unused dependencies.
56832         * modules/fchdir (Depends-on): Remove include_next.
56834 2011-05-02  Bruno Haible  <bruno@clisp.org>
56836         gnulib-tool: Refactor.
56837         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
56838         from func_emit_autoconf_snippets.
56839         (func_emit_autoconf_snippets): Use it.
56841 2011-05-02  Simon Josefsson  <simon@josefsson.org>
56843         * NEWS: Document removal of 'exit'.
56844         * modules/exit: Remove file.
56846 2011-05-01  Bruno Haible  <bruno@clisp.org>
56848         Update DEPENDENCIES.
56849         * DEPENDENCIES (gettext): Recommend the newest release.
56850         Reported by Simon Josefsson.
56852 2011-05-01  Bruno Haible  <bruno@clisp.org>
56854         gnulib-tool: Reduce code duplication.
56855         * gnulib-tool (func_emit_autoconf_snippets): New function.
56856         (func_import, func_create_testdir): Use it.
56858 2011-04-30  Eric Blake  <eblake@redhat.com>
56860         fclose: don't fail on non-seekable input stream
56861         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
56862         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
56863         since fflush is allowed to fail in that case.
56865 2011-04-30  Bruno Haible  <bruno@clisp.org>
56867         dup3: cleanup
56868         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
56870 2011-04-30  Bruno Haible  <bruno@clisp.org>
56872         netdb: Make it work in C++ mode.
56873         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
56874         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
56875         module.
56876         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
56877         gl_MODULE_INDICATOR_FOR_TESTS.
56878         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
56879         * modules/netdb-c++-tests: New file.
56880         * tests/test-netdb-c++.cc: New file.
56882 2011-04-30  Bruno Haible  <bruno@clisp.org>
56884         New modules 'vfscanf', 'vscanf'.
56885         * modules/vfscanf: New file.
56886         * modules/vscanf: New file.
56887         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
56888         here.
56889         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
56890         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
56892 2011-04-30  Bruno Haible  <bruno@clisp.org>
56894         passfd: Add comments.
56895         * lib/passfd.c: Add comments about platforms.
56897 2011-04-30  Bruno Haible  <bruno@clisp.org>
56899         sys_uio: Make <sys/uio.h> self-contained.
56900         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
56901         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
56903 2011-04-30  Bruno Haible  <bruno@clisp.org>
56905         sys_socket: Ensure 'struct iovec' definition.
56906         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
56907         <sys/socket.h>.
56908         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
56910 2011-04-30  Bruno Haible  <bruno@clisp.org>
56912         sys_uio: Protect definition of 'struct iovec'.
56913         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
56914         it as a C struct.
56916 2011-04-30  Bruno Haible  <bruno@clisp.org>
56918         manywarnings: fix indentation
56919         * m4/manywarnings.m4: Indent by 2 spaces consistently.
56921 2011-04-30  Pádraig Brady  <P@draigBrady.com>
56923         manywarnings: add -Wno-missing-field-initializers if needed.
56924         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
56925         option if it's needed to allow initialization with { 0, }
56927 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
56929         announce-gen: cosmetic improvement
56930         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
56932 2011-04-29  Jim Meyering  <meyering@redhat.com>
56934         vc-list-files: indent with spaces, not TABs
56935         * build-aux/vc-list-files: Convert leading TABs to spaces,
56936         to match the style of most other files in gnulib.
56938         announce-gen: indent with spaces, not TABs
56939         * build-aux/announce-gen: Convert all TABs to spaces, to match
56940         the style of most other files in gnulib.
56942 2011-04-29  Eric Blake  <eblake@redhat.com>
56944         quotearg: avoid uninitialized variable use
56945         * lib/quotearg.c (quoting_options_from_style): Initialize
56946         remaining fields, and ensure that custom styles are only used via
56947         quoting_options rather than quoting_style.
56949 2011-04-29  Jim Meyering  <meyering@redhat.com>
56951         maint.mk: remove unused VC-tag variable
56952         * top/maint.mk (VC-tag): Remove unused variable.
56954 2011-04-29  Bruno Haible  <bruno@clisp.org>
56956         netdb: fix gai_strerror replacements
56957         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
56958         * modules/netdb: Substitute it.
56960 2011-04-29  Jim Meyering  <meyering@redhat.com>
56962         test-getcwd.c: avoid new set-but-not-used warning
56963         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
56964         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
56965         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
56966         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
56968         test-hash.c: avoid a new shadowing warning
56969         * tests/test-hash.c (main): Don't shadow "dup".
56971 2011-04-28  Eric Blake  <eblake@redhat.com>
56973         getaddrinfo: fix gai_strerror signature
56974         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
56975         and work around mingw with UNICODE defined.
56976         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
56977         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
56978         * modules/netdb (Makefile.am): Substitute it.
56979         * lib/netdb.in.h (gai_strerror): Declare replacement.
56980         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
56981         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
56982         the fix.
56984         getsockopt: avoid compiler warning
56985         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
56986         Reported by Matthias Bolte.
56988         tests: drop unused link dependency
56989         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
56990         * modules/dirent-safer-tests (Makefile.am): Likewise.
56991         * modules/fdopendir-tests (Makefile.am): Likewise.
56992         * modules/mkfifoat-tests (Makefile.am): Likewise.
56993         * modules/openat-safer-tests (Makefile.am): Likewise.
56994         * modules/openat-tests (Makefile.am): Likewise.
56995         * modules/readlinkat-tests (Makefile.am): Likewise.
56996         * modules/symlinkat-tests (Makefile.am): Likewise.
56997         * modules/linkat-tests (Makefile.am): Likewise.
56998         (Depends-on): Switch to filenamecat-lgpl.
56999         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
57000         LIBINTL.
57001         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
57002         * tests/test-linkat.c (main): Don't require xalloc.
57004         hash, mgetgroups: drop xalloc dependency
57005         * lib/hash.c (includes): Adjust includes.
57006         * lib/mgetgroups.c (includes): Likewise.
57007         (xgetgroups): Move...
57008         * lib/xgetgroups.c: ...to new file.
57009         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
57010         * modules/xgetgroups: New file, split from...
57011         * modules/mgetgroups: ...here.
57012         (Depends-on): Add xalloc-oversized.
57013         * modules/hash (Depends-on): Likewise.
57014         * modules/hash-tests (Depends-on): Drop xalloc.
57015         (test_hash_LDADD): Drop unused library.
57016         * tests/test-hash.c (main): Break xalloc dependency.
57017         (includes): Drop unused include.
57019         xalloc-oversized: new module
57020         * modules/xalloc-oversized: New module.
57021         * modules/xalloc (Depends-on): Add it.
57022         * lib/xalloc.h (xalloc_oversized): Move...
57023         * lib/xalloc-oversized.h: ...into new file.
57025         utimecmp: drop dependency on xmalloc
57026         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
57027         due to memory pressure.
57028         * modules/utimecmp (Depends-on): Drop xalloc.
57030 2011-04-27  Eric Blake  <eblake@redhat.com>
57032         getcwd: fix mingw bugs
57033         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
57034         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
57035         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
57037 2011-04-27  Bruno Haible  <bruno@clisp.org>
57039         mkstemps: Ensure declaration on MacOS X 10.5.
57040         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
57041         * doc/glibc-functions/mkstemps.texi: Document header file problem on
57042         MacOS X.
57044 2011-04-27  Bruno Haible  <bruno@clisp.org>
57046         mkstemp: More documentation.
57047         * doc/posix-functions/mkstemp.texi: Document header file problem on
57048         MacOS X.
57050 2011-04-27  Bruno Haible  <bruno@clisp.org>
57052         mkstemp: Tweak configure message when cross-compiling.
57053         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
57054         result as a guess.
57056 2011-04-27  Bruno Haible  <bruno@clisp.org>
57058         clean-temp: Clarify what it does.
57059         * lib/clean-temp.h: Add more comments.
57060         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
57061         module.
57062         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
57063         * doc/glibc-functions/mkstemps.texi: Likewise.
57064         * doc/glibc-functions/mkostemps.texi: Likewise.
57066 2011-04-27  Eric Blake  <eblake@redhat.com>
57068         fchdir: avoid extra chdir and fix test
57069         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
57070         getcwd-lgpl.
57071         * lib/fchdir.c (get_name): Any absolute name will do; it does not
57072         have to be canonical.
57073         (canonicalize_file_name): Drop unused macro.
57074         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
57076         filenamecat-lgpl: fix licence
57077         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
57078         when it was first created.
57080         linkat, renameat: add missing dependency
57081         * modules/linkat (Depends-on): Require getcwd-lgpl.
57082         * modules/renameat (Depends-on): Likewise.
57084         tests: reduce dependencies
57085         * tests/test-linkat.c (main): Use lighter-weight getcwd.
57086         * tests/test-renameat.c (main): Likewise.
57087         * modules/linkat-tests (Depends-on): Relax dependency.
57088         * modules/renameat-tests (Depends-on): Likewise.
57089         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
57090         dependency explicit.
57092         save-cwd: reduce default dependency
57093         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
57094         * lib/save-cwd.c: Update comments.
57095         * NEWS: Document the semantic change.
57097         getcwd: enhance tests
57098         * tests/test-getcwd-lgpl.c: New file, taken from...
57099         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
57100         repeat long path stress tests from m4 probe.
57101         * modules/getcwd-lgpl-tests: New module.
57102         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
57103         * m4/getcwd-abort-bug.m4: Update comment.
57104         * m4/getcwd-path-max.m4: Likewise.
57106         getcwd-lgpl: new module
57107         * modules/getcwd-lgpl: New module.
57108         * lib/getcwd-lgpl.c: New file.
57109         * doc/posix-functions/getcwd.texi (getcwd): Document it.
57110         * MODULES.html.sh (lacking POSIX:2008): Likewise.
57111         * modules/getcwd (configure.ac): Set C witness.
57112         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
57114         getcwd: tweak comments
57115         * m4/getcwd-abort-bug.m4: Fix comments.
57116         * m4/getcwd-path-max.m4: Likewise.
57117         * m4/getcwd.m4: Likewise.
57119 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57120         and Eric Blake  <eblake@redhat.com>
57122         mkstemp: replace if system version uses wrong permissions
57123         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
57124         read/write mode bits set in file created by mkstemp.
57125         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
57127 2011-04-27  Eric Blake  <eblake@redhat.com>
57129         passfd: avoid compiler warning
57130         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
57131         Reported by Laine Stump.
57133 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
57135         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
57136         required by the NetBSD (and perhaps other 4.4BSD derived) join.
57138 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
57139         and Eric Blake  <eblake@redhat.com>
57141         mkstemp: mention clean-temp module
57142         * lib/mkstemp.c: Add comment.
57143         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
57145 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
57147         inttypes: also provide default values for 32-bit tests
57148         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
57149         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
57151 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
57153         strtoumax: remove dependency on strtoimax
57154         This is like the strtoull change of yesterday.
57155         * modules/strtoumax (Files): Add lib/strtoimax.c.
57156         (Depends-on): Remove strtoimax and add verify.
57158         inttypes-incomplete: new module
57159         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
57160         all but the PRI* and SCN* parts of gl_INTTYPES_H.
57161         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
57162         of gl_INTTYPES_H.
57163         (gl_INTTYPES_H): Rewrite in terms of these new macros.
57164         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
57165         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
57166         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
57167         * modules/strtoumax, modules/xstrtol (Depends-on):
57168         Depend on inttypes-incomplete, not inttypes.
57169         * modules/inttypes-incomplete: New module, containing the contents
57170         of the old modules/inttypes module, except that the Files: section
57171         omits m4/inttypes-pri.m4, and the configure.ac section invokes
57172         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
57173         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
57174         (Depends-on): Depend only on inttypes-incomplete.
57175         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
57177         inttypes: omit now-redundant strtoimax and strtoumax work
57178         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
57179         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
57181         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
57182         This supports apps that need pointers to strtoimax and strtoumax,
57183         and ports to HP-UX 11.00 64.bit, which has macros that expand to
57184         nonexistent functions.  See
57185         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
57186         et seq.
57187         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
57188         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
57189         a macro.
57190         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57192 2011-04-25  Simon Josefsson  <simon@josefsson.org>
57194         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
57196 2011-04-25  Bruno Haible  <bruno@clisp.org>
57198         strtol, strtoul: Mark modules as obsolete.
57199         * modules/strtol (Status, Notice): New sections.
57200         * modules/strtoul (Status, Notice): New sections.
57202 2011-04-25  Bruno Haible  <bruno@clisp.org>
57204         strtod: Remove check for strtod, unless supporting old platforms.
57205         * modules/strtod-obsolete: New file.
57206         * m4/strtod-obsolete.m4: New file.
57207         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
57208         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
57209         * modules/strtod (Depends-on): Add strtod-obsolete.
57210         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
57212 2011-04-25  Bruno Haible  <bruno@clisp.org>
57214         strcase: Make module obsolete.
57215         * modules/strcase (Status, Notice): New sections.
57217 2011-04-25  Bruno Haible  <bruno@clisp.org>
57219         dup2: Remove check for dup2, unless supporting old obsolete platforms.
57220         * modules/dup2-obsolete: New file.
57221         * m4/dup2-obsolete.m4: New file.
57222         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
57223         gl_FUNC_DUP2_OBSOLETE is not also defined.
57224         * modules/dup2 (Depends-on): Add dup2-obsolete.
57225         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
57227 2011-04-25  Bruno Haible  <bruno@clisp.org>
57229         strnlen: Avoid memchr related link error on old obsolete platforms.
57230         * modules/memchr-obsolete: New file.
57231         * m4/memchr-obsolete.m4: New file.
57232         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
57233         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
57234         * modules/memchr (Depends-on): Add memchr-obsolete.
57235         * modules/strnlen (Depends-on): Likewise.
57236         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
57238 2011-04-25  Jim Meyering  <meyering@redhat.com>
57240         maint.mk: makefile_at_at_check extend and clean up
57241         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
57242         in addition to */Makefile.am.
57243         Exempt legitimate uses of @VAR@ notation, e.g.,
57244         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
57245         Remove obsolete coreutils-specific comment.
57246         Prompted by discussion here:
57247         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
57249 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57251         strtoul: remove dependency on strtol
57252         This is so that 'configure' need not check for strtol merely because
57253         the application needs strtoul.
57254         * modules/strtoul (Files): Add lib/strtol.c.
57255         (Depends-on): Remove strtol.
57257         strtoull: remove dependency on strtoul
57258         This is like the strtoll change.
57259         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
57260         (Depends-on): Remove strtoul.
57262         strtoll: remove dependency on strtol
57263         This is so that 'configure' need not check for strtol merely because
57264         the application needs strtoll.
57265         * modules/strtoll (Files): Add lib/strtol.c.
57266         (Depends-on): Remove strtol.
57268 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57270         inttypes: Move some configure check to module 'imaxdiv'.
57271         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
57272         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
57273         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
57275 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57277         inttypes: Move some configure check to module 'imaxabs'.
57278         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
57279         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
57280         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
57282 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57284         inttypes: Remove configure tests that are not needed since 2009-12-31.
57285         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
57286         gl_cv_header_working_inttypes_h.
57288 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57290         * modules/strnlen (Depends-on): Remove memchr.
57291         The strnlen implementation doesn't need the memchr module's fixes; see
57292         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
57294         strtol: remove dependency on wchar
57295         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
57296         * modules/strtol (Depends-on): Remove wchar.
57298 2011-04-21  Eric Blake  <eblake@redhat.com>
57300         passfd: fix test regression on Linux
57301         * modules/passfd-tests (configure.ac): Correct socketpair check.
57303         passfd: speed up configure and drop unused code
57304         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
57305         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
57306         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
57307         Instead of probing at configure for unix_scm_rights_bsd44_way,
57308         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
57309         check to a struct member probe.
57310         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
57311         (sendfd, recvfd): Update preprocessor checks.
57312         * modules/passfd (Files): Reflect rename, and drop unused file.
57313         (Depends-on): Drop unused dependency.
57315         passfd: allow compilation on mingw
57316         * modules/sys_socket (Depends-on): Add sys_uio.
57317         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
57318         iovec and a minimal struct msghdr.
57319         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
57320         * tests/test-sys_socket.c (main): Enhance test.
57321         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
57322         guaranteed to provide what we need.
57323         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
57324         * modules/passfd-tests (Depends-on): Add sys_wait.
57325         * tests/test-passfd.c (main): Skip test on mingw, for now.
57326         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
57327         partial 'struct msghdr' implementation.
57329         sys_uio: new module
57330         * modules/sys_uio: New module.
57331         * modules/sys_uio-tests: Likewise.
57332         * lib/sys_uio.in.h: New file.
57333         * m4/sys_uio_h.m4: Likewise.
57334         * tests/test-sys_uio.c: Likewise.
57335         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
57336         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
57338 2011-04-20  Jim Meyering  <meyering@redhat.com>
57340         useless-if-before-free: avoid false-positive
57341         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
57342         disjunct so that it too requires a terminating ";".  Without that,
57343         this script would identify as useless one statement from gcc that
57344         was not:
57345           if (aligned_ptr)
57346             free (((void **) aligned_ptr) [-1]);
57348 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
57350         doc: update users.txt.
57351         * users.txt: Add barcode.
57353 2011-04-19  Bruno Haible  <bruno@clisp.org>
57355         ioctl: Remove link dependency on native Windows.
57356         * lib/fd-hook.h: Renamed from lib/close-hook.h.
57357         (gl_close_fn, gl_ioctl_fn): New types.
57358         (struct fd_hook): Renamed from struct close_hook. Change type of
57359         private_close_fn field. Add private_ioctl_fn field.
57360         (close_hook_fn): Add parameter for primary close method.
57361         (execute_close_hooks, execute_all_close_hooks): Likewise.
57362         (ioctl_hook_fn): New type.
57363         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
57364         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57365         argument.
57366         (unregister_fd_hook): Renamed from unregister_close_hook.
57367         * lib/fd-hook.c: Renamed from lib/close-hook.c.
57368         Don't include <unistd.h>.
57369         (close): Remove undef.
57370         (anchor): Update.
57371         (execute_close_hooks): Add argument for primary close method.
57372         (execute_all_close_hooks): Likewise.
57373         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
57374         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57375         argument. Allow each argument to be NULL.
57376         (unregister_fd_hook): Renamed from unregister_close_hook.
57377         * lib/close.c (rpl_close): Pass 'close' function pointer to
57378         execute_all_close_hooks.
57379         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
57380         (primary_ioctl): New function.
57381         (ioctl): Don't call ioctlsocket here. Instead, call
57382         execute_all_ioctl_hooks.
57383         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
57384         close method.
57385         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
57386         (fd_sockets_hook): Renamed from close_sockets_hook.
57387         (gl_sockets_startup, gl_sockets_cleanup): Update.
57388         * modules/fd-hook: Renamed from modules/close-hook. Update.
57389         * modules/close (Depends-on): Add fd-hook, remove close-hook.
57390         * modules/sockets (Depends-on): Likewise.
57391         * modules/ioctl (Depends-on): Add fd-hook.
57392         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
57393         GNULIB_SOCKET.
57395 2011-04-19  Bruno Haible  <bruno@clisp.org>
57397         Move the support of O_NONBLOCK in open() to the 'open' module.
57398         * modules/nonblocking (Depends-on): Remove 'open'.
57399         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
57400         gl_cv_have_open_O_NONBLOCK.
57401         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
57402         O_NONBLOCK support.
57403         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
57405 2011-04-17  Bruno Haible  <bruno@clisp.org>
57407         pipe2: Simplify code.
57408         * lib/pipe2.c (pipe2): Reduce code duplication.
57410 2011-04-17  Bruno Haible  <bruno@clisp.org>
57412         nonblocking: Add comment.
57413         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
57415 2011-04-17  Bruno Haible  <bruno@clisp.org>
57417         nonblocking: Add tests for sockets.
57418         * tests/test-nonblocking-socket.sh: New file.
57419         * tests/test-nonblocking-socket-main.c: New file.
57420         * tests/test-nonblocking-socket-child.c: New file.
57421         * tests/test-nonblocking-socket.h: New file.
57422         * tests/socket-server.h: New file.
57423         * tests/socket-client.h: New file.
57424         * modules/nonblocking-socket-tests: New file.
57425         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
57427 2011-04-17  Bruno Haible  <bruno@clisp.org>
57429         nonblocking: Add tests for pipes.
57430         * tests/test-nonblocking-pipe.sh: New file.
57431         * tests/test-nonblocking-pipe-main.c: New file.
57432         * tests/test-nonblocking-pipe-child.c: New file.
57433         * tests/test-nonblocking-pipe.h: New file.
57434         * tests/test-nonblocking-writer.h: New file.
57435         * tests/test-nonblocking-reader.h: New file.
57436         * tests/test-nonblocking-misc.h: New file.
57437         * modules/nonblocking-pipe-tests: New file.
57438         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
57440 2011-04-16  Bruno Haible  <bruno@clisp.org>
57442         gettext: Clarify the needed programmer actions.
57443         * modules/gettext (Notice): New field.
57444         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57446 2011-04-16  Bruno Haible  <bruno@clisp.org>
57448         strchrnul: Tweak last commit.
57449         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
57450         bug.
57451         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
57452         as in _GL_FUNCDECL_SYS.
57453         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
57454         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
57456 2011-04-15  Eric Blake  <eblake@redhat.com>
57458         strchrnul: work around cygwin bug
57459         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
57460         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
57461         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
57462         * modules/string (Makefile.am): Substitute it.
57463         * lib/string.in.h (strchrnul): Use it.
57465 2011-04-15  Bruno Haible  <bruno@clisp.org>
57467         Don't require lib/stdio-write.c when only module 'stdio' is used.
57468         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
57469         invocation.
57470         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
57472 2011-04-14  Bruno Haible  <bruno@clisp.org>
57474         Support non-blocking pipe I/O in read() on native Windows.
57475         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
57476         (read): New declaration.
57477         * lib/read.c: New file.
57478         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
57479         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
57480         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
57481         vscanf): New declarations.
57482         * lib/stdio-read.c: New file.
57483         * m4/read.m4: New file.
57484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
57485         REPLACE_READ.
57486         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
57487         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57488         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
57489         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
57490         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
57491         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57492         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57493         * modules/read: New file.
57494         * modules/nonblocking (Files): Add lib/stdio-read.c.
57495         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
57496         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
57497         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57498         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57499         * modules/pread (Depends-on): Add read.
57500         * modules/safe-read (Depends-on): Likewise.
57501         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
57502         gets, scanf, vfscanf, vscanf): Verify signatures.
57503         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
57504         problem with non-blocking pipes.
57505         * doc/posix-functions/fgetc.texi: Likewise.
57506         * doc/posix-functions/fgets.texi: Likewise.
57507         * doc/posix-functions/fread.texi: Likewise.
57508         * doc/posix-functions/fscanf.texi: Likewise.
57509         * doc/posix-functions/getc.texi: Likewise.
57510         * doc/posix-functions/getchar.texi: Likewise.
57511         * doc/posix-functions/gets.texi: Likewise.
57512         * doc/posix-functions/scanf.texi: Likewise.
57513         * doc/posix-functions/vfscanf.texi: Likewise.
57514         * doc/posix-functions/vscanf.texi: Likewise.
57516 2011-04-14  Bruno Haible  <bruno@clisp.org>
57518         Support non-blocking pipe I/O in write() on native Windows.
57519         * lib/write.c (rpl_write): Split a write request that failed merely
57520         because the byte count was larger than the pipe buffer's size.
57521         * doc/posix-functions/write.texi: Mention the problem with large byte
57522         counts.
57524 2011-04-14  Bruno Haible  <bruno@clisp.org>
57526         wchar: Ensure that wchar_t gets defined on uClibc.
57527         * lib/wchar.in.h: On uClibc, include <stddef.h>.
57528         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
57530 2011-04-13  Bruno Haible  <bruno@clisp.org>
57532         safe-write, full-read: Avoid unnecessary compilation units.
57533         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
57534         (Depends-on): Remove safe-read. Add ssize_t.
57535         * modules/full-read (Files): Add lib/full-write.c.
57536         (Depends-on): Add full-write.
57538 2011-04-13  Bruno Haible  <bruno@clisp.org>
57540         Support non-blocking pipe I/O and SIGPIPE in pwrite().
57541         * modules/pwrite (Depends-on): Add 'write'.
57543 2011-04-13  Bruno Haible  <bruno@clisp.org>
57545         Support non-blocking pipe I/O in write() on native Windows.
57546         * lib/unistd.in.h (write): Enable replacement also if
57547         GNULIB_UNISTD_H_NONBLOCKING is 1.
57548         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
57549         (rpl_write): When failing to write on a non-blocking pipe, change
57550         errno from ENOSPC to EAGAIN.
57551         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
57552         putchar, puts, vfprintf, vprintf): Enable replacement also if
57553         GNULIB_STDIO_H_NONBLOCKING is 1.
57554         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
57555         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
57556         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
57557         CALL_WITH_SIGPIPE_EMULATION.
57558         (CALL_WITH_SIGPIPE_EMULATION): Use them.
57559         * m4/nonblocking.m4: New file.
57560         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
57561         for non-blocking I/O support.
57562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57563         GNULIB_UNISTD_H_NONBLOCKING.
57564         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
57565         required for non-blocking I/O support.
57566         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
57567         * modules/nonblocking (Files): Add m4/nonblocking.m4,
57568         lib/stdio-write.c, m4/asm-underscore.m4.
57569         (Depends-on): Add stdio, unistd.
57570         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
57571         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
57572         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
57573         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
57574         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
57575         problem with non-blocking pipes.
57576         * doc/posix-functions/fputc.texi: Likewise.
57577         * doc/posix-functions/fputs.texi: Likewise.
57578         * doc/posix-functions/fwrite.texi: Likewise.
57579         * doc/posix-functions/printf.texi: Likewise.
57580         * doc/posix-functions/putc.texi: Likewise.
57581         * doc/posix-functions/putchar.texi: Likewise.
57582         * doc/posix-functions/puts.texi: Likewise.
57583         * doc/posix-functions/vfprintf.texi: Likewise.
57584         * doc/posix-functions/vprintf.texi: Likewise.
57585         * doc/posix-functions/write.texi: Likewise.
57587 2011-04-10  Jim Meyering  <meyering@redhat.com>
57589         maint.mk: prohibit doubled words
57590         Detect them also when they're separated by a newline.
57591         There are 3 ways to customize it:
57592           - disable the test on a per file basis, as usual with rules using
57593             $(VC_LIST_EXCEPT)
57594           - replace the default doubled-word-selecting regexp (affects all files)
57595           - ignore a particular file-vs-doubled-word match
57596         I nearly used that last one to ignore the "is is" match in
57597         coreutils' NEWS file, since the text was "ls -is is ..."
57598         To do that, I would have added this line to cfg.mk:
57599           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
57600         but it would have ignored any "is is" match in NEWS.
57601         Low probability, but still...
57602         Instead, I changed the text, slightly:
57603           -  ls -is is now consistent with ls -lis in ignoring values returned
57604           +  "ls -is" is now consistent with ls -lis in ignoring values returned
57605         * top/maint.mk (prohibit_double_word_RE_): Provide default.
57606         (prohibit_doubled_word_): Define.
57607         (sc_prohibit_doubled_word): New rule.
57608         (sc_prohibit_the_the): Remove.  Subsumed by the above.
57610 2011-04-10  Jim Meyering  <meyering@redhat.com>
57612         maint: fix doubled-word typo in comment
57613         * m4/gethostname.m4: s/is is/it is/
57614         * m4/getdomainname.m4: Likewise.
57616 2011-04-10  Jim Meyering  <meyering@redhat.com>
57618         maint: remove doubled word: s/it it/it/
57619         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
57621 2011-04-10  Jim Meyering  <meyering@redhat.com>
57623         maint.mk: remove useless semicolon and backslash
57624         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
57625         semicolon and backslash.
57627 2011-04-10  Bruno Haible  <bruno@clisp.org>
57629         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
57630         * modules/stdint-tests (Depends-on): Add wchar.
57632 2011-04-10  Jim Meyering  <meyering@redhat.com>
57634         maint: remove doubled words in comments, e.g., s/a a/a/
57635         * lib/strptime.c (day_of_the_week): s/the the/the/
57636         * tests/test-chown.h (test_chown): s/a a/a/
57638         test-chown.h: correct a cast
57639         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
57640         when the destination is a stat.st_gid.
57642 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
57644         getaddrinfo: Fix test for sa_len member.
57645         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
57646         include <sys/types.h> before <sys/socket.h>.
57648 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57650         maint: change "can not" to "cannot"
57651         * doc/posix-functions/iconv.texi (iconv): This one crossed line
57652         boundaries.
57654 2011-04-09  Jim Meyering  <meyering@redhat.com>
57656         maint: change "a a" to "a"
57657         * tests/test-lchown.h (test_lchown): s/a a/a/
57659         maint.mk: prohibit \<the the\>
57660         * top/maint.mk (sc_prohibit_the_the): New rule.
57662         maint: fix "the the" in comment
57663         * lib/count-one-bits.h: s/the the/the/
57665         maint: change "can not" to "cannot"
57666         But do not change the occurrences in maintain.texi or in
57667         build-aux/po/Makefile.in.in, which I presume comes from gettext.
57668         * doc/gnulib-tool.texi: s/can not/cannot/
57669         * doc/posix-functions/accept.texi (accept): Likewise.
57670         * doc/posix-functions/socket.texi (socket): Likewise.
57671         * lib/mbrtowc.c: Likewise.
57673         maint.mk: prohibit use of "can not"
57674         * top/maint.mk (sc_prohibit_can_not): New rule.
57675         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
57677 2011-04-09  Bruno Haible  <bruno@clisp.org>
57679         careadlinkat: Guard against misuse of careadlinkatcwd.
57680         * lib/careadlinkat.c: Include <stdlib.h>.
57681         (careadlinkatcwd): Check that the fd argument is as expected.
57683 2011-04-09  Bruno Haible  <bruno@clisp.org>
57685         careadlinkat: Use common coding style.
57686         * lib/careadlinkat.c: Move gnulib includes after system includes.
57688 2011-04-09  Bruno Haible  <bruno@clisp.org>
57690         careadlinkat: Clarify specification.
57691         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
57692         (careadlinkatcwd): Add comment.
57693         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
57695 2011-04-09  Bruno Haible  <bruno@clisp.org>
57697         areadlinkat: Avoid link error on many platforms.
57698         * modules/areadlinkat (Depends-on): Add areadlink.
57700 2011-04-09  Bruno Haible  <bruno@clisp.org>
57702         allocator, careadlinkat: Fix double-inclusion guard.
57703         * lib/allocator.h: Fix double-inclusion guard.
57704         * lib/careadlinkat.h: Likewise.
57706 2011-04-09  Bruno Haible  <bruno@clisp.org>
57708         relocatable-prog-wrapper: Update after module 'areadlink' changed.
57709         * lib/relocwrapper.c: Update dependencies hierarchy.
57710         * build-aux/install-reloc: Update list of files to be compiled.
57711         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
57712         lib/allocator.[hc].
57714 2011-04-08  Eric Blake  <eblake@redhat.com>
57716         strftime: silence gnulib-tool warning
57717         * modules/strftime-tests (Depends-on): Drop automatic dependency.
57719 2011-04-08  Bruno Haible  <bruno@clisp.org>
57721         verify: Fix syntax error with GCC 4.6 in C++ mode.
57722         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
57723         (HAVE_STATIC_ASSERT): New macro.
57724         (verify_true, verify): Use 'static_assert' if it is supported and
57725         '_Static_assert' is not supported.
57727 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
57729         allocator: New module.
57730         * modules/allocator, lib/allocator.c: New files.
57731         * lib/allocator.h (stdlib_allocator): New decl.
57732         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
57733         Remove.  Do not include <stdlib.h>.
57734         (careadlinkat): Use stdlib_allocator instead of rolling our own.
57735         * modules/careadlinkat (Files): Remove lib/allocator.h.
57736         (Depends-on): Add allocator.
57738         stdlib: let modules use system malloc, realloc
57739         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
57740         if !_GL_USE_STDLIB_ALLOC.
57741         (malloc, realloc): Limit this change to a smaller scope.
57743         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
57744         (malloc, realloc): Don't #undef; no longer needed.
57745         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57746         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57747         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57748         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57749         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57750         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57751         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57752         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57754         careadlinkat: rename members to avoid problem
57755         * lib/allocator.h (struct allocator): Rename members from
57756         malloc/realloc to allocate/reallocate, to avoid problems if malloc
57757         and realloc are #define'd.  Reported by Eric Blake in
57758         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
57759         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
57761 2011-04-08  Eric Blake  <eblake@redhat.com>
57763         nonblocking: reduce dependency
57764         * tests/test-nonblocking.c: Only test sockets when in use.
57765         * modules/nonblocking-tests (Depends-on): Drop socket.
57766         (Makefile.am): Link even if sockets are not present.
57767         * modules/pipe2-tests (Makefile.am): Likewise.
57768         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
57770         pipe2: fix O_NONBLOCK support on mingw
57771         * modules/pipe2 (Depends-on): Add nonblocking.
57772         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
57773         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
57774         * tests/test-nonblocking.c (main): Likewise.
57775         * modules/pipe2-tests (Makefile.am): Avoid link failure.
57777         fcntl-h: fix O_ACCMODE on cygwin
57778         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
57779         * lib/fcntl.in.h (O_ACCMODE): Fix it.
57781         pipe-filter: drop O_NONBLOCK workarounds
57782         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
57783         * modules/pipe-filter-ii (Depends-on): Likewise.
57784         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
57786         nonblocking: provide O_NONBLOCK for mingw
57787         * modules/nonblocking (Depends-on): Add open.
57788         (configure.ac): Set new witness macro.
57789         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
57790         * modules/fcntl-h (Makefile.am): Substitute it.
57791         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
57792         nonblocking module is in use.
57793         * lib/nonblocking.c: Adjust portability test.
57794         * lib/open.c (open): Don't let native open see gnulib flag.
57795         * tests/test-fcntl-h.c (main): Enhance test.
57796         * tests/test-open.h (test_open): Likewise.
57797         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
57799         careadlinkat: fix compilation error on mingw
57800         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
57801         within struct allocator.
57803 2011-04-06  Eric Blake  <eblake@redhat.com>
57805         binary-io: relicense under LGPLv2+
57806         * modules/binary-io (License): Relax to LGPLv2+.
57807         Requested for libvirt, and required by pipe2.
57809 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
57811         verify: use _Static_assert if available
57812         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
57813         (verify_true, verify): Use it if available.  This generates better
57814         diagnostics with GCC 4.6.0 and later.
57816 2011-04-05  Bruno Haible  <bruno@clisp.org>
57818         Remove leftover generated .h files after config.status changed.
57820         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
57821         GL_GENERATE_ALLOCA_H.
57822         * modules/alloca-opt (Makefile.am): Remove alloca.h if
57823         GL_GENERATE_ALLOCA_H evaluates to false.
57825         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
57826         GL_GENERATE_ARGZ_H.
57827         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
57828         evaluates to false.
57830         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
57831         GL_GENERATE_BYTESWAP_H.
57832         * modules/byteswap (Makefile.am): Remove byteswap.h if
57833         GL_GENERATE_BYTESWAP_H evaluates to false.
57835         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
57836         GL_GENERATE_ERRNO_H.
57837         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
57838         evaluates to false.
57840         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
57841         GL_GENERATE_FLOAT_H.
57842         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
57843         evaluates to false.
57845         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
57846         GL_GENERATE_FNMATCH_H.
57847         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
57848         GL_GENERATE_FNMATCH_H evaluates to false.
57850         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
57851         GL_GENERATE_GLOB_H.
57852         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
57853         evaluates to false.
57855         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
57856         automake conditional GL_GENERATE_ICONV_H.
57857         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
57858         evaluates to false.
57860         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
57861         GL_GENERATE_NETINET_IN_H.
57862         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
57863         GL_GENERATE_NETINET_IN_H evaluates to false.
57865         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
57866         conditional GL_GENERATE_PTHREAD_H.
57867         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
57868         * modules/pthread (Makefile.am): Remove pthread.h if
57869         GL_GENERATE_PTHREAD_H evaluates to false.
57871         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
57872         GL_GENERATE_SCHED_H.
57873         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
57874         evaluates to false.
57876         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
57877         conditional GL_GENERATE_SELINUX_CONTEXT_H.
57878         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
57879         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
57881         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
57882         GL_GENERATE_STDARG_H.
57883         * modules/stdarg (Makefile.am): Remove stdarg.h if
57884         GL_GENERATE_STDARG_H evaluates to false.
57886         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
57887         GL_GENERATE_STDBOOL_H.
57888         * modules/stdbool (Makefile.am): Remove stdbool.h if
57889         GL_GENERATE_STDBOOL_H evaluates to false.
57891         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
57892         conditional GL_GENERATE_STDDEF_H.
57893         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
57894         * modules/stddef (Makefile.am): Remove stddef.h if
57895         GL_GENERATE_STDDEF_H evaluates to false.
57897         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
57898         GL_GENERATE_STDINT_H.
57899         * modules/stdint (Makefile.am): Remove stdint.h if
57900         GL_GENERATE_STDINT_H evaluates to false.
57902         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
57903         GL_GENERATE_SYSEXITS_H.
57904         * modules/sysexits (Makefile.am): Remove sysexits.h if
57905         GL_GENERATE_SYSEXITS_H evaluates to false.
57907         Reported by Karl Berry and Ralf Wildenhues.
57909 2011-04-05  Bruno Haible  <bruno@clisp.org>
57911         Ensure to rebuild generated .h files when config.status has changed.
57912         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
57913         config.status.
57914         * modules/ctype (Makefile.am): Likewise.
57915         * modules/dirent (Makefile.am): Likewise.
57916         * modules/errno (Makefile.am): Likewise.
57917         * modules/fcntl-h (Makefile.am): Likewise.
57918         * modules/float (Makefile.am): Likewise.
57919         * modules/getopt-posix (Makefile.am): Likewise.
57920         * modules/glob (Makefile.am): Likewise.
57921         * modules/iconv-h (Makefile.am): Likewise.
57922         * modules/inttypes (Makefile.am): Likewise.
57923         * modules/langinfo (Makefile.am): Likewise.
57924         * modules/locale (Makefile.am): Likewise.
57925         * modules/math (Makefile.am): Likewise.
57926         * modules/netdb (Makefile.am): Likewise.
57927         * modules/netinet_in (Makefile.am): Likewise.
57928         * modules/poll-h (Makefile.am): Likewise.
57929         * modules/pthread (Makefile.am): Likewise.
57930         * modules/pty (Makefile.am): Likewise.
57931         * modules/sched (Makefile.am): Likewise.
57932         * modules/search (Makefile.am): Likewise.
57933         * modules/selinux-h (Makefile.am): Likewise.
57934         * modules/signal (Makefile.am): Likewise.
57935         * modules/spawn (Makefile.am): Likewise.
57936         * modules/stdarg (Makefile.am): Likewise.
57937         * modules/stdbool (Makefile.am): Likewise.
57938         * modules/stddef (Makefile.am): Likewise.
57939         * modules/stdint (Makefile.am): Likewise.
57940         * modules/stdio (Makefile.am): Likewise.
57941         * modules/stdlib (Makefile.am): Likewise.
57942         * modules/string (Makefile.am): Likewise.
57943         * modules/strings (Makefile.am): Likewise.
57944         * modules/sys_file (Makefile.am): Likewise.
57945         * modules/sys_ioctl (Makefile.am): Likewise.
57946         * modules/sys_select (Makefile.am): Likewise.
57947         * modules/sys_socket (Makefile.am): Likewise.
57948         * modules/sys_stat (Makefile.am): Likewise.
57949         * modules/sys_time (Makefile.am): Likewise.
57950         * modules/sys_times (Makefile.am): Likewise.
57951         * modules/sys_utsname (Makefile.am): Likewise.
57952         * modules/sys_wait (Makefile.am): Likewise.
57953         * modules/sysexits (Makefile.am): Likewise.
57954         * modules/termios (Makefile.am): Likewise.
57955         * modules/time (Makefile.am): Likewise.
57956         * modules/unistd (Makefile.am): Likewise.
57957         * modules/wchar (Makefile.am): Likewise.
57958         * modules/wctype-h (Makefile.am): Likewise.
57959         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
57961 2011-04-05  Bruno Haible  <bruno@clisp.org>
57963         pipe2: Relicense under LGPLv2+.
57964         * modules/pipe2 (License): Change to LGPLv2+.
57965         Requested by Eric Blake, for libvirt.
57967 2011-04-05  Bruce Korb  <bkorb@gnu.org>
57969         bootstrap: compute gnulib_extra_files after updating build_aux
57970         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
57971         change build_aux or also supply gnulib_extra_files.  Handle correctly.
57973 2011-04-05  Eric Blake  <eblake@redhat.com>
57975         bootstrap: preserve git whitelist item sorting
57976         * build-aux/bootstrap (sort_patterns): New function.
57977         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
57979 2011-04-05  Simon Josefsson  <simon@josefsson.org>
57981         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
57982         sc_space_tab check.
57984 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
57986         areadlink, areadlinkat: rewrite in terms of careadlinkat
57987         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
57988         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
57989         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
57990         (malloc, realloc): Remove #undefs.
57991         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
57992         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
57993         readlink, ssize_t, stdint, unistd.
57994         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
57995         areadlink, stdint.
57997         careadlinkat: new module
57998         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
57999         * modules/careadlinkat: New files, written by me with
58000         a review and feedback from Ben Pfaff in
58001         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
58003 2011-04-01  Bruno Haible  <bruno@clisp.org>
58005         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
58006         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
58007         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
58008         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
58009         Reported by Bruce Korb <bruce.korb@gmail.com>.
58011 2011-04-01  Bruno Haible  <bruno@clisp.org>
58013         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
58014         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
58015         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
58016         * modules/wcpcpy (Depends-on): Add extensions.
58017         * modules/wcpncpy (Depends-on): Likewise.
58018         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
58019         systems.
58020         * doc/posix-functions/wcpncpy.texi: Likewise.
58021         * doc/posix-functions/wcwidth.texi: Likewise.
58023 2011-03-31  Eric Blake  <eblake@redhat.com>
58025         nonblocking: fix mingw test failures
58026         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
58027         non-blocking flag on regular file.
58028         (get_nonblocking_flag): Set errno on invalid fd.
58029         * tests/test-nonblocking.c (main): Avoid test failure on
58030         directories if fchdir is not active.
58031         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
58033 2011-03-31  Bruno Haible  <bruno@clisp.org>
58035         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
58036         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
58037         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
58038         Reported by Simon Josefsson <simon@josefsson.org>.
58040 2011-03-31  Bruno Haible  <bruno@clisp.org>
58041         and Eric Blake  <eblake@redhat.com>
58043         nonblocking: new module
58044         * modules/nonblocking: New module.
58045         * modules/nonblocking-tests: Likewise.
58046         * lib/nonblocking.h: New file.
58047         * lib/nonblocking.c: Likewise.
58048         * tests/test-nonblocking.c: New test.
58049         * lib/ioctl.c (ioctl) [mingw]: Update comment.
58051 2011-03-30  Bruno Haible  <bruno@clisp.org>
58053         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
58054         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
58055         instead of 'printf' format for GCC >= 4.4.
58056         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
58057         (fprintf, printf, vfprintf, vprintf): Declare with
58058         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
58059         the system's vfprintf() function.
58060         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
58062 2011-03-30  Eric Blake  <eblake@redhat.com>
58064         passfd: fix scoping bug
58065         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
58066         before sendmsg/recvmsg.
58068         passfd: standardize coding conventions
58069         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
58070         can be learned at compile time.
58071         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
58072         ifdefs.
58073         (sendfd, recvfd): Follow gnulib code conventions.
58075         passfd: fix incorrect sendmsg arguments
58076         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
58077         incorrect msg_controllen value.
58078         * modules/passfd-tests (Depends-on): Check for alarm.
58079         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
58080         Reported by Bastien ROUCARIES.
58082 2011-03-30  Bruno Haible  <bruno@clisp.org>
58084         c-strcasestr: Relicense under LGPLv2+.
58085         * modules/c-strcasestr (License): Change to LGPLv2+.
58086         Requested by Eric Blake, for libvirt.
58088 2011-03-30  Simon Josefsson  <simon@josefsson.org>
58090         * users.txt: Add libidn2.  Fix libtasn1 link.
58092 2011-03-30  Jim Meyering  <meyering@redhat.com>
58094         tests: readlink* ("",... fails with EINVAL on newer kernels
58095         readlink and readlinkat have typically failed with ENOENT for
58096         the invalid, empty file name,  "".  However, with the advent
58097         of linux-2.6.39, they fail with EINVAL.
58098         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
58099         when operating on the empty file name.
58100         * tests/test-readlink.h (test_readlink): Likewise.
58102 2011-03-29  Bruno Haible  <bruno@clisp.org>
58104         Relicense some modules under LGPLv2+, for libidn2.
58105         * modules/array-mergesort (License): Change to LGPLv2+.
58106         * modules/c-strcaseeq (License): Likewise.
58107         * modules/striconveh (License): Likewise.
58108         * modules/striconveha (License): Likewise.
58109         * modules/uniconv/base (License): Likewise.
58110         * modules/uniconv/u8-conv-from-enc (License): Likewise.
58111         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
58112         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
58113         * modules/unictype/base (License): Likewise.
58114         * modules/unictype/bidiclass-of (License): Likewise.
58115         * modules/unictype/category-M (License): Likewise.
58116         * modules/unictype/category-none (License): Likewise.
58117         * modules/unictype/category-of (License): Likewise.
58118         * modules/unictype/category-test (License): Likewise.
58119         * modules/unictype/category-test-withtable (License): Likewise.
58120         * modules/unictype/combining-class (License): Likewise.
58121         * modules/unictype/joiningtype-of (License): Likewise.
58122         * modules/unictype/scripts (License): Likewise.
58123         * modules/uninorm/base (License): Likewise.
58124         * modules/uninorm/canonical-decomposition (License): Likewise.
58125         * modules/uninorm/composition (License): Likewise.
58126         * modules/uninorm/decompose-internal (License): Likewise.
58127         * modules/uninorm/decomposition-table (License): Likewise.
58128         * modules/uninorm/nfc (License): Likewise.
58129         * modules/uninorm/nfd (License): Likewise.
58130         * modules/uninorm/u32-normalize (License): Likewise.
58131         * modules/unistr/base (License): Likewise.
58132         * modules/unistr/u32-cpy (License): Likewise.
58133         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
58134         * modules/unistr/u32-to-u8 (License): Likewise.
58135         * modules/unistr/u32-uctomb (License): Likewise.
58136         * modules/unistr/u8-check (License): Likewise.
58137         * modules/unistr/u8-mblen (License): Likewise.
58138         * modules/unistr/u8-mbtouc (License): Likewise.
58139         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
58140         * modules/unistr/u8-mbtoucr (License): Likewise.
58141         * modules/unistr/u8-prev (License): Likewise.
58142         * modules/unistr/u8-strlen (License): Likewise.
58143         * modules/unistr/u8-to-u32 (License): Likewise.
58144         * modules/unistr/u8-uctomb (License): Likewise.
58145         * modules/unitypes (License): Likewise.
58146         Requested by Simon Josefsson.
58148 2011-03-29  Simon Josefsson  <simon@josefsson.org>
58150         lib-symbol-visibility: Add a notice.
58151         * modules/lib-symbol-visibility (Notice): New field.
58153 2011-03-29  Bruno Haible  <bruno@clisp.org>
58155         getaddrinfo: Doc fix.
58156         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
58157         section "fixed in Gnulib".
58159 2011-03-28  Simon Josefsson  <simon@josefsson.org>
58161         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
58162         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
58164 2011-03-26  Bruno Haible  <bruno@clisp.org>
58166         unictype/property-byname: Reduce the number of load-time relocations.
58167         * lib/unictype/pr_byname.c: Include <stdlib.h>.
58168         (UC_PROPERTY_INDEX_*): New enumeration values.
58169         (uc_property_byname): Convert an index from the lookup table to an
58170         uc_property_t.
58171         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
58172         values.
58174 2011-03-26  Bruno Haible  <bruno@clisp.org>
58176         unictype/property-byname: Allow omitted word separators and aliases.
58177         * lib/unictype/pr_byname.gperf: Add property names without word
58178         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
58179         for 'space'.
58181 2011-03-26  Bruno Haible  <bruno@clisp.org>
58183         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
58184         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
58185         also hyphens to space.
58186         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
58187         without spaces.
58188         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
58190 2011-03-26  Bruno Haible  <bruno@clisp.org>
58192         unictype/joiningtype-byname: Recognize long names as well.
58193         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
58194         a long name.
58195         * lib/unictype/joiningtype_byname.c: Include <string.h>,
58196         unictype/joiningtype_byname.h.
58197         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
58198         * lib/unictype/joiningtype_byname.gperf: New file.
58199         * modules/unictype/joiningtype-byname (Files): Add
58200         lib/unictype/joiningtype_byname.gperf.
58201         (Depends-on): Add gperf.
58202         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
58203         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
58204         long names.
58206         Tests for module 'unictype/joiningtype-longname'.
58207         * modules/unictype/joiningtype-longname-tests: New file.
58208         * tests/unictype/test-joiningtype_longname.c: New file.
58210         New module 'unictype/joiningtype-longname'.
58211         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
58212         * lib/unictype/joiningtype_longname.c: New file.
58213         * modules/unictype/joiningtype-longname: New file.
58214         * modules/unictype/joiningtype-all (Depends-on): Add
58215         unictype/joiningtype-longname.
58217 2011-03-26  Bruno Haible  <bruno@clisp.org>
58219         unictype/bidiclass-byname: Recognize long names as well.
58220         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
58221         name.
58222         * lib/unictype/bidi_byname.c: Include <string.h>,
58223         unictype/bidi_byname.h.
58224         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
58225         * lib/unictype/bidi_byname.gperf: New file.
58226         * modules/unictype/bidiclass-byname (Files): Add
58227         lib/unictype/bidi_byname.gperf.
58228         (Depends-on): Add gperf.
58229         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
58230         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
58231         long names.
58233         Tests for module 'unictype/bidiclass-longname'.
58234         * modules/unictype/bidiclass-longname-tests: New file.
58235         * tests/unictype/test-bidi_longname.c: New file.
58237         New module 'unictype/bidiclass-longname'.
58238         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
58239         * lib/unictype/bidi_longname.c: New file.
58240         * modules/unictype/bidiclass-longname: New file.
58241         * modules/unictype/bidiclass-all (Depends-on): Add
58242         unictype/bidiclass-longname.
58244 2011-03-26  Bruno Haible  <bruno@clisp.org>
58246         unictype/bidi*: Rename modules.
58247         * modules/unictype/bidiclass-all: Renamed from
58248         modules/unictype/bidicategory-all.
58249         * modules/unictype/bidiclass-name: Renamed from
58250         modules/unictype/bidiclass-name.
58251         (Description): Update.
58252         * modules/unictype/bidiclass-name-tests: Renamed from
58253         modules/unictype/bidicategory-name-tests.
58254         * modules/unictype/bidiclass-byname: Renamed from
58255         modules/unictype/bidicategory-byname.
58256         (Description): Update.
58257         * modules/unictype/bidiclass-byname-tests: Renamed from
58258         modules/unictype/bidicategory-byname-tests.
58259         * modules/unictype/bidiclass-of: Renamed from
58260         modules/unictype/bidicategory-of.
58261         (Description): Update.
58262         * modules/unictype/bidiclass-of-tests: Renamed from
58263         modules/unictype/bidicategory-of-tests.
58264         * modules/unictype/bidiclass-test: Renamed from
58265         modules/unictype/bidicategory-test.
58266         (Description): Update.
58267         * modules/unictype/bidiclass-test-tests: Renamed from
58268         modules/unictype/bidicategory-test-tests.
58269         * modules/unictype/bidicategory-all: New file, a simple redirection.
58270         * modules/unictype/bidicategory-name: Likewise.
58271         * modules/unictype/bidicategory-byname: Likewise.
58272         * modules/unictype/bidicategory-of: Likewise.
58273         * modules/unictype/bidicategory-test: Likewise.
58274         * modules/unictype/property-bidi-* (Dependencies): Update.
58275         * lib/unictype/bidi_*.c: Update comment.
58277 2011-03-26  Bruno Haible  <bruno@clisp.org>
58279         unictype/bidi*: Rename functions, part 2.
58280         * modules/unictype/bidicategory-name (configure.ac): Update required
58281         libunistring version.
58282         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
58284 2011-03-25  Bruno Haible  <bruno@clisp.org>
58286         New module 'unictype/combining-class-all'.
58287         * modules/unictype/combining-class-all: New file.
58289         Tests for module 'unictype/combining-class-byname'.
58290         * modules/unictype/combining-class-byname-tests: New file.
58291         * tests/unictype/test-combiningclass_byname.c: New file.
58293         New module 'unictype/combining-class-byname'.
58294         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
58295         * lib/unictype/combiningclass_byname.c: New file.
58296         * lib/unictype/combiningclass_byname.gperf: New file.
58297         * modules/unictype/combining-class-byname: New file.
58299         Tests for module 'unictype/combining-class-longname'.
58300         * modules/unictype/combining-class-longname-tests: New file.
58301         * tests/unictype/test-combiningclass_longname.c: New file.
58303         New module 'unictype/combining-class-longname'.
58304         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
58305         * lib/unictype/combiningclass_longname.c: New file.
58306         * modules/unictype/combining-class-longname: New file.
58308         Tests for module 'unictype/combining-class-name'.
58309         * modules/unictype/combining-class-name-tests: New file.
58310         * tests/unictype/test-combiningclass_name.c: New file.
58312         New module 'unictype/combining-class-name'.
58313         * lib/unictype.in.h (uc_combining_class_name): New declaration.
58314         * lib/unictype/combiningclass_name.c: New file.
58315         * modules/unictype/combining-class-name: New file.
58317 2011-03-25  Bruno Haible  <bruno@clisp.org>
58319         unictype/combining-class: Rename source files.
58320         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
58321         of unictype/combining.h.
58322         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
58323         Update.
58324         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
58325         * modules/unictype/combining-class (Description): Fix.
58326         (Files, Makefile.am): Update.
58327         * tests/unictype/test-combiningclass.c: Renamed from
58328         tests/unictype/test-combining.c.
58329         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
58331 2011-03-25  Bruno Haible  <bruno@clisp.org>
58333         unictype: Update list of canonical combining classes.
58334         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
58336 2011-03-25  Bruno Haible  <bruno@clisp.org>
58338         unictype/category-byname: Recognize long names as well.
58339         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
58340         a long name.
58341         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
58342         unictype/categ_byname.h.
58343         (UC_CATEGORY_INDEX_*): New enumeration values.
58344         (uc_general_category_byname): Use uc_general_category_lookup and
58345         convert from index to value.
58346         * lib/unictype/categ_byname.gperf: New file.
58347         * modules/unictype/category-byname (Files): Add
58348         lib/unictype/categ_byname.gperf.
58349         (Depends-on): Add gperf.
58350         (Makefile.am): Add rule for generating unictype/categ_byname.h.
58351         * tests/unictype/test-categ_byname.c (main): Test the recognition of
58352         long names.
58354         Tests for module 'unictype/category-longname'.
58355         * modules/unictype/category-longname-tests: New file.
58356         * tests/unictype/test-categ_longname.c: New file.
58358         New module 'unictype/category-longname'.
58359         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
58360         * lib/unictype/categ_longname.c: New file.
58361         * modules/unictype/category-longname: New file.
58362         * modules/unictype/category-all (Depends-on): Add it.
58364 2011-03-25  Bruno Haible  <bruno@clisp.org>
58366         Tests for module 'unictype/category-LC'.
58367         * modules/unictype/category-LC-tests: New file.
58368         * tests/unictype/test-categ_LC.c: New file, automatically generated.
58370         New module 'unictype/category-LC'.
58371         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
58372         (UC_CATEGORY_LC): New declaration.
58373         (UC_CASED_LETTER): New macro.
58374         * lib/gen-uni-tables.c (is_category_LC): New function.
58375         (output_categories): Also handle category LC.
58376         (UC_CATEGORY_MASK_LC): New enumeration value.
58377         (general_category_byname): Also handle category LC.
58378         * lib/unictype/categ_LC.c: New file.
58379         * lib/unictype/categ_LC.h: New file, automatically generated.
58380         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
58381         category LC.
58382         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
58383         * modules/unictype/category-LC: New file.
58384         * modules/unictype/category-byname (Depends-on): Add
58385         unictype/category-LC.
58386         * modules/unictype/category-all (Depends-on): Likewise.
58388 2011-03-25  Eric Blake  <eblake@redhat.com>
58390         xmalloc: revert yesterday's regression
58391         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
58392         realloc's underlying behavior (allowing allocation of zero-size
58393         objects, especially if malloc-gnu is also in use).
58395 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
58397         maint.mk: add missing version to VC-tag
58398         * top/maint.mk: git tag was missing actual tag name; add it.
58400         valgrind: do leak checking, and exit with code 1 on error (not 0)
58401         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
58402         to VALGRIND.
58404 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
58406         posix-modules: say what it does.
58407         * posix-modules: Add a line to the --help output saying what it does.
58409 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
58411         xmalloc: Do not leak if underlying realloc is C99 compatible.
58412         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
58413         This avoids a leak on C99-based systems.  See
58414         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
58416 2011-03-24  Eric Blake  <eblake@redhat.com>
58418         realloc: document portability problem
58419         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
58420         passing 0 size to realloc.
58422 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
58424         doc: update users.txt
58425         * users.txt: Add cvsps, tmpwatch
58427 2011-03-23  Matt Rice  <ratmice@gmail.com>
58429         doc: update users.txt
58430         * users.txt: Add gdb.
58432 2011-03-23  Jim Meyering  <meyering@redhat.com>
58434         doc: update users.txt
58435         Looking through matches up to the following URL (there are still
58436         several more pages), I found several projects that use gnulib:
58437         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
58438         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
58439         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
58441 2011-03-22  Bruno Haible  <bruno@clisp.org>
58443         unictype/bidi*: Rename functions.
58444         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
58445         uc_bidi_class, uc_is_bidi_class): New declarations.
58446         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
58447         uc_bidi_category_byname.
58448         (uc_bidi_category_byname): New function.
58449         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
58450         u_bidi_category_name.
58451         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
58452         (uc_bidi_category_name): New function.
58453         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
58454         uc_bidi_category.
58455         (uc_bidi_category): New function.
58456         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
58457         uc_is_bidi_category. Invoke uc_bidi_class.
58458         (uc_is_bidi_category): New function.
58459         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
58460         instead of uc_bidi_category_byname.
58461         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
58462         instead of uc_bidi_category_name.
58463         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
58464         uc_bidi_category.
58465         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
58466         instead of uc_is_bidi_category.
58468 2011-03-21  Bruno Haible  <bruno@clisp.org>
58470         New module 'unictype/joininggroup-all'.
58471         * modules/unictype/joininggroup-all: New file.
58473         Tests for module 'unictype/joininggroup-of'.
58474         * modules/unictype/joininggroup-of-tests: New file.
58475         * tests/unictype/test-joininggroup_of.c: New file.
58476         * tests/unictype/test-joininggroup_of.h: New file, automatically
58477         generated by gen-uni-tables.
58479         New module 'unictype/joininggroup-of'.
58480         * modules/unictype/joininggroup-of: New file.
58481         * lib/unictype/joininggroup_of.c: New file.
58482         * lib/unictype/joininggroup_of.h: New file, automatically generated by
58483         gen-uni-tables.
58485         Tests for module 'unictype/joininggroup-byname'.
58486         * modules/unictype/joininggroup-byname-tests: New file.
58487         * tests/unictype/test-joininggroup_byname.c: New file.
58489         New module 'unictype/joininggroup-byname'.
58490         * modules/unictype/joininggroup-byname: New file.
58491         * lib/unictype/joininggroup_byname.c: New file.
58492         * lib/unictype/joininggroup_byname.gperf: New file.
58494         Tests for module 'unictype/joininggroup-name'.
58495         * modules/unictype/joininggroup-name-tests: New file.
58496         * tests/unictype/test-joininggroup_name.c: New file.
58498         New module 'unictype/joininggroup-name'.
58499         * modules/unictype/joininggroup-name: New file.
58500         * lib/unictype/joininggroup_name.c: New file.
58501         * lib/unictype/joininggroup_name.h: New file.
58503         New module 'unictype/joiningtype-all'.
58504         * modules/unictype/joiningtype-all: New file.
58506         Tests for module 'unictype/joiningtype-of'.
58507         * modules/unictype/joiningtype-of-tests: New file.
58508         * tests/unictype/test-joiningtype_of.c: New file.
58509         * tests/unictype/test-joiningtype_of.h: New file, automatically
58510         generated by gen-uni-tables.
58512         New module 'unictype/joiningtype-of'.
58513         * modules/unictype/joiningtype-of: New file.
58514         * lib/unictype/joiningtype_of.c: New file.
58515         * lib/unictype/joiningtype_of.h: New file, automatically generated by
58516         gen-uni-tables.
58518         Tests for module 'unictype/joiningtype-byname'.
58519         * modules/unictype/joiningtype-byname-tests: New file.
58520         * tests/unictype/test-joiningtype_byname.c: New file.
58522         New module 'unictype/joiningtype-byname'.
58523         * modules/unictype/joiningtype-byname: New file.
58524         * lib/unictype/joiningtype_byname.c: New file.
58526         Tests for module 'unictype/joiningtype-name'.
58527         * modules/unictype/joiningtype-name-tests: New file.
58528         * tests/unictype/test-joiningtype_name.c: New file.
58530         New module 'unictype/joiningtype-name'.
58531         * modules/unictype/joiningtype-name: New file.
58532         * lib/unictype/joiningtype_name.c: New file.
58534         unictype: Add support for Arabic shaping properties.
58535         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
58536         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
58537         declarations.
58538         (UC_JOINING_GROUP_*): New enumeration values.
58539         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
58540         declarations.
58541         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
58542         (unicode_joining_type): New variable.
58543         (UC_JOINING_GROUP_*): New enumeration values.
58544         (unicode_joining_group): New variable.
58545         (fill_arabicshaping, joining_type_as_c_identifier,
58546         output_joining_type_test, output_joining_type,
58547         joining_group_as_c_identifier, output_joining_group_test,
58548         output_joining_group): New functions.
58549         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
58550         fill_arabicshaping and output_joining_type_test, output_joining_type,
58551         output_joining_group_test, output_joining_group.
58552         Reported by Simon Josefsson.
58554 2011-03-21  Jim Meyering  <meyering@redhat.com>
58556         strftime: fix a bug in yesterday's change
58557         * lib/strftime.c (add): Accommodate width's initial value of -1.
58558         Otherwise, nstrftime would copy uninitialized data into
58559         the result buffer.
58561 2011-03-21  Jim Meyering  <meyering@redhat.com>
58563         tests: add strftime-tests module
58564         * tests/test-strftime.c: New file.
58565         * modules/strftime-tests: New module.
58567 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58569         strftime: don't assume a byte count fits in 'int'
58570         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
58571         found this problem by static analysis, using gcc -Wstrict-overflow
58572         (GCC 4.5.2, x86-64).  This reported an optimization that depended
58573         on an integer overflow having undefined behavior, but it turns out
58574         that the argument is a size, which might not fit in 'int' anyway,
58576 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58578         stdio: don't require ignore_value around fwrite
58580         This patch works around libc bug 11959
58581         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
58582         Without this patch, applications must often write
58583         ignore_value (fwrite (...)) even though the ignore_value is
58584         not helpful here.  It's common to write many objects, using
58585         fwrite/printf/etc., and then use ferror to detect output error.
58587         I considered making this patch optional, but decided against it,
58588         because libc is obviously being inconsistent here: there is no
58589         reason libc should insist that user code must inspect fwrite
58590         return's value without also insisting that it inspect printf's,
58591         putchar's, etc.  If user code wants to have a strict style where
58592         all these functions' values are checked (so that ferror need not
58593         be checked), we could add support for that style in a new gnulib
58594         module, but in the meantime it's better to be consistent and to
58595         support common usage.
58597         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
58598         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
58599         that we are compiling in checking mode, and if not C++, and
58600         if not already wrapping fwrite for some other reason.
58601         (fwrite): #define to rpl_fwrite if the latter is defined.
58603 2011-03-20  Bruno Haible  <bruno@clisp.org>
58605         verror: Fix compilation error introduced on 2011-02-13.
58606         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
58607         instead of __attribute__.
58608         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58610 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58611             Bruno Haible  <bruno@clisp.org>
58613         socklen: do not depend on sys_socket
58614         While trying to modify Emacs to use gnulib's socklen module,
58615         I discovered a circular dependency: socklen depends on sys_socket
58616         and vice versa.  Emacs can use socklen, but it does not need
58617         sys_socket because it has its own substitute for sys/socket.h.
58618         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
58619         gl_TYPE_SOCKLEN_T.
58620         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
58621         gl_PREREQ_SYS_H_SOCKET.
58622         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
58623         gl_PREREQ_SYS_H_SOCKET.
58624         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
58625         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
58626         * modules/socklen (Depends-on): Do not depend on sys_socket.
58627         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
58629 2011-03-20  Jim Meyering  <meyering@redhat.com>
58631         maint.mk: sort file names *after* new transformation
58632         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
58633         prefix would have led to an unwarranted failure in GNU parted.
58634         Sort after that transformation.
58636 2011-03-19  Jim Meyering  <meyering@redhat.com>
58638         maint.mk: fix po-file syntax-check rule
58639         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
58640         Patch by Bruno Haible.
58642 2011-03-19  Bruno Haible  <bruno@clisp.org>
58644         socklen: Update comment.
58645         * m4/socklen.m4: Update comment about platforms.
58647 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58648             Bruno Haible  <bruno@clisp.org>
58650         inet_ntop, inet_pton: Simplify.
58651         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
58652         documented to provide socklen_t and we already depend on sys_socket.
58653         * modules/inet_pton (Depends-on): Likewise.
58654         * lib/arpa_inet.in.h: Adjust comment.
58656 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58657             Bruno Haible  <bruno@clisp.org>
58659         netdb: Simplify.
58660         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
58661         documented to provide socklen_t and we already depend on sys_socket.
58662         * lib/netdb.in.h: Adjust comment.
58664 2011-03-19  Bruno Haible  <bruno@clisp.org>
58666         sys_socket, netdb: Document problem with socklen_t.
58667         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
58668         platforms.
58669         * doc/posix-headers/netdb.texi: Likewise.
58671 2011-03-18  Eric Blake  <eblake@redhat.com>
58673         maint.mk: let po check work in VPATH build
58674         * top/maint.mk (po_file): Allow cfg.mk override.
58675         (sc_po_check): Allow VPATH use.
58676         Reported by Jiri Denemark.
58678 2011-03-16  Jim Meyering  <meyering@redhat.com>
58680         maint.mk: allow fine-grained syntax-check exclusion via Make variables
58681         Before, you would have had to create one .x-sc_ file per rule in order
58682         to exempt offending files.  Now, you may instead use a Make variable --
58683         usually defined in cfg.mk -- whose name identifies the affected rule.
58684         * top/maint.mk (_sc_excl): Define.
58685         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
58686         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
58688 2011-03-13  Bruno Haible  <bruno@clisp.org>
58690         ignore-value tests: Avoid warnings.
58691         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
58692         empty for gcc < 3.4.
58694 2011-03-13  Bruno Haible  <bruno@clisp.org>
58696         passfd: Fix link error on Solaris.
58697         * modules/passfd (Description): Correct.
58698         (Depends-on): Add socketlib.
58699         (Link): New section.
58700         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
58702 2011-03-13  Bruno Haible  <bruno@clisp.org>
58704         passfd: Fix link error on AIX 5.2.
58705         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
58707 2011-03-13  Bruno Haible  <bruno@clisp.org>
58709         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
58710         * lib/sys_socket.in.h: Include <stddef.h>.
58711         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
58712         CMSG_FIRSTHDR. Remove unused variable.
58714 2011-03-13  Bruno Haible  <bruno@clisp.org>
58716         passfd: Fix compilation error on OpenBSD.
58717         * lib/passfd.c: Include <sys/uio.h>.
58719 2011-03-13  Bruno Haible  <bruno@clisp.org>
58721         passfd test: Fix warnings.
58722         * tests/test-passfd.c: Include <sys/wait.h>.
58723         (main): Fix typo.
58725 2011-03-13  Bruno Haible  <bruno@clisp.org>
58727         passfd module, part 4, tweaks.
58728         * tests/test-passfd.c: Reorder includes.
58729         (main): Fix perror and printf calls.
58731 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58733         passfd module, part 4.
58734         * modules/passfd-tests: New file.
58735         * tests/test-passfd.c: New file.
58737 2011-03-13  Jim Meyering  <meyering@redhat.com>
58739         Makefile: rely on GNU make; derive syntax-check rule names
58740         Rather than requiring that each sc_ rule be listed as a dependent
58741         of "check", use features of GNU make to derive the list.
58742         * Makefile (syntax-check-rules): Define.
58743         (check): Depend on the new variable, not the hard-coded list.
58745 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
58746             Bruno Haible  <bruno@clisp.org>
58748         passfd module, part 3.
58749         * lib/passfd.h (recvfd): Add a flags argument.
58750         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
58751         (recvfd): Add a flags argument.
58752         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
58753         exists.
58754         * modules/passfd (Depends-on): Add cloexec.
58755         Suggested by Eric Blake.
58757 2011-03-13  Bruno Haible  <bruno@clisp.org>
58759         passfd module, part 2, tweaks.
58760         * modules/passfd (Files): Reorder.
58761         (Depends-on): Remove errno.
58762         (Include): Remove <sys/socket.h>, <sys/un.h>.
58763         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
58764         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
58765         specification header. Include <sys/socket.h> always. Don't include
58766         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
58767         (sendfd): Clarify that it sets errno when it fails.
58768         (recvfd): Fix specification.
58770 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58772         passfd module, part 2.
58773         * modules/passfd: New file.
58774         * lib/passfd.h: New file.
58775         * lib/passfd.c: New file.
58777 2011-03-12  Bruno Haible  <bruno@clisp.org>
58779         wcswidth, mbswidth: Avoid integer overflow.
58780         * lib/wcswidth.c: Include <limits.h>.
58781         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
58782         * lib/mbswidth.c: Include <limits.h>.
58783         (mbsnwidth): Avoid 'int' overflow.
58784         Reported by Jim Meyering.
58786 2011-03-12  Bruno Haible  <bruno@clisp.org>
58788         futimens, utimensat: Avoid endless recursion on Solaris 10.
58789         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
58790         Solaris.
58791         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
58792         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
58794 2011-03-11  Jim Meyering  <meyering@redhat.com>
58796         maint.mk: relax a regexp to accommodate other formatting styles
58797         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
58798         between "ngettext" and the following "(".
58800 2011-03-11  Pádraig Brady  <P@draigBrady.com>
58802         maint.mk: suppress a false positive warning
58803         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
58804         diagnostics are marked with ngettext.
58806 2011-03-10  Eric Blake  <eblake@redhat.com>
58808         wchar: add explicit dependencies, for Tru64
58809         * modules/mbmemcasecoll (Depends-on): Add wchar.
58810         * modules/mbtowc (Depends-on): Likewise.
58811         * modules/vasnprintf (Depends-on): Likewise.
58812         * modules/unistdio/u-printf-args (Depends-on): Likewise.
58813         * modules/wctomb (Depends-on): Likewise.
58814         Reported by Peter O'Gorman.
58816 2011-03-08  Bruno Haible  <bruno@clisp.org>
58818         passfd module, part 1, tweaks.
58819         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
58820         Improve indentation. Improve AC_MSG_CHECKING messages.
58821         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
58822         gl_SOCKET_FAMILIES.
58824 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58826         passfd module, part 1.
58827         * m4/afunix.m4: New file.
58828         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
58829         sockets.
58831 2011-03-08  Bruno Haible  <bruno@clisp.org>
58833         regex-quote: New API.
58834         * lib/regex-quote.h: Include <stdbool.h>.
58835         (struct regex_quote_spec): New type.
58836         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58837         New declarations.
58838         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58839         'const struct regex_quote_spec *' argument.
58840         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
58841         (pcre_special): New constant.
58842         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58843         New functions.
58844         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58845         'const struct regex_quote_spec *' argument.
58846         * modules/regex-quote (Depends-on): Add stdbool.
58847         * tests/test-regex-quote.c (check): Update for new API. Add test for
58848         anchored results.
58849         * NEWS: Mention the API change.
58850         Reported by Reuben Thomas and Eric Blake.
58852 2011-03-06  Bruno Haible  <bruno@clisp.org>
58854         regex-quote: Fix creation of POSIX extended regular expressions.
58855         * lib/regex-quote.c (ere_special): Add grouping and alternation
58856         operators.
58858 2011-03-05  Bruno Haible  <bruno@clisp.org>
58860         doc: Improve doc regarding autopoint vs. gnulib.
58861         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
58862         disable autopoint while running autoreconf.
58863         Suggested by Ralf Wildenhues.
58865 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58867         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
58868         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
58870 2011-03-03  Bruce Korb  <bkorb@gnu.org>
58872         parse-duration: remove xalloc.h dependency
58873         * lib/parse-duration.c (parse_period): handle NULL return from
58874         strdup instead of calling xstrdup().
58875         * modules/parse-duration: remove "xalloc" dependency
58877 2011-03-03  Matthew Booth  <mbooth@redhat.com>
58879         bootstrap: honor m4_base when running aclocal
58880         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
58882 2011-03-02  Jim Meyering  <meyering@redhat.com>
58884         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
58885         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
58886         on request from Matt Booth.
58888 2011-03-01  Eric Blake  <eblake@redhat.com>
58890         test-link: work on Hurd
58891         * tests/test-link.h (test_link): Hurd rejects linking directories
58892         with EISDIR instead of the POSIX-mandated EPERM.
58894 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
58896         stdio: simplify by moving files to printf-posix, sigpipe
58897         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
58898         since this symbol is needed only if printf is replaced.
58899         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
58900         Require gl_ASM_SYMBOL_PREFIX.
58901         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
58902         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
58903         (Depends-on): Add 'raise'.
58904         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
58905         * modules/stdio (Files): Remove lib/stdio-write.c,
58906         m4/asm-underscore.m4.
58907         (Depends-on): Remove 'raise'.
58909         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
58910         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
58911         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
58912         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
58914 2011-02-28  Bruno Haible  <bruno@clisp.org>
58916         localcharset: Assume ANSI C behaviour of free().
58917         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
58918         calling free().
58919         Suggested by Simon Josefsson <simon@josefsson.org>.
58921 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
58922             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
58923             Bruno Haible  <bruno@clisp.org>  (tiny change)
58925         On Cygwin, use /proc file system instead of win32 API.
58926         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
58927         Win32 file names.
58928         (DllMain): Simplify by removing Cygwin specific code.
58929         (find_shared_library_fullname): Use Linux specific implementation also
58930         for Cygwin.
58931         (get_shared_library_fullname): Update accordingly.
58932         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
58933         Win32 file names.
58934         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
58935         Cygwin specific code.
58937 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
58938             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
58940         Fix OpenMP flag detection for various Fortran compilers.
58941         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
58942         OpenMP-conditional compilation construct, to force compile
58943         failure with missing OpenMP flag.
58944         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
58946 2011-02-25  Eric Blake  <eblake@redhat.com>
58948         strstr: expand test coverage
58949         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
58950         compilation.
58951         * tests/test-memmem.c (main): Duplicate tests.
58952         * tests/test-strcasestr.c (main): Likewise.
58953         * tests/test-c-strcasestr.c (main): Likewise.
58955 2011-02-25  Jim Meyering  <meyering@redhat.com>
58957         maint.mk: detect missing-NL-at-EOF, too
58958         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
58959         it also detects when a file lacks a newline at EOF.
58960         (require_exactly_one_NL_at_EOF_): Renamed from
58961         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
58962         since people may well have .x-sc_... file names tied to the
58963         existing name.  Suggested by Eric Blake.
58965 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58967         dirname: move m4/dos.m4 functionality into lib/dosname.h
58969         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
58970         extracts symbols from it, puts them into config.h; but it's much
58971         easier to use the symbols directly.  filename.h already does this,
58972         but it disagrees with dos.m4 in some respects.  This patch
58973         introduces a different include file dosname.h that packages up
58974         dos.m4, and then later we can work on merging filename.h and
58975         dosname.h.  Applications that need only the easy-to-configure
58976         symbols should consider including dosname.h rather than dirname.h.
58977         * NEWS: Mention incompatible changes.
58978         * m4/dos.m4: Remove.
58979         * lib/dosname.h, modules/dosname: New files.
58980         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
58981         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
58982         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
58983         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
58984         Include dosname.h, not dirname.h.
58985         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
58986         Include dosname.h, for definitions of symbols like ISSLASH
58987         that used to be in config.h.
58988         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
58989         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
58990         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
58991         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
58992         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
58993         * modules/rmdir (Files): Likewise.
58994         * modules/stat (Files): Likewise.
58995         * modules/unlink (Files): Likewise.
58996         * modules/dirname-lgpl (Depends-on): Add dosname.
58997         * modules/lstat (Depends-on): Likewise.
58998         * modules/openat (Depends-on): Likewise.
58999         * modules/rmdir (Depends-on): Likewise.
59000         * modules/savewd (Depends-on): Likewise.
59001         * modules/stat (Depends-on): Likewise.
59002         * modules/unlink (Depends-on): Likewise.
59003         * modules/openat (Depends-on): Remove dirname-lgpl.
59004         * modules/savewd (Depends-on): Likewise.
59005         * tests/test-dirname.c: Do not use removed symbols like
59006         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
59007         the remaining symbols, e.g., ISSLASH ('\\').
59009 2011-02-25  Eric Blake  <eblake@redhat.com>
59011         strstr: revert patches that introduced bug and pessimization
59012         * lib/str-two-way.h: Add another reference.
59013         (two_way_short_needle, two_way_long_needle): Revert changes from
59014         2011-02-24; they pessimize search speed.
59015         (critical_factorization): Partially revert changes from
59016         2010-06-22; they violate the requirement that the left half of the
59017         needle be smaller than the period of the needle.
59019 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
59021         filenamecat: remove unnecessary dependency on dirname-lgpl
59022         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
59023         is no direct dependency, just an indirect one via filenamecat-lgpl.
59025         remove: remove unnecessary use of m4/dos.m4
59026         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
59027         * modules/remove (FILES): Remove m4/dos.m4.
59029         * lib/openat-proc.c: Don't include dirname.h; not needed.
59031         backupfile: remove unnecessary use of m4/dos.m4
59032         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
59033         of its symbols are used by the backupfile code.  backupfile.c does
59034         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
59035         for the rare case of programs that want all their backup file
59036         names to live within 8+3 limits, and dos.m4 doesn't address that.
59037         * modules/backupfile (Files): Remove m4/dos.m4.
59039 2011-02-24  Jim Meyering  <meyering@redhat.com>
59041         strstr: fix a bug whereby strstr would mistakenly return NULL
59042         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
59043         in period calculation.
59044         (two_way_long_needle): Likewise.
59045         The original problem was reported by Mike Stump in
59046         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
59047         Ralf Wildenhues provided the short needle and haystack.
59048         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
59049         Add a more involved test to trigger the bug in two_way_long_needle.
59051 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
59053         gnulib-tool: remove use of bold display in help screen
59054         * gnulib-tool (func_usage): Do not use bold display anymore in the
59055         help screen.  That was just meant to be a temporary emphasis for a
59056         backward-incompatible change.
59058 2011-02-23  Bruno Haible  <bruno@clisp.org>
59060         Fix misindentation of preprocessor directives.
59061         * lib/argp-namefrob.h: Reindent preprocessor directives.
59062         * lib/getopt_int.h (struct _getopt_data): Likewise.
59063         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
59064         * lib/vasnprintf.c (decode_long_double): Likewise.
59065         * tests/test-argmatch.c: Insert blank lines, for clarity.
59066         * tests/test-exclude.c: Likewise.
59068 2011-02-22  Bruno Haible  <bruno@clisp.org>
59070         ioctl: Fix for MacOS X in 64-bit mode.
59071         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
59072         value.
59073         Suggested by Eric Blake.
59074         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
59076 2011-02-22  Jim Meyering  <meyering@redhat.com>
59078         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
59079         * Makefile (sc_cpp_indent_check): Don't limit the check to files
59080         in lib/.
59082 2011-02-22  Eric Blake  <eblake@redhat.com>
59084         maint: avoid any CDPATH issue
59085         * Makefile (sc_cpp_indent_check): Anchor cd argument.
59087         maint: adjust cpp indentation for my modules, as well
59088         * Makefile (sc_cpp_indent_check): Add my name.
59089         * lib/fbufmode.c: Filter through cppi.
59090         * lib/fpurge.c: Likewise.
59091         * lib/freadable.c: Likewise.
59092         * lib/freading.c: Likewise.
59093         * lib/fwritable.c: Likewise.
59094         * lib/fwriting.c: Likewise.
59095         * lib/sigaction.c: Likewise.
59097 2011-02-22  Jim Meyering  <meyering@redhat.com>
59099         maint: adjust cpp indentation to reflect nesting depth
59100         I.e., in a block of code that begins with an unnested "#if",
59101         put one space between the "#" in column 1 and following token.
59102         For example,
59103         -#include <sys/vfs.h>
59104         +# include <sys/vfs.h>
59105         Do this only in .c files that are part of a module I maintain.
59106         * lib/linkat.c: Filter through cppi.
59107         * lib/nanosleep.c: Likewise.
59108         * lib/openat.c: Likewise.
59109         * lib/openat-die.c: Likewise.
59110         * lib/dup3.c: Likewise.
59111         * lib/fchownat.c: Likewise.
59112         * lib/flock.c: Likewise.
59113         * lib/fsync.c: Likewise.
59114         * lib/fts.c: Likewise.
59115         * lib/getpass.c: Likewise.
59116         * lib/gettimeofday.c: Likewise.
59117         * lib/userspec.c: Likewise.
59118         * Makefile (sc_cpp_indent_check): New rule, to check this.
59120 2011-02-22  Bruno Haible  <bruno@clisp.org>
59122         New module 'wctomb'.
59123         * lib/stdlib.in.h (wctomb): New declaration.
59124         * lib/wctomb.c: New file.
59125         * lib/wctomb-impl.h: New file.
59126         * m4/wctomb.m4: New file.
59127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
59128         REPLACE_WCTOMB.
59129         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
59130         REPLACE_WCTOMB.
59131         * modules/wctomb: New file.
59132         * tests/test-stdlib-c++.cc: Test signature of wctomb.
59133         * doc/posix-functions/wctomb.texi: Mention the new module.
59134         * modules/wctob (Depends-on): Add wctomb.
59136 2011-02-22  Bruno Haible  <bruno@clisp.org>
59138         New module 'mbtowc'.
59139         * lib/stdlib.in.h (mbtowc): New declaration.
59140         * lib/mbtowc.c: New file.
59141         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
59142         * m4/mbtowc.m4: New file.
59143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
59144         REPLACE_MBTOWC.
59145         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
59146         REPLACE_MBTOWC.
59147         * modules/mbtowc: New file.
59148         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
59149         * doc/posix-functions/mbtowc.texi: Mention the new module.
59150         * modules/btowc (Depends-on): Add mbtowc.
59152 2011-02-22  Bruno Haible  <bruno@clisp.org>
59154         wcrtomb: Add more tests for native Windows platforms.
59155         * tests/test-wcrtomb-w32-1.sh: New file.
59156         * tests/test-wcrtomb-w32-2.sh: New file.
59157         * tests/test-wcrtomb-w32-3.sh: New file.
59158         * tests/test-wcrtomb-w32-4.sh: New file.
59159         * tests/test-wcrtomb-w32-5.sh: New file.
59160         * tests/test-wcrtomb-w32.c: New file.
59161         * modules/wcrtomb-tests (Files): Add them.
59162         (Makefile.am): Arrange to run these tests.
59163         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
59164         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
59166 2011-02-20  Bruno Haible  <bruno@clisp.org>
59168         wcrtomb: Enhance test.
59169         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
59171 2011-02-20  Bruno Haible  <bruno@clisp.org>
59173         mbrtowc: Tiny optimization.
59174         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
59176 2011-02-20  Jim Meyering  <meyering@redhat.com>
59178         test-exclude.c: remove unmatched #endif
59179         * tests/test-exclude.c: Remove stray #endif, left over from
59180         the change of a week ago.
59182 2011-02-19  Jim Meyering  <meyering@redhat.com>
59184         git-version-gen: skip "-dirty" check when appropriate
59185         * build-aux/git-version-gen: Don't run any git commands when the
59186         version string comes from .tarball-version.  Prior to this, we
59187         would run git update-index --refresh even from a just-unpacked
59188         tarball directory, and that could affect a .git/ directory in a
59189         parent of the build directory.  Reported by Mike Frysinger.
59191 2011-02-19  Bruno Haible  <bruno@clisp.org>
59193         unictype/property-byname: Reduce the size of the 'data' segment.
59194         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
59196 2011-02-19  Bruno Haible  <bruno@clisp.org>
59198         unictype/scripts: Reduce the size of the 'data' segment.
59199         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
59200         '%pic'.
59201         * lib/unictype/scripts_byname.gperf: Regenerated.
59203 2011-02-19  Bruno Haible  <bruno@clisp.org>
59205         stdint: Update documentation.
59206         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
59208 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
59210         stdint: omit redundant check for wchar.h
59211         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
59212         always tests whether wchar.h exists, so remove the now-redundant test.
59214 2011-02-18  Bruno Haible  <bruno@clisp.org>
59216         stdint: Cut dependency to module 'wchar'.
59217         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
59218         include the necessary prerequisites.
59219         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
59220         * modules/stdint (Depends-on): Remove wchar.
59221         (Makefile.am): Substitute HAVE_WCHAR_H.
59222         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
59224 2011-02-18  Eric Blake  <eblake@redhat.com>
59226         longlong: skip, rather than fail, on cross-compilation
59227         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
59228         when cross-compiling; regression from 2011-02-16.
59230 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59232         * NEWS: Mention 2011-02-08 change to stdlib.
59234 2011-02-17  Bruno Haible  <bruno@clisp.org>
59236         getloadavg: Add comments about platforms.
59237         * m4/getloadavg.m4: Add comment.
59238         * lib/getloadavg.c: Likewise.
59240 2011-02-17  Bruno Haible  <bruno@clisp.org>
59242         getloadavg: Fix link error on Solaris 2.6.
59243         * modules/getloadavg (Link): New section.
59244         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
59245         linking test-getloadavg.
59246         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
59247         getloadavg.
59249 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59251         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
59252         It was 'int', but this doesn't match the IRIX 6.5 manual.
59253         Suggested by Bruno Haible in
59254         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
59256 2011-02-17  Bruno Haible  <bruno@clisp.org>
59258         havelib: Fix comments.
59259         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
59260         change.
59262 2011-02-17  Bruno Haible  <bruno@clisp.org>
59264         havelib: Update config.rpath.
59265         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
59267 2011-02-17  Bruno Haible  <bruno@clisp.org>
59269         getloadavg test: Add some plausibility checks.
59270         * tests/test-getloadavg.c (check_avg): Print a warning when the value
59271         is improbable.
59273 2011-02-16  Eric Blake  <eblake@redhat.com>
59275         maintainer-makefile: make syntax-check a no-op from tarballs
59276         * top/maint.mk (no-vc-detected): New rule.
59277         (local-checks-available): Use it to avoid hanging if someone tries
59278         'make syntax-check' from a tarball.  Also append to any non-syntax
59279         checks already defined in cfg.mk.
59281 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
59283         longlong: tune, particularly for common case of c99
59285         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
59286         or running anything if c99, or if unsigned long long int does not
59287         work.  In either case, we know the answer without further tests.
59288         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
59289         it at most once, and use its results for both long long int and
59290         unsigned long long int.  This is more likely to be efficient in
59291         the common case where the program wants to check for both long
59292         long int and unsigned long long int.
59293         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
59294         since the answer is already known.
59296 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
59298         getloadavg: set errno
59299         * lib/getloadavg.c: Set errno when returning -1.  If no other
59300         error number looks appropriate, set it to ENOSYS if the getloadavg
59301         looks like it can't possibly ever work, ENOTSUP otherwise.
59302         Suggested by Bruno Haible in
59303         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
59305         getloadavg: trim unused parts and speed up 'configure'
59306         * NEWS: Document this.
59307         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
59308         always compiled if getloadavg is absent.
59309         Move test code to ...
59310         * tests/test-getloadavg.c: New file, containing previous
59311         contents of test from lib/getloadavg.c.  It also contains
59312         suggestions by Bruno Haible in
59313         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
59314         * modules/getloadavg-tests: New file.
59315         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
59316         Do tests in the same order as they're needed for getloadavg.c.
59317         Omit setgid-related tests that generate symbols KMEM_GROUP,
59318         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
59319         Do only the tests that are needed to see whether the system has
59320         getloadavg, moving the other tests into ...
59321         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
59322         NLIST_NAME_UNION; nobody should be using it.  Do not define
59323         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
59324         relevant, as the user of this module shouldn't care how getloadavg
59325         is implemented.
59327         getloadavg: omit unused var
59328         * lib/getloadavg.c (getloadavg): Omit unused local variable.
59330 2011-02-15  Jim Meyering  <meyering@redhat.com>
59332         doc: update users.txt
59333         * users.txt: Update iwhd's URL.
59335 2011-02-13  Bruno Haible  <bruno@clisp.org>
59337         Consistent macro naming for macros that use GCC __attribute__.
59338         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
59339         _ATTRIBUTE_NONNULL_.
59340         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
59341         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
59342         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
59343         ATTRIBUTE_DEPRECATED.
59344         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
59345         ATTRIBUTE_NORETURN.
59346         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59347         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59348         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59349         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59350         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
59351         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
59352         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
59353         ATTRIBUTE_SENTINEL.
59354         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
59355         ATTRIBUTE_RETURN_CHECK.
59356         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
59357         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
59358         ATTRIBUTE_NORETURN.
59359         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
59360         Reported by Paul Eggert.
59362 2011-02-13  Bruno Haible  <bruno@clisp.org>
59364         Don't interfere with a program's definition of __attribute__.
59365         * lib/argp.h (__attribute__): Remove definition.
59366         (_GL_ATTRIBUTE_FORMAT): New macro.
59367         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
59368         * lib/argp-fmtstream.h (__attribute__): Remove definition.
59369         (_GL_ATTRIBUTE_FORMAT): New macro.
59370         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
59371         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
59372         GCC 3 or newer.
59373         * lib/error.h (__attribute__): Remove definition.
59374         (_GL_ATTRIBUTE_FORMAT): New macro.
59375         (error, error_at_line): Use it.
59376         * lib/hash.h (__attribute__): Remove definition.
59377         (ATTRIBUTE_WUR): Update definition. Define always.
59378         * lib/openat.h (__attribute__): Remove definition.
59379         (ATTRIBUTE_NORETURN): Update definition. Define always.
59380         * lib/sigpipe-die.h (__attribute__): Remove definition.
59381         (ATTRIBUTE_NORETURN): Update definition. Define always.
59382         * lib/vasnprintf.h (__attribute__): Remove definition.
59383         (_GL_ATTRIBUTE_FORMAT): New macro.
59384         (asnprintf, vasnprintf): Use it.
59385         * lib/xalloc.h (__attribute__): Remove definition.
59386         (ATTRIBUTE_NORETURN): Update definition. Define always.
59387         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
59388         * lib/xmemdup0.h (__attribute__): Remove definition.
59389         (ATTRIBUTE_NORETURN): Update definition. Define always.
59390         * lib/xprintf.h (__attribute__): Remove definition.
59391         (_GL_ATTRIBUTE_FORMAT): New macro.
59392         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
59393         * lib/xstrtol.h (__attribute__): Remove definition.
59394         (ATTRIBUTE_NORETURN): Update definition. Define always.
59395         * lib/xvasprintf.h (__attribute__): Remove definition.
59396         (_GL_ATTRIBUTE_FORMAT): New macro.
59397         (xasprintf, xvasprintf): Use it.
59398         * tests/test-argmatch.c (__attribute__): Remove definition.
59399         (ATTRIBUTE_NORETURN): Update definition. Define always.
59400         * tests/test-exclude.c (__attribute__): Remove definition.
59401         (ATTRIBUTE_NORETURN): Update definition. Define always.
59402         Reported by Paul Eggert.
59404 2011-02-13  Bruno Haible  <bruno@clisp.org>
59406         mbrtowc: Add more tests for native Windows platforms.
59407         * tests/test-mbrtowc-w32-1.sh: New file.
59408         * tests/test-mbrtowc-w32-2.sh: New file.
59409         * tests/test-mbrtowc-w32-3.sh: New file.
59410         * tests/test-mbrtowc-w32-4.sh: New file.
59411         * tests/test-mbrtowc-w32-5.sh: New file.
59412         * tests/test-mbrtowc-w32.c: New file.
59413         * modules/mbrtowc-tests (Files): Add them.
59414         (Makefile.am): Arrange to run these tests.
59415         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
59416         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
59418 2011-02-13  Bruno Haible  <bruno@clisp.org>
59420         mbrtowc: Work around native Windows bug.
59421         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
59422         guess when no suitable locale for testing was found.
59423         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
59425 2011-02-13  Bruno Haible  <bruno@clisp.org>
59427         mbsinit: Work around mingw bug.
59428         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
59429         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
59430         Windows.
59431         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
59433 2011-02-13  Bruno Haible  <bruno@clisp.org>
59435         mbsinit: Don't crash for a NULL argument.
59436         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
59437         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
59439 2011-02-13  Bruno Haible  <bruno@clisp.org>
59441         Don't interfere with a program's definition of __attribute__.
59442         * lib/stdio.in.h (__attribute__): Remove definition.
59443         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
59444         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
59445         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
59446         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
59447         * lib/string.in.h (__attribute__): Remove definition.
59448         Reported by Paul Eggert.
59450 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59452         stdlib: don't get in the way of non-GCC __attribute__
59453         See thread starting at
59454         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
59455         Revert previous stdlib change, installing the following instead:
59456         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
59457         to get in the way of a non-GCC compiler that supports __attribute__.
59458         (_GL_ATTRIBUTE_RETURN): New macro.
59459         (_Exit): Use it instead of __attribute__.
59461 2011-02-12  Bruno Haible  <bruno@clisp.org>
59463         quotearg test: Avoid test failure on mingw.
59464         * tests/test-quotearg.sh: Convert the locale identifier from native
59465         Windows syntax to Unix syntax.
59467 2011-02-12  Bruno Haible  <bruno@clisp.org>
59469         setlocale: Prefer gnulib's override over libintl's override.
59470         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
59471         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
59472         GNULIB_defined_setlocale is set.
59474 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59476         stdlib: support non-GCC __attribute__
59478         Fix a serious and tricky problem encountered when attempting to
59479         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
59480         5.5, but it crashed due to memory corruption on Solaris 10 with
59481         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
59482         bits that are otherwise zero.  This tagging is optional inside
59483         Emacs but is preferred and is used when __attribute__ ((__aligned
59484         (8))) works, as it does with both recent-enough GCC and with Sun C
59485         5.11.  However, Sun C 5.11 is not GCC and does not #define
59486         __GNUC__ and __GNUC_MINOR__.
59488         When I added the getloadavg module to Emacs, it brought in
59489         stdlib.in.h, which contained this fragment:
59491            #ifndef __attribute__
59492            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
59493            #  define __attribute__(Spec)   /* empty */
59494            # endif
59495            #endif
59497         When files that include <stdlib.h> were compiled with Sun C 5.11,
59498         the above code disabled __attribute__ ((__aligned (8))), which
59499         caused variables to not be properly aligned, which eventually led
59500         to the pointer corruption mentioned above.  (This was a bit hard
59501         to diagnose, unfortunately.)
59503         Several "#define __attribute__(X) /* empty */" code snippets need
59504         to be eradicated from Gnulib to work with non-GCC compilers that
59505         support __attribute__.  The Autoconf way to do this is to test for
59506         each kind of attribute that we want support for, and selectively
59507         enable that in source code.
59509         Fix this problem just for stdlib.h, by adding a test for the
59510         __noreturn__ attribute, and change stdlib.in.h to use that test
59511         when needed.  This technique can be easily generalized to the
59512         other *.in.h files and attributes, and a similar technique can be
59513         used for *.h and *.c files.  This patch is enough to solve the
59514         problem for Emacs + getloadavg, and I thought I'd publish it for
59515         feedback before undertaking further, similar fixes in other
59516         modules.
59518         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
59519         because it's not needed for stdlib.h.  It merely substitutes the
59520         value directly into stdlib.h.  We may well need to #define it, or
59521         similar symbols, for other modules, but it's nice to also have an
59522         option to not #define it for applications like Emacs that do not
59523         need it.
59525         * lib/stdlib.in.h (__attribute__): Do not #define.
59526         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
59527         be defined only if the _Exit module is also used.
59528         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
59529         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
59530         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
59531         platforms.
59532         * modules/_Exit (Files): Add m4/attribute.m4.
59533         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
59534         * m4/attribute.m4: New file.
59536 2011-02-12  Bruno Haible  <bruno@clisp.org>
59538         wcsrtombs: Work around bug on native Windows.
59539         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
59540         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
59541         instead of len.
59542         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
59544 2011-02-12  Bruno Haible  <bruno@clisp.org>
59546         mbsrtowcs: Work around bug on native Windows.
59547         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
59548         against mingw bug.
59549         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
59551 2011-02-12  Bruno Haible  <bruno@clisp.org>
59553         Avoid setlocale bugs in tests.
59554         * modules/btowc (Dependencies): Add setlocale.
59555         * modules/c-strcase (Dependencies): Likewise.
59556         * modules/mbmemcasecmp (Dependencies): Likewise.
59557         * modules/mbmemcasecoll (Dependencies): Likewise.
59558         * modules/mbrtowc (Dependencies): Likewise.
59559         * modules/mbscasecmp (Dependencies): Likewise.
59560         * modules/mbscasestr (Dependencies): Likewise.
59561         * modules/mbschr (Dependencies): Likewise.
59562         * modules/mbscspn (Dependencies): Likewise.
59563         * modules/mbsinit (Dependencies): Likewise.
59564         * modules/mbsncasecmp (Dependencies): Likewise.
59565         * modules/mbsnrtowcs (Dependencies): Likewise.
59566         * modules/mbspbrk (Dependencies): Likewise.
59567         * modules/mbspcasecmp (Dependencies): Likewise.
59568         * modules/mbsrchr (Dependencies): Likewise.
59569         * modules/mbsrtowcs (Dependencies): Likewise.
59570         * modules/mbsspn (Dependencies): Likewise.
59571         * modules/mbsstr (Dependencies): Likewise.
59572         * modules/nl_langinfo (Dependencies): Likewise.
59573         * modules/quotearg (Dependencies): Likewise.
59574         * modules/unicase/locale-language (Dependencies): Likewise.
59575         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
59576         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
59577         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
59578         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
59579         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
59580         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
59581         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
59582         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
59583         * modules/vasnprintf-posix (Dependencies): Likewise.
59584         * modules/wcrtomb (Dependencies): Likewise.
59585         * modules/wcsnrtombs (Dependencies): Likewise.
59586         * modules/wcsrtombs (Dependencies): Likewise.
59588 2011-02-12  Bruno Haible  <bruno@clisp.org>
59590         setlocale: Workaround native Windows bug.
59591         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
59592         succeeds but sets LC_CTYPE to "C", report a failure.
59593         * tests/test-setlocale2.sh: New file.
59594         * tests/test-setlocale2.c: New file.
59595         * modules/setlocale-tests (Files): Add the new files.
59596         (Makefile.am): Enable test-setlocale2.sh test.
59597         * doc/posix-functions/setlocale.texi: Mention workaround.
59599 2011-02-11  Bruno Haible  <bruno@clisp.org>
59601         Tests for module 'setlocale'.
59602         * modules/setlocale-tests: New file.
59603         * tests/test-setlocale1.sh: New file.
59604         * tests/test-setlocale1.c: New file.
59606         New module 'setlocale'.
59607         * lib/locale.in.h (setlocale): New declaration.
59608         * lib/setlocale.c: New file, based on
59609         gettext/gettext-runtime/intl/setlocale.c.
59610         * m4/setlocale.m4: New file.
59611         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
59612         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
59613         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
59614         REPLACE_SETLOCALE.
59615         * modules/setlocale: New file.
59616         * tests/test-locale-c++.cc: Test the declaration of setlocale.
59617         * doc/posix-functions/setlocale.texi: Mention the new module.
59619 2011-02-11  Bruno Haible  <bruno@clisp.org>
59621         Prepare for locale dependent tests on mingw.
59622         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
59623         because it has the wrong locale encoding.
59624         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
59625         French_France.1252 instead of "fr".
59626         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
59627         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
59628         because it has the wrong locale encoding.
59629         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
59630         native Windows, try Turkish_Turkey.65001.
59631         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
59632         Chinese_China.54936.
59634         Prepare for locale dependent tests on mingw.
59635         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
59636         differently.
59637         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
59638         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
59639         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59640         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59642 2011-02-11  Eric Blake  <eblake@redhat.com>
59644         strptime: avoid compiler warnings
59645         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
59646         compiler warnings about dead code.
59647         Reported by Daniel P. Berrange.
59649 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
59651         doc: update users.txt
59652         * users.txt: Add rcs.
59654 2011-02-10  John W. Eaton  <jwe@gnu.org>
59656         doc: update users.txt
59657         * users.txt: Add octave.
59659 2011-02-10  Jim Meyering  <meyering@redhat.com>
59661         doc: update users.txt
59662         * users.txt: Add iwhd.
59664 2011-02-09  Bruno Haible  <bruno@clisp.org>
59666         gnulib-tool: Make copyright notice adjustment more robust.
59667         * gnulib-tool (func_import): In sed_transform_main_lib_file,
59668         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
59669         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
59670         License".
59671         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
59673 2011-02-06  Bruno Haible  <bruno@clisp.org>
59675         New module 'towctrans'.
59676         * modules/towctrans: New file.
59677         * lib/wctype.in.h (towctrans): New declaration.
59678         * lib/towctrans.c: New file.
59679         * lib/towctrans-impl.h: New file.
59680         * m4/towctrans.m4: New file.
59681         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
59682         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
59683         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
59684         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
59685         * doc/posix-functions/towctrans.texi: Mention the new module.
59687 2011-02-06  Bruno Haible  <bruno@clisp.org>
59689         New module 'wctrans'.
59690         * modules/wctrans: New file.
59691         * lib/wctype.in.h (wctrans): New declaration.
59692         * lib/wctrans.c: New file.
59693         * lib/wctrans-impl.h: New file.
59694         * m4/wctrans.m4: New file.
59695         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
59696         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
59697         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
59698         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
59699         * doc/posix-functions/wctrans.texi: Mention the new module.
59701 2011-02-06  Bruno Haible  <bruno@clisp.org>
59703         New module 'iswctype'.
59704         * modules/iswctype: New file.
59705         * lib/wctype.in.h (iswctype): New declaration.
59706         * lib/iswctype.c: New file.
59707         * lib/iswctype-impl.h: New file.
59708         * m4/iswctype.m4: New file.
59709         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
59710         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
59711         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
59712         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
59713         * doc/posix-functions/iswctype.texi: Mention the new module and the
59714         HP-UX 11.00 problem.
59716 2011-02-06  Bruno Haible  <bruno@clisp.org>
59718         New module 'wctype'.
59719         * modules/wctype: Change to represent the wctype() substitute.
59720         * lib/wctype.in.h (wctype): New declaration.
59721         * lib/wctype.c: New file.
59722         * lib/wctype-impl.h: New file.
59723         * m4/wctype.m4: New file.
59724         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
59725         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
59726         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
59727         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
59728         * doc/posix-functions/wctype.texi: Mention the new module and the
59729         HP-UX 11.00 problem.
59731 2011-02-06  Bruno Haible  <bruno@clisp.org>
59733         wctype-h: Ensure wctype_t and wctrans_t are defined.
59734         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
59735         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59736         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59737         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
59738         HAVE_WCTRANS_T.
59739         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
59741 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
59743         flock: fix license typo
59745         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
59746         omitted.
59748 2011-02-08  Bruno Haible  <bruno@clisp.org>
59750         Split large sed scripts, for HP-UX sed.
59751         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
59752         to avoid HP-UX limit of 99 commands, in the near future.
59753         * modules/stdlib (Makefile.am): Likewise.
59754         * modules/unistd (Makefile.am): Likewise.
59755         * modules/wchar (Makefile.am): Likewise.
59756         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59757         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
59758         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
59760 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59761             Bruno Haible  <bruno@clisp.org>
59763         stdlib: improve random_r modularization
59764         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
59765         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
59766         you also need the random_r module to get this material right.
59767         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
59768         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
59769         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
59771 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59773         stdlib: don't depend on stdint
59774         * lib/stdlib.in.h: Don't include <stdint.h> merely because
59775         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
59776         be independent of whether stdint.h is needed.
59777         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
59778         here, instead of ...
59779         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
59780         struct random_data should be using the random_r module, not just
59781         the stdlib module (which wouldn't make sense: what package needs
59782         just struct random_data without also needing random_r?).
59783         * modules/stdlib (Depends-on): Remove stdint.
59785         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
59786         See the thread rooted at
59787         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
59788         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
59789         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
59790         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
59791         __VMS)); previously it was always included (via fcntl--.h).
59792         (getloadavg): Do not use c_strtod.  Instead, approximate it by
59793         hand; this is good enough for load averages.  Also, do not use
59794         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
59795         flags directly if available and don't bother otherwise.  (Packages
59796         that need the extra reliability should use the modules that define
59797         these flags on older platforms that lack them.)
59798         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
59799         fcntl-safer.
59801 2011-02-08  Jim Meyering  <meyering@redhat.com>
59803         di-set.h, ino-map.h: add multiple-inclusion guard
59804         Technically, the guard is required only for ino-map.h, due to its
59805         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
59806         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
59807         * lib/ino-map.h: Likewise.
59809 2011-02-06  Bruno Haible  <bruno@clisp.org>
59811         iswblank: Ensure declaration on glibc systems.
59812         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
59813         * modules/iswblank (Dependencies): Add 'extensions'.
59814         * doc/posix-functions/iswblank.texi: Document the glibc problem.
59816 2011-02-06  Bruno Haible  <bruno@clisp.org>
59818         New module 'iswblank'.
59819         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
59820         * modules/iswblank: New file.
59821         * modules/wctype-h (Files): Remove lib/iswblank.c.
59822         (Makefile.am): Substitute GNULIB_ISWBLANK.
59823         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
59824         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
59825         (gl_WCTYPE_H_DEFAULTS): New macro.
59826         (gl_WCTYPE_H): Require it. Remove iswblank related code.
59827         * modules/iswblank-tests: New file.
59828         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
59829         * tests/test-wctype-h.c (main): Remove iswblank tests.
59830         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
59831         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
59832         of 'wctype-h'.
59833         * NEWS: Mention the change.
59834         * modules/mbchar (Depends-on): Add iswblank.
59836 2011-02-08  Bruno Haible  <bruno@clisp.org>
59838         di-set tests: Refactor.
59839         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
59840         unnecessary includes.
59841         (ASSERT): Remove macro.
59842         (main): Make C90 compliant by avoiding variable declaration after
59843         statement.
59844         * modules/di-set-tests (Files): Add tests/macros.h.
59846 2011-02-08  Bruno Haible  <bruno@clisp.org>
59848         ino-map tests: Refactor.
59849         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
59850         unnecessary includes.
59851         (ASSERT): Remove macro.
59852         (main): Make C90 compliant by avoiding variable declaration after
59853         statement.
59854         * modules/ino-map-tests (Files): Add tests/macros.h.
59856 2011-02-08  Jim Meyering  <meyering@redhat.com>
59858         di-set: add "const" to a cast
59859         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
59860         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
59862 2011-02-06  Bruno Haible  <bruno@clisp.org>
59864         Rename module 'wctype' to 'wctype-h'.
59865         * modules/wctype-h: Renamed from modules/wctype.
59866         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
59867         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
59868         (Files, Depends-on, Makefile.am): Update.
59869         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
59870         (Files, Makefile.am): Update.
59871         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
59872         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
59873         * doc/posix-headers/wctype.texi: Update.
59874         * doc/posix-functions/iswalnum.texi: Update.
59875         * doc/posix-functions/iswalpha.texi: Update.
59876         * doc/posix-functions/iswblank.texi: Update.
59877         * doc/posix-functions/iswcntrl.texi: Update.
59878         * doc/posix-functions/iswdigit.texi: Update.
59879         * doc/posix-functions/iswgraph.texi: Update.
59880         * doc/posix-functions/iswlower.texi: Update.
59881         * doc/posix-functions/iswprint.texi: Update.
59882         * doc/posix-functions/iswpunct.texi: Update.
59883         * doc/posix-functions/iswspace.texi: Update.
59884         * doc/posix-functions/iswupper.texi: Update.
59885         * doc/posix-functions/iswxdigit.texi: Update.
59886         * doc/posix-functions/towlower.texi: Update.
59887         * doc/posix-functions/towupper.texi: Update.
59888         * NEWS: Mention the change.
59889         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
59890         * modules/mbchar (Dependencies): Likewise.
59891         * modules/mbswidth (Dependencies): Likewise.
59892         * modules/quotearg (Dependencies): Likewise.
59893         * modules/regex (Dependencies): Likewise.
59894         * modules/wcscasecmp (Dependencies): Likewise.
59895         * modules/wcsncasecmp (Dependencies): Likewise.
59896         * modules/wcwidth (Dependencies): Likewise.
59898 2011-02-06  Bruno Haible  <bruno@clisp.org>
59900         New module 'wcswidth'.
59901         * modules/wcswidth: New file.
59902         * lib/wchar.in.h (wcswidth): New declaration.
59903         * lib/wcswidth.c: New file.
59904         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
59905         * m4/wcswidth.m4: New file.
59906         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
59907         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
59908         REPLACE_WCSWIDTH.
59909         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
59910         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
59911         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
59912         * doc/posix-functions/wcswidth.texi: Mention the new module.
59914 2011-02-06  Bruno Haible  <bruno@clisp.org>
59916         New module 'wcstok'.
59917         * modules/wcstok: New file.
59918         * lib/wchar.in.h (wcstok): New declaration.
59919         * lib/wcstok.c: New file.
59920         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
59921         * m4/wcstok.m4: New file.
59922         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
59923         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
59924         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
59925         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
59926         * doc/posix-functions/wcstok.texi: Mention the new module.
59928 2011-02-06  Bruno Haible  <bruno@clisp.org>
59930         New module 'wcsstr'.
59931         * modules/wcsstr: New file.
59932         * lib/wchar.in.h (wcsstr): New declaration.
59933         * lib/wcsstr.c: New file.
59934         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
59935         * m4/wcsstr.m4: New file.
59936         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
59937         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
59938         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
59939         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
59940         * doc/posix-functions/wcsstr.texi: Mention the new module.
59942 2011-02-06  Bruno Haible  <bruno@clisp.org>
59944         New module 'wcspbrk'.
59945         * modules/wcspbrk: New file.
59946         * lib/wchar.in.h (wcspbrk): New declaration.
59947         * lib/wcspbrk.c: New file.
59948         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
59949         * m4/wcspbrk.m4: New file.
59950         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
59951         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
59952         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
59953         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
59954         * doc/posix-functions/wcspbrk.texi: Mention the new module.
59956 2011-02-06  Bruno Haible  <bruno@clisp.org>
59958         New module 'wcsspn'.
59959         * modules/wcsspn: New file.
59960         * lib/wchar.in.h (wcsspn): New declaration.
59961         * lib/wcsspn.c: New file.
59962         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
59963         * m4/wcsspn.m4: New file.
59964         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
59965         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
59966         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
59967         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
59968         * doc/posix-functions/wcsspn.texi: Mention the new module.
59970 2011-02-06  Bruno Haible  <bruno@clisp.org>
59972         New module 'wcscspn'.
59973         * modules/wcscspn: New file.
59974         * lib/wchar.in.h (wcscspn): New declaration.
59975         * lib/wcscspn.c: New file.
59976         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
59977         * m4/wcscspn.m4: New file.
59978         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
59979         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
59980         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
59981         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
59982         * doc/posix-functions/wcscspn.texi: Mention the new module.
59984 2011-02-06  Bruno Haible  <bruno@clisp.org>
59986         New module 'wcsrchr'.
59987         * modules/wcsrchr: New file.
59988         * lib/wchar.in.h (wcsrchr): New declaration.
59989         * lib/wcsrchr.c: New file.
59990         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
59991         * m4/wcsrchr.m4: New file.
59992         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
59993         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
59994         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
59995         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
59996         * doc/posix-functions/wcsrchr.texi: Mention the new module.
59998 2011-02-06  Bruno Haible  <bruno@clisp.org>
60000         New module 'wcschr'.
60001         * modules/wcschr: New file.
60002         * lib/wchar.in.h (wcschr): New declaration.
60003         * lib/wcschr.c: New file.
60004         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
60005         * m4/wcschr.m4: New file.
60006         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
60007         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
60008         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
60009         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
60010         * doc/posix-functions/wcschr.texi: Mention the new module.
60012 2011-02-06  Bruno Haible  <bruno@clisp.org>
60014         New module 'wcsdup'.
60015         * modules/wcsdup: New file.
60016         * lib/wchar.in.h (wcsdup): New declaration.
60017         * lib/wcsdup.c: New file.
60018         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
60019         * m4/wcsdup.m4: New file.
60020         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
60021         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
60022         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
60023         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
60024         * doc/posix-functions/wcsdup.texi: Mention the new module.
60026 2011-02-06  Bruno Haible  <bruno@clisp.org>
60028         New module 'wcsxfrm'.
60029         * modules/wcsxfrm: New file.
60030         * lib/wchar.in.h (wcsxfrm): New declaration.
60031         * lib/wcsxfrm.c: New file.
60032         * lib/wcsxfrm-impl.h: New file.
60033         * m4/wcsxfrm.m4: New file.
60034         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
60035         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
60036         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
60037         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
60038         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
60040 2011-02-06  Bruno Haible  <bruno@clisp.org>
60042         New module 'wcscoll'.
60043         * modules/wcscoll: New file.
60044         * lib/wchar.in.h (wcscoll): New declaration.
60045         * lib/wcscoll.c: New file.
60046         * lib/wcscoll-impl.h: New file.
60047         * m4/wcscoll.m4: New file.
60048         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
60049         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
60050         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
60051         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
60052         * doc/posix-functions/wcscoll.texi: Mention the new module.
60054 2011-02-06  Bruno Haible  <bruno@clisp.org>
60056         New module 'wcsncasecmp'.
60057         * modules/wcsncasecmp: New file.
60058         * lib/wchar.in.h (wcsncasecmp): New declaration.
60059         * lib/wcsncasecmp.c: New file.
60060         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
60061         * m4/wcsncasecmp.m4: New file.
60062         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
60063         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
60064         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
60065         HAVE_WCSNCASECMP.
60066         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
60067         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
60069 2011-02-06  Bruno Haible  <bruno@clisp.org>
60071         New module 'wcscasecmp'.
60072         * modules/wcscasecmp: New file.
60073         * lib/wchar.in.h (wcscasecmp): New declaration.
60074         * lib/wcscasecmp.c: New file.
60075         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
60076         * m4/wcscasecmp.m4: New file.
60077         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
60078         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
60079         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
60080         HAVE_WCSCASECMP.
60081         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
60082         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
60084 2011-02-05  Bruno Haible  <bruno@clisp.org>
60086         New module 'wcsncmp'.
60087         * modules/wcsncmp: New file.
60088         * lib/wchar.in.h (wcsncmp): New declaration.
60089         * lib/wcsncmp.c: New file.
60090         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
60091         * m4/wcsncmp.m4: New file.
60092         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
60093         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
60094         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
60095         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
60096         * doc/posix-functions/wcsncmp.texi: Mention the new module.
60098 2011-02-05  Bruno Haible  <bruno@clisp.org>
60100         New module 'wcscmp'.
60101         * modules/wcscmp: New file.
60102         * lib/wchar.in.h (wcscmp): New declaration.
60103         * lib/wcscmp.c: New file.
60104         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
60105         * m4/wcscmp.m4: New file.
60106         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
60107         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
60108         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
60109         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
60110         * doc/posix-functions/wcscmp.texi: Mention the new module.
60112 2011-02-05  Bruno Haible  <bruno@clisp.org>
60114         New module 'wcsncat'.
60115         * modules/wcsncat: New file.
60116         * lib/wchar.in.h (wcsncat): New declaration.
60117         * lib/wcsncat.c: New file.
60118         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
60119         * m4/wcsncat.m4: New file.
60120         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
60121         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
60122         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
60123         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
60124         * doc/posix-functions/wcsncat.texi: Mention the new module.
60126 2011-02-05  Bruno Haible  <bruno@clisp.org>
60128         New module 'wcscat'.
60129         * modules/wcscat: New file.
60130         * lib/wchar.in.h (wcscat): New declaration.
60131         * lib/wcscat.c: New file.
60132         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
60133         * m4/wcscat.m4: New file.
60134         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
60135         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
60136         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
60137         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
60138         * doc/posix-functions/wcscat.texi: Mention the new module.
60140 2011-02-05  Bruno Haible  <bruno@clisp.org>
60142         New module 'wcpncpy'.
60143         * modules/wcpncpy: New file.
60144         * lib/wchar.in.h (wcpncpy): New declaration.
60145         * lib/wcpncpy.c: New file.
60146         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
60147         * m4/wcpncpy.m4: New file.
60148         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
60149         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
60150         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
60151         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
60152         * doc/posix-functions/wcpncpy.texi: Mention the new module.
60154 2011-02-05  Bruno Haible  <bruno@clisp.org>
60156         New module 'wcsncpy'.
60157         * modules/wcsncpy: New file.
60158         * lib/wchar.in.h (wcsncpy): New declaration.
60159         * lib/wcsncpy.c: New file.
60160         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
60161         * m4/wcsncpy.m4: New file.
60162         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
60163         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
60164         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
60165         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
60166         * doc/posix-functions/wcsncpy.texi: Mention the new module.
60168 2011-02-05  Bruno Haible  <bruno@clisp.org>
60170         New module 'wcpcpy'.
60171         * modules/wcpcpy: New file.
60172         * lib/wchar.in.h (wcpcpy): New declaration.
60173         * lib/wcpcpy.c: New file.
60174         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
60175         * m4/wcpcpy.m4: New file.
60176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
60177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
60178         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
60179         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
60180         * doc/posix-functions/wcpcpy.texi: Mention the new module.
60182 2011-02-05  Bruno Haible  <bruno@clisp.org>
60184         New module 'wcscpy'.
60185         * modules/wcscpy: New file.
60186         * lib/wchar.in.h (wcscpy): New declaration.
60187         * lib/wcscpy.c: New file.
60188         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
60189         * m4/wcscpy.m4: New file.
60190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
60191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
60192         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
60193         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
60194         * doc/posix-functions/wcscpy.texi: Mention the new module.
60196 2011-02-05  Bruno Haible  <bruno@clisp.org>
60198         New module 'wcsnlen'.
60199         * modules/wcsnlen: New file.
60200         * lib/wchar.in.h (wcsnlen): New declaration.
60201         * lib/wcsnlen.c: New file.
60202         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
60203         * m4/wcsnlen.m4: New file.
60204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
60205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
60206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
60207         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
60208         * doc/posix-functions/wcsnlen.texi: Mention the new module.
60210 2011-02-05  Bruno Haible  <bruno@clisp.org>
60212         New module 'wcslen'.
60213         * modules/wcslen: New file.
60214         * lib/wchar.in.h (wcslen): New declaration.
60215         * lib/wcslen.c: New file.
60216         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
60217         * m4/wcslen.m4: New file.
60218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
60219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
60220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
60221         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
60222         * doc/posix-functions/wcslen.texi: Mention the new module.
60224 2011-02-05  Bruno Haible  <bruno@clisp.org>
60226         New module 'wmemset'.
60227         * modules/wmemset: New file.
60228         * lib/wchar.in.h (wmemset): New declaration.
60229         * lib/wmemset.c: New file.
60230         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
60231         * m4/wmemset.m4: New file.
60232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
60233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
60234         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
60235         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
60236         * doc/posix-functions/wmemset.texi: Mention the new module.
60238 2011-02-05  Bruno Haible  <bruno@clisp.org>
60240         New module 'wmemmove'.
60241         * modules/wmemmove: New file.
60242         * lib/wchar.in.h (wmemmove): New declaration.
60243         * lib/wmemmove.c: New file.
60244         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
60245         * m4/wmemmove.m4: New file.
60246         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
60247         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
60248         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
60249         HAVE_WMEMMOVE.
60250         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
60251         * doc/posix-functions/wmemmove.texi: Mention the new module.
60253 2011-02-05  Bruno Haible  <bruno@clisp.org>
60255         New module 'wmemcpy'.
60256         * modules/wmemcpy: New file.
60257         * lib/wchar.in.h (wmemcpy): New declaration.
60258         * lib/wmemcpy.c: New file.
60259         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
60260         * m4/wmemcpy.m4: New file.
60261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
60262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
60263         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
60264         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
60265         * doc/posix-functions/wmemcpy.texi: Mention the new module.
60267 2011-02-05  Bruno Haible  <bruno@clisp.org>
60269         New module 'wmemcmp'.
60270         * modules/wmemcmp: New file.
60271         * lib/wchar.in.h (wmemcmp): New declaration.
60272         * lib/wmemcmp.c: New file.
60273         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
60274         * m4/wmemcmp.m4: New file.
60275         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
60276         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
60277         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
60278         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
60279         * doc/posix-functions/wmemcmp.texi: Mention the new module.
60281 2011-02-07  Jim Meyering  <meyering@redhat.com>
60283         di-set, ino-map: new modules, from coreutils
60284         * lib/di-set.c: New file.
60285         * lib/di-set.h: Likewise.
60286         * lib/ino-map.c: Likewise.
60287         * lib/ino-map.h: Likewise.
60288         * modules/di-set: Likewise.
60289         * modules/di-set-tests: Likewise.
60290         * modules/ino-map: Likewise.
60291         * modules/ino-map-tests: Likewise.
60292         * tests/test-di-set.c: Likewise.
60293         * tests/test-ino-map.c: Likewise.
60295 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
60297         getloadavg: merge minor changes from Emacs
60299         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
60300         (getloadavg): Use memset, not bzero.
60302         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
60303         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
60304         clash (bug#86).
60306 2010-11-14  Bruno Haible  <bruno@clisp.org>
60308         Allow multiple gnulib generated replacements to coexist.
60309         * lib/getopt.in.h (struct option): Avoid identical redefinition.
60310         * lib/inttypes.in.h (imaxdiv_t): Likewise.
60311         * lib/langinfo.in.h (nl_item): Likewise.
60312         * lib/math.in.h (_NaN, NAN): Likewise.
60313         * lib/netdb.in.h (struct addrinfo): Likewise.
60314         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
60315         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
60316         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
60317         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
60318         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
60319         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
60320         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
60321         pthread_mutexattr_init, pthread_mutexattr_settype,
60322         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
60323         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
60324         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
60325         pthread_spin_trylock, pthread_spin_unlock): Likewise.
60326         * lib/sched.in.h (struct sched_param): Likewise.
60327         * lib/se-selinux.in.h (security_class_t, security_context_t,
60328         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
60329         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
60330         lsetfilecon, fsetfilecon, security_check_context,
60331         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
60332         Likewise.
60333         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
60334         Likewise.
60335         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
60336         _gl_function_taking_int_returning_void_t, union sigval,
60337         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
60338         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
60339         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
60340         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
60341         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
60342         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
60343         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
60344         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
60345         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
60346         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
60347         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
60348         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
60349         socklen_t, rpl_fd_isset): Likewise.
60350         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
60351         * lib/sys_time.in.h (struct timeval): Likewise.
60352         * lib/sys_times.in.h (struct tms): Likewise.
60353         * lib/sys_utsname.in.h (struct utsname):
60354         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
60355         * lib/unistd.in.h (getpagesize): Likewise.
60356         * lib/wchar.in.h (mbstate_t): Likewise.
60357         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60358         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
60359         towlower, towupper): Likewise.
60360         Reported by Sam Steingold <sds@gnu.org>.
60362 2011-02-05  Eric Blake  <eblake@redhat.com>
60364         unsetenv: work around Haiku issues
60365         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
60366         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
60368 2010-12-30  Bruce Korb  <bkorb@gnu.org>
60370         libposix: avoid calling error() within libposix
60371         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
60372         is defined.
60374 2011-02-05  Eric Blake  <eblake@redhat.com>
60376         strerror_r-posix: port to cygwin
60377         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
60378         implementation.
60379         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
60380         * tests/test-strerror_r.c (main): Fix test.
60381         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
60382         issue.
60384 2011-02-05  Bruno Haible  <bruno@clisp.org>
60386         New module 'wmemchr'.
60387         * modules/wmemchr: New file.
60388         * lib/wchar.in.h (wmemchr): New declaration.
60389         * lib/wmemchr.c: New file.
60390         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
60391         * m4/wmemchr.m4: New file.
60392         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
60393         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
60394         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
60395         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
60396         * doc/posix-functions/wmemchr.texi: Mention the new module.
60398 2011-02-04  Eric Blake  <eblake@redhat.com>
60400         fdopendir: detect FreeBSD bug
60401         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
60402         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
60404 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60406         stdbool: do not define HAVE_STDBOOL_H
60407         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
60408         AC_HEADER_STDBOOL.  All uses changed.  Do not define
60409         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
60410         imported from the latest Autoconf git.  It was motivated by Emacs,
60411         which uses gnulib but does not need HAVE_STDBOOL_H.
60413 2011-02-04  Bruno Haible  <bruno@clisp.org>
60415         wcsnrtombs: Prepare for new module wwcsnrtombs.
60416         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
60417         * lib/wcsnrtombs.c: Include it.
60418         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
60420         wcsrtombs: Prepare for new module wwcsrtombs.
60421         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
60422         * lib/wcsrtombs.c: Include it.
60423         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
60425         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
60426         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
60427         * lib/mbsnrtowcs.c: Include it.
60428         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
60430         mbsrtowcs: Prepare for new module mbsrtowwcs.
60431         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
60432         * lib/mbsrtowcs.c: Include it.
60433         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
60435 2011-02-04  Bruno Haible  <bruno@clisp.org>
60437         vasnprintf: Reduce use of malloc for small format strings.
60438         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
60439         (arguments): Add room for the first 7 arguments.
60440         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
60441         (char_directives, u8_directives, u16_directives, u32_directives): Add
60442         room for the first 7 directives.
60443         * lib/printf-parse.c: Include <string.h>.
60444         (PRINTF_PARSE): Change memory handling code so that it uses the first
60445         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
60446         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
60447         Reported by Pádraig Brady <P@draigbrady.com>.
60449 2011-01-31  Eric Blake  <eblake@redhat.com>
60451         dup2: work around Haiku bug
60452         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
60453         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
60454         * doc/posix-functions/dup2.texi (dup2): Document the bug.
60455         * tests/test-dup2.c (main): Enhance test.
60457 2011-01-31  Simon Josefsson  <simon@josefsson.org>
60459         doc: off_t is not available in eglibc 2.11.2 stdio.h.
60460         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
60461         declared by eglibc 2.11.2.
60462         * lib/stdio.in.h: Likewise.
60464 2011-01-31  Eric Blake  <eblake@redhat.com>
60466         ignore-value: add missing test dependency
60467         * tests/test-ignore-value.c: Revert previous change; stdio.h
60468         provides off_t.
60469         * modules/ignore-value-tests (Depends-on): Add missing dependency.
60471 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
60473         mktime: clarify long_int width checking
60474         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
60475         the top level, to make it clearer that the assumption about
60476         long_int width is being checked.  See
60477         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
60479 2011-01-30  Simon Josefsson  <simon@josefsson.org>
60481         ignore-value: Fix self-test.
60482         * tests/test-ignore-value.c: Include sys/types.h for off_t.
60484 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60486         TYPE_MAXIMUM: avoid theoretically undefined behavior
60487         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
60488         negative number, which the C Standard says has undefined behavior.
60489         In practice this is not a problem, but might as well do it by the book.
60490         Reported by Rich Felker and Eric Blake; see
60491         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
60492         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
60493         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60494         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60495         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
60496         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60497         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
60499         mktime: #undef mktime before #defining it
60500         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
60502         mktime: systematically normalize tm_isdst comparisons
60503         * lib/mktime.c (isdst_differ): New function.
60504         (__mktime_internal): Use it systematically for all isdst comparisons.
60505         This completes the fix for libc BZ #6723, and removes the need for
60506         normalizing tm_isdst.  See
60507         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
60508         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
60510         mktime: fix some integer overflow issues and sidestep the rest
60512         This was prompted by a bug report by Benjamin Lindner for MinGW
60513         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
60514         His bug is due to signed integer overflow (0 - INT_MIN), and I
60515         I scanned through mktime.c looking for other integer overflow
60516         problems, fixing all the bugs I found.
60518         Although the C Standard says the resulting code is still not safe
60519         in the presence of integer overflow, in practice it should be good
60520         enough for all real-world two's-complement implementations, except
60521         for debugging environments that deliberately trap on integer
60522         overflow (e.g., gcc -ftrapv).
60524         * lib/mktime.c (WRAPV): New macro.
60525         (SHR): Also check that long_int and time_t shift right in the
60526         usual way, before using the fast-but-unportable method.
60527         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
60528         used.  The code already assumed two's complement, so there's
60529         no need to test for alternatives.  All uses removed.
60530         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
60531         the C standard.  Problem reported by Rich Felker in
60532         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
60533         (twos_complement_arithmetic): Also check long_int and time_t.
60534         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
60535         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
60536         (__mktime_internal): Avoid integer overflow with unary subtraction
60537         in two instances where -1 - X is an adequate replacement for -X,
60538         since the calculations are approximate.
60540 2011-01-29  Eric Blake  <eblake@redhat.com>
60542         mktime: avoid infinite loop
60543         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
60544         type; behavior is still undefined but portable to all known targets.
60545         Reported by Rich Felker.
60547 2011-01-29  Simon Josefsson  <simon@josefsson.org>
60549         rename, unlink, same-inode: Relicense.
60550         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
60551         * modules/unlink (License): Likewise.
60552         * modules/same-inode (License): Likewise.
60554 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60556         mktime: avoid problems on NetBSD 5 / i386
60557         * lib/mktime.c (long_int): New type.  This works around a problem
60558         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
60559         but time_t is 64 bits, and where I expect the existing code is
60560         wrong in some cases.
60561         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
60562         (ydhms_diff): Bring back the compile-time check for wide-enough
60563         year and yday.
60565         mktime: fix misspelling in comment
60566         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
60567         This merges all recent glibc changes of importance.
60569 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60571         move-if-change: cope with concurrent mv of identical file.
60572         * build-aux/move-if-change (CMPPROG): Accept environment
60573         variable as an override for `cmp'.
60574         (usage): Document CMPPROG.
60575         Adjust comparison to drop stdout.  Cope with failure of mv if
60576         the target file exists and is identical to the source, for
60577         parallel builds.
60578         Report from H.J. Lu against binutils in PR binutils/12283.
60580 2011-01-28  Bruce Korb  <bkorb@gnu.org>
60582         * users.txt: Mention sharutils.
60584 2011-01-28  Simon Josefsson  <simon@josefsson.org>
60586         * users.txt: Mention OATH Toolkit.
60588 2011-01-27  Bruno Haible  <bruno@clisp.org>
60590         Prepare for supporting FreeBSD 10.
60591         * build-aux/config.libpath: Remove handling of freebsd1*.
60593 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
60595         Prepare for supporting FreeBSD 10.
60596         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
60597         match FreeBSD 10.0.
60599 2011-01-27  Bruno Haible  <bruno@clisp.org>
60601         vma-iter, get-rusage-as: Add OpenBSD support.
60602         * modules/vma-iter (configure.ac): Test for mquery.
60603         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
60604         * lib/vma-iter.c: Include <sys/mman.h>.
60605         (vma_iterate): Add an implementation based on mquery().
60606         * lib/resource-ext.h (get_rusage_as): Update comments.
60607         * lib/get-rusage-as.c: Likewise.
60608         * lib/get-rusage-data.c: Likewise.
60610 2011-01-26  Karl Berry  <karl@gnu.org>
60612         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
60613         variables to make it easier to override the makeinfo program used.
60615 2011-01-26  Eric Blake  <eblake@redhat.com>
60617         fcntl: work around Haiku F_DUPFD bugs
60618         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
60619         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
60620         cloexec bit on duplication.
60621         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
60623 2011-01-26  Bruno Haible  <bruno@clisp.org>
60625         Enable memory leak tests on AIX.
60626         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
60627         * tests/test-fprintf-posix3.c (main): Likewise.
60629 2011-01-26  Bruno Haible  <bruno@clisp.org>
60631         Tests for module 'get-rusage-data'.
60632         * modules/get-rusage-data-tests: New file.
60633         * tests/test-get-rusage-data.c: New file.
60635         New module 'get-rusage-data'.
60636         * lib/resource-ext.h (get_rusage_data): New declaration.
60637         * lib/get-rusage-data.c: New file.
60638         * modules/get-rusage-data: New file.
60640 2011-01-25  Bruno Haible  <bruno@clisp.org>
60642         get-rusage-as: Allow for easier testing.
60643         * lib/resource-ext.h (get_rusage_as): Add comment.
60644         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
60645         (main): New function for interactive testing.
60647 2011-01-25  Bruno Haible  <bruno@clisp.org>
60649         vma-iter: Treat Haiku like BeOS.
60650         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
60651         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
60653 2011-01-25  Eric Blake  <eblake@redhat.com>
60655         c-stack: fix regression on cygwin when libsigsegv is present
60656         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
60658 2011-01-24  Bruno Haible  <bruno@clisp.org>
60660         vma-iter: Avoid empty intervals.
60661         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
60662         on an empty interval.
60664 2011-01-24  Jim Meyering  <meyering@redhat.com>
60666         u64: remove unnecessary #include
60667         * lib/u64.h: Don't include <stddef.h>.  It was not used.
60669 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60671         Allow the user to avoid the HAVE_RAW_DECL_* macros.
60672         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
60674 2011-01-23  Bruno Haible  <bruno@clisp.org>
60676         New module 'vma-iter'.
60677         * lib/vma-iter.h: New file.
60678         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
60679         * modules/vma-iter: New file.
60680         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
60681         for get_rusage_as_via_iterator.
60682         (vma_iterate_callback): New function.
60683         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
60684         * modules/get-rusage-as (Depends-on): Add vma-iter.
60686 2011-01-23  Bruno Haible  <bruno@clisp.org>
60688         uninorm: Tweak includes.
60689         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
60690         Reported by Jim Meyering.
60692 2011-01-23  Bruno Haible  <bruno@clisp.org>
60694         get-rusage-as: Improve on NetBSD.
60695         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
60696         /proc, like on FreeBSD.
60698 2011-01-23  Jim Meyering  <meyering@redhat.com>
60700         xreadlink.h: remove unnecessary #include
60701         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
60703         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
60704         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
60706 2011-01-23  Bruno Haible  <bruno@clisp.org>
60708         get-rusage-as: Fix bug.
60709         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
60710         original limit when aborting the first loop.
60712 2011-01-23  Bruno Haible  <bruno@clisp.org>
60714         wctype: Ensure valid C syntax.
60715         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
60716         unconditionally, instead of gl_NEXT_HEADERS conditionally.
60718 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
60720         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
60721         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
60722         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
60723         as they are needed only for configure's test case.
60724         This removes two unnecessary symbols from config.h.
60726         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
60727         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
60728         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
60729         AC_CHECK_HEADERS_ONCE on a header that we also invoke
60730         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
60731         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
60732         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
60733         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
60734         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60735         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60736         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
60737         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60738         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
60739         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
60740         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
60741         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60742         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
60743         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
60745 2011-01-21  Eric Blake  <eblake@redhat.com>
60747         maintainer-makefile: work with older git for submodule check
60748         * top/maint.mk (public-submodule-commit): Rewrite to avoid
60749         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
60750         Reported by Matthias Bolte.
60752         bootstrap: minor portability fixes
60753         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
60754         (usage): Omit leading capital and trailing . on help phrases, per
60755         GNU Coding Standards.
60756         (check_versions, top level): Prefix messages with script name.
60758 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
60760         bootstrap: support --no-git option
60761         * build-aux/bootstrap: Add --no-git option, to be used when
60762         --gnulib-srcdir points to the exact desired checkout.
60764 2011-01-21  Eric Blake  <eblake@redhat.com>
60766         strerror_r-posix: work with glibc 2.13
60767         * lib/strerror_r.c (strerror_r): Fix return type.
60769 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60770             Bruno Haible  <bruno@clisp.org>
60772         uN_strstr: New unit tests.
60773         * modules/unistr/u8-strstr-tests: New file.
60774         * modules/unistr/u16-strstr-tests: New file.
60775         * modules/unistr/u32-strstr-tests: New file.
60776         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
60777         * tests/unistr/test-u8-strstr.c: New file.
60778         * tests/unistr/test-u16-strstr.c: New file.
60779         * tests/unistr/test-u32-strstr.c: New file.
60781 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60782             Bruno Haible  <bruno@clisp.org>
60784         Make uN_strstr functions O(n) worst-case.
60785         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
60786         16-bit and 32-bit unit cases, use the unibyte algorithm from
60787         lib/mbsstr.c.
60788         * lib/unistr/u8-strstr.c: Include <string.h>.
60789         (UNIT_IS_UINT8_T): New macro.
60790         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
60791         (U_STRLEN, U_STRNLEN): New macros.
60792         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
60793         (U_STRLEN, U_STRNLEN): New macros.
60794         * modules/unistr/u8-strstr (Depends-on): Add strstr.
60795         (configure.ac): Update required libunistring version.
60796         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
60797         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
60798         malloca.
60799         (configure.ac): Update required libunistring version.
60800         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
60801         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
60802         malloca.
60803         (configure.ac): Update required libunistring version.
60805 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60806             Bruno Haible  <bruno@clisp.org>
60808         Prepare for faster uN_strstr functions.
60809         * lib/str-kmp.h: Support definable UNITs.
60810         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
60811         needle_len argument.
60812         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
60813         * lib/mbscasestr.c (mbscasestr): Likewise.
60815 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60817         malloca-tests: make faster by unsetting MALLOC_PERTURB_
60818         * tests/test-malloca.c (main): Unset the environment variable
60819         to greatly speed up the test.
60820         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
60821         * modules/malloca-tests: Depend on unsetenv.
60823 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60825         ignore-value: remove stdint dependency
60826         * lib/ignore-value.h: Remove <stdint.h>
60827         * modules/ignore-value: Remove stdint dependency.
60829 2011-01-21  Jim Meyering  <meyering@redhat.com>
60831         maint.mk: adjust variable name to be consistent with other gl_ vars
60832         * top/maint.mk (gl_public_submodule_commit): Rename the variable
60833         to be lower case.
60835 2011-01-20  Jim Meyering  <meyering@redhat.com>
60837         maint.mk: make "check" depend on public-submodule-commit by default
60838         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
60840 2011-01-20  Bruno Haible  <bruno@clisp.org>
60842         mbfile, mbiter: Complete change from 2008-12-21.
60843         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
60844         * m4/mbiter.m4 (gl_MBITER): Likewise.
60846 2011-01-20  Jim Meyering  <meyering@redhat.com>
60848         init.sh: insert space between each function name and "()"
60849         * tests/init.sh: Make it a little easier to see that a function's
60850         name is "warn_", and not "warn" when looking at the first part of
60851         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
60853 2011-01-20  Jim Meyering  <meyering@redhat.com>
60855         mountlist: clean up code formatting
60856         * lib/mountlist.c (read_file_system_list): Split a long line,
60857         correct bracing style, use NULL in place of "(struct statfs *)0",
60858         don't parenthesize return value, add spaces around "=" and after
60859         ";-in-for-stmt".
60861 2011-01-14  Markus Duft  <mduft@gentoo.org>
60863         mountlist: add support for Interix
60864         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
60865         Apply statvfs to all entries of /dev/fs.
60866         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
60867         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
60869 2011-01-20  Jim Meyering  <meyering@redhat.com>
60871         maint.mk: improve the public-submodule-commit rule
60872         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
60873         to suppress printing of its commands... unless V=1.
60874         Add git submodule's --quiet option to suppress printing of e.g.,
60875         "Entering gnulib" output.
60876         "cd" into $(srcdir) before running git submodule.
60878 2011-01-20  Bruno Haible  <bruno@clisp.org>
60880         include_next: Fix bug introduced on 2011-01-18.
60881         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
60882         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
60883         ac_cv_header_... variable if the second argument is not 'check'.
60884         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
60885         gl_NEXT_HEADERS_INTERNAL.
60887 2011-01-20  Bruno Haible  <bruno@clisp.org>
60889         Allow the user to avoid the GNULIB_TEST_* macros.
60890         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
60891         Suggested by Paul Eggert.
60893 2011-01-14  Jim Meyering  <meyering@redhat.com>
60895         bootstrap: avoid failure when there is no .gitmodules file
60896         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
60897         has been assigned to, even when its value is the empty string.
60898         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
60899         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
60900         Reported by John W. Eaton <jwe@gnu.org>.
60902 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60904         assume <ctype.h>, ..., <time.h> exist
60905         For years gnulib has been assuming the existence of the headers
60906         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
60907         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
60908         them, since they don't appear to be needed.
60909         * README (Portability guidelines): Document this.
60910         * lib/flock.c: Assume <fcntl.h> exists.
60911         * lib/regex_internal.h: Assume <locale.h> exists.
60912         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
60913         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
60914         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
60915         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
60916         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
60917         * m4/regex.m4 (gl_REGEX): Likewise.
60918         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
60919         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
60920         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
60921         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
60922         * tests/test-argp.c: Likewise.
60923         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
60925         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
60926         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
60927         AA_APPLE_UNIVERSAL_BUILD.  See
60928         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
60929         * NEWS: Document this.
60931 2011-01-19  Eric Blake  <eblake@redhat.com>
60933         c-stack: assume stack overflow if SA_SIGINFO unsupported
60934         * lib/c-stack.c (SIGACTION_WORKS): Rename...
60935         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
60936         sigaction will work.
60937         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
60938         behavior match Linux.
60939         * tests/test-c-stack.c (main): Prefer NULL for pointers.
60941         stdbool-tests: accommodate Haiku
60942         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
60944         binary-io: fix O_TEXT on Haiku
60945         * modules/binary-io (Depends-on): Add fcntl-h.
60946         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
60947         than blindly undefining O_TEXT.
60948         Reported by Scott McCreary.
60950 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60952         include_next: do not check for standard headers like stddef.h
60954         I found this problem when modifying Emacs to use gnulib.
60955         I noticed that it added HAVE_STDDEF_H to config.h, even though
60956         gnulib always assumes <stddef.h> exists as per README and this
60957         symbol is unnecessary.
60958         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
60959         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
60960         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
60961         faster for headers like stddef.h that are known to exist.
60962         (gl_CHECK_NEXT_HEADERS): Use it.
60963         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
60964         rather than gl_CHECK_NEXT_HEADERS.
60965         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
60966         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
60968 2011-01-18  Eric Blake  <eblake@redhat.com>
60970         ansi-c++-opt: skip C++ dependency style if C++ is unused
60971         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
60972         tests when we know C++ compilation is not desired.
60973         Reported by Scott McCreary.
60975 2011-01-18  Bruno Haible  <bruno@clisp.org>
60977         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
60978         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
60979         (main): Perform test also when getrlimit and setrlimit don't exist or
60980         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
60981         limiting the address space size using setrlimit, compare the address
60982         space size before and after the test.
60983         * tests/test-dprintf-posix2.c: Likewise.
60984         * tests/test-fprintf-posix3.sh: Update skip messages.
60985         * tests/test-dprintf-posix2.sh: Likewise.
60986         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
60987         * modules/dprintf-posix-tests (Depends-on): Likewise.
60988         Reported by Bruce Korb <bkorb@gnu.org> and
60989         Gary V. Vaughan <gary@gnu.org>.
60991 2011-01-18  Bruno Haible  <bruno@clisp.org>
60993         get-rusage-as: Improvement for Cygwin.
60994         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
60995         areas that are merely reserved.
60997 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60999         strftime: remove dependencies on multibyte modules
61001         strftime depended on mbrlen, mbsinit, and wchar, but these modules
61002         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
61003         only if __osf__ is defined, and I suspect OSF doesn't need these
61004         other modules.  If my guess is wrong, we'll need to come up with a
61005         variant of strftime that doesn't need the multibyte modules.
61007         I discovered this problem when attempting modify Emacs to use the
61008         strftime module.  With the previous gnulib, this caused Emacs to
61009         need 31 new files, ranging from lib/config.charset to
61010         m4/wint_t.m4.  This was overkill and I expect would be offputting
61011         to the Emacs maintainers.  After this change, only 6 new files are
61012         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
61013         stdbool.m4, and tm_gmtoff.m4.
61015         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
61016         Suggested by Bruno Haible in
61017         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
61018         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
61019         and do not check for wchar.h.
61020         * modules/strftime (Files): Remove m4/mbstate_t.m4.
61021         (Depends-on): Remove mbrlen, mbsinit, wchar.
61023 2011-01-18  Bruno Haible  <bruno@clisp.org>
61025         Tests for module 'get-rusage-as'.
61026         * modules/get-rusage-as-tests: New file.
61027         * tests/test-get-rusage-as.c: New file.
61029         New module 'get-rusage-as'.
61030         * modules/get-rusage-as: New file.
61031         * lib/resource-ext.h: New file.
61032         * lib/get-rusage-as.c: New file.
61034 2011-01-17  Eric Blake  <eblake@redhat.com>
61036         sigaction: relax license from LGPLv3+ to LGPLv2+
61037         * modules/sigaction (License): Relax to LGPLv2+.
61039 2011-01-14  Bruno Haible  <bruno@clisp.org>
61041         filemode: Make function declarations usable in C++ mode.
61042         * lib/filemode.h: Enclose function declarations in extern "C" block.
61043         Reported by John W. Eaton <jwe@gnu.org>.
61045 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
61047         save-cwd: no longer include "xgetcwd.h"
61048         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
61049         This avoids a compilation failure in projects that use save-cwd
61050         without also using the xgetcwd module.
61052 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61054         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
61055         This is so that a program like Emacs, which needs only dtoastr,
61056         does not have to bother with distributing and compiling ftoastr
61057         and ldtoastr.
61058         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
61059         * modules/dtoastr, modules/ldtoastr: New files.
61060         * modules/ftoastr: Now works just for 'float'.
61061         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
61062         (Makefile.am): Remove ftoastr.h (not needed and no effect),
61063         dtoastr.c, ldtoastr.c.
61065 2011-01-11  Jim Meyering  <meyering@redhat.com>
61067         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
61068         There is no need to work around the lack of the fchdir function,
61069         since gnulib can now provide a replacement when required.
61070         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
61071         * modules/save-cwd (Depends-on): Add fchdir.
61073 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61075         openat, save-cwd: avoid xmalloc
61077         This removes a direct (but undocumented) dependency of openat on
61078         xalloc, along with an indirect dependency via save-cwd.  It also
61079         removes a dependency of save-cwd on xgetcwd, and thereby
61080         indirectly on xalloc.  This change causes the openat substitute
61081         to fall back on save_cwd when memory is tight, and for save_cwd to
61082         fail instead of dying when memory is tight, but that's good enough.
61083         Problem and initial idea for fix reported by Bastien Roucaries in
61084         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
61086         * lib/openat-proc.c: Include stdlib.h (for malloc), not
61087         xalloc.h (for xmalloc).
61088         (openat_proc_name): Use malloc, not xmalloc.
61089         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
61090         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
61092         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
61093         This avoids heap allocation for file names whose lengths are in
61094         the range 512..1023, with the upper bound increasing to at most
61095         4031 depending on the platform's PATH_MAX.  (We do not want
61096         pathmax.h here as it might supply a non-constant PATH_MAX.)
61097         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
61098         Perhaps they should be moved to malloca.h?
61099         (OPENAT_BUFFER_SIZE): Use them.
61101 2011-01-10  Bruno Haible  <bruno@clisp.org>
61103         doc: Update users.txt.
61104         * users.txt: Add recutils.
61106 2011-01-09  Karl Berry  <karl@gnu.org>
61108         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
61110         * doc/configmake.texi: New file.
61111         * doc/gnulib.texi: Include it.
61112         * modules/configmake: Move documentation from here.
61114 2011-01-09  Bruno Haible  <bruno@clisp.org>
61116         Update to Unicode 6.0.0.
61117         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
61118         (get_lbp): Update for Unicode 6.0.0.
61119         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
61120         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
61121         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
61122         U+11001, U+11038..U+11046. Remove U+06DE.
61123         (uc_width): Fix bounds of planes.
61124         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61125         lib/uniwidth/width.c.
61126         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
61127         trailing whitespace removed.
61128         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
61129         without comments, but with the original copyright notice.
61130         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
61131         * lib/unicase/ignorable.h: Likewise.
61132         * lib/unicase/tocasefold.h: Likewise.
61133         * lib/unicase/tolower.h: Likewise.
61134         * lib/unicase/totitle.h: Likewise.
61135         * lib/unicase/toupper.h: Likewise.
61136         * lib/unictype/bidi_of.h: Likewise.
61137         * lib/unictype/blocks.h: Likewise.
61138         * lib/unictype/categ_C.h: Likewise.
61139         * lib/unictype/categ_Cn.h: Likewise.
61140         * lib/unictype/categ_L.h: Likewise.
61141         * lib/unictype/categ_Ll.h: Likewise.
61142         * lib/unictype/categ_Lm.h: Likewise.
61143         * lib/unictype/categ_Lo.h: Likewise.
61144         * lib/unictype/categ_Lu.h: Likewise.
61145         * lib/unictype/categ_M.h: Likewise.
61146         * lib/unictype/categ_Mc.h: Likewise.
61147         * lib/unictype/categ_Me.h: Likewise.
61148         * lib/unictype/categ_Mn.h: Likewise.
61149         * lib/unictype/categ_N.h: Likewise.
61150         * lib/unictype/categ_Nd.h: Likewise.
61151         * lib/unictype/categ_No.h: Likewise.
61152         * lib/unictype/categ_P.h: Likewise.
61153         * lib/unictype/categ_Po.h: Likewise.
61154         * lib/unictype/categ_S.h: Likewise.
61155         * lib/unictype/categ_Sc.h: Likewise.
61156         * lib/unictype/categ_Sk.h: Likewise.
61157         * lib/unictype/categ_Sm.h: Likewise.
61158         * lib/unictype/categ_So.h: Likewise.
61159         * lib/unictype/categ_of.h: Likewise.
61160         * lib/unictype/combining.h: Likewise.
61161         * lib/unictype/ctype_alnum.h: Likewise.
61162         * lib/unictype/ctype_alpha.h: Likewise.
61163         * lib/unictype/ctype_graph.h: Likewise.
61164         * lib/unictype/ctype_lower.h: Likewise.
61165         * lib/unictype/ctype_print.h: Likewise.
61166         * lib/unictype/ctype_punct.h: Likewise.
61167         * lib/unictype/ctype_upper.h: Likewise.
61168         * lib/unictype/decdigit.h: Likewise.
61169         * lib/unictype/digit.h: Likewise.
61170         * lib/unictype/numeric.h: Likewise.
61171         * lib/unictype/pr_alphabetic.h: Likewise.
61172         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61173         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61174         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61175         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61176         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61177         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61178         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61179         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61180         * lib/unictype/pr_case_ignorable.h: Likewise.
61181         * lib/unictype/pr_cased.h: Likewise.
61182         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
61183         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
61184         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
61185         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
61186         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
61187         * lib/unictype/pr_combining.h: Likewise.
61188         * lib/unictype/pr_composite.h: Likewise.
61189         * lib/unictype/pr_currency_symbol.h: Likewise.
61190         * lib/unictype/pr_decimal_digit.h: Likewise.
61191         * lib/unictype/pr_deprecated.h: Likewise.
61192         * lib/unictype/pr_format_control.h: Likewise.
61193         * lib/unictype/pr_grapheme_base.h: Likewise.
61194         * lib/unictype/pr_grapheme_extend.h: Likewise.
61195         * lib/unictype/pr_grapheme_link.h: Likewise.
61196         * lib/unictype/pr_id_continue.h: Likewise.
61197         * lib/unictype/pr_id_start.h: Likewise.
61198         * lib/unictype/pr_ideographic.h: Likewise.
61199         * lib/unictype/pr_lowercase.h: Likewise.
61200         * lib/unictype/pr_math.h: Likewise.
61201         * lib/unictype/pr_numeric.h: Likewise.
61202         * lib/unictype/pr_other_alphabetic.h: Likewise.
61203         * lib/unictype/pr_other_id_continue.h: Likewise.
61204         * lib/unictype/pr_other_math.h: Likewise.
61205         * lib/unictype/pr_punctuation.h: Likewise.
61206         * lib/unictype/pr_sentence_terminal.h: Likewise.
61207         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61208         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61209         * lib/unictype/pr_unified_ideograph.h: Likewise.
61210         * lib/unictype/pr_uppercase.h: Likewise.
61211         * lib/unictype/pr_xid_continue.h: Likewise.
61212         * lib/unictype/pr_xid_start.h: Likewise.
61213         * lib/unictype/scripts.h: Likewise.
61214         * lib/unictype/scripts_byname.gperf: Likewise.
61215         * lib/unictype/sy_java_ident.h: Likewise.
61216         * lib/unigbrk/gbrkprop.h: Likewise.
61217         * lib/unilbrk/lbrkprop1.h: Likewise.
61218         * lib/unilbrk/lbrkprop2.h: Likewise.
61219         * lib/uninorm/decomposition-table2.h: Likewise.
61220         * lib/uniwbrk/wbrkprop.h: Likewise.
61221         * tests/unicase/test-cased.c: Likewise.
61222         * tests/unicase/test-ignorable.c: Likewise.
61223         * tests/unicase/test-uc_tolower.c: Likewise.
61224         * tests/unicase/test-uc_totitle.c: Likewise.
61225         * tests/unicase/test-uc_toupper.c: Likewise.
61226         * tests/unictype/test-categ_C.c: Likewise.
61227         * tests/unictype/test-categ_Cn.c: Likewise.
61228         * tests/unictype/test-categ_L.c: Likewise.
61229         * tests/unictype/test-categ_Ll.c: Likewise.
61230         * tests/unictype/test-categ_Lm.c: Likewise.
61231         * tests/unictype/test-categ_Lo.c: Likewise.
61232         * tests/unictype/test-categ_Lu.c: Likewise.
61233         * tests/unictype/test-categ_M.c: Likewise.
61234         * tests/unictype/test-categ_Mc.c: Likewise.
61235         * tests/unictype/test-categ_Me.c: Likewise.
61236         * tests/unictype/test-categ_Mn.c: Likewise.
61237         * tests/unictype/test-categ_N.c: Likewise.
61238         * tests/unictype/test-categ_Nd.c: Likewise.
61239         * tests/unictype/test-categ_No.c: Likewise.
61240         * tests/unictype/test-categ_P.c: Likewise.
61241         * tests/unictype/test-categ_Po.c: Likewise.
61242         * tests/unictype/test-categ_S.c: Likewise.
61243         * tests/unictype/test-categ_Sc.c: Likewise.
61244         * tests/unictype/test-categ_Sk.c: Likewise.
61245         * tests/unictype/test-categ_Sm.c: Likewise.
61246         * tests/unictype/test-categ_So.c: Likewise.
61247         * tests/unictype/test-ctype_alnum.c: Likewise.
61248         * tests/unictype/test-ctype_alpha.c: Likewise.
61249         * tests/unictype/test-ctype_graph.c: Likewise.
61250         * tests/unictype/test-ctype_lower.c: Likewise.
61251         * tests/unictype/test-ctype_print.c: Likewise.
61252         * tests/unictype/test-ctype_punct.c: Likewise.
61253         * tests/unictype/test-ctype_upper.c: Likewise.
61254         * tests/unictype/test-decdigit.h: Likewise.
61255         * tests/unictype/test-digit.h: Likewise.
61256         * tests/unictype/test-numeric.h: Likewise.
61257         * tests/unictype/test-pr_alphabetic.c: Likewise.
61258         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61259         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61260         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61261         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61262         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61263         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61264         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61265         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61266         * tests/unictype/test-pr_case_ignorable.c: Likewise.
61267         * tests/unictype/test-pr_cased.c: Likewise.
61268         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
61269         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
61270         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
61271         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
61272         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
61273         * tests/unictype/test-pr_combining.c: Likewise.
61274         * tests/unictype/test-pr_composite.c: Likewise.
61275         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61276         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61277         * tests/unictype/test-pr_deprecated.c: Likewise.
61278         * tests/unictype/test-pr_format_control.c: Likewise.
61279         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61280         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61281         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61282         * tests/unictype/test-pr_id_continue.c: Likewise.
61283         * tests/unictype/test-pr_id_start.c: Likewise.
61284         * tests/unictype/test-pr_ideographic.c: Likewise.
61285         * tests/unictype/test-pr_lowercase.c: Likewise.
61286         * tests/unictype/test-pr_math.c: Likewise.
61287         * tests/unictype/test-pr_numeric.c: Likewise.
61288         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61289         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61290         * tests/unictype/test-pr_other_math.c: Likewise.
61291         * tests/unictype/test-pr_punctuation.c: Likewise.
61292         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61293         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61294         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61295         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61296         * tests/unictype/test-pr_uppercase.c: Likewise.
61297         * tests/unictype/test-pr_xid_continue.c: Likewise.
61298         * tests/unictype/test-pr_xid_start.c: Likewise.
61299         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61300         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61301         changes.
61302         * lib/unictype/categ_Cc.h: Likewise.
61303         * lib/unictype/categ_Cf.h: Likewise.
61304         * lib/unictype/categ_Co.h: Likewise.
61305         * lib/unictype/categ_Cs.h: Likewise.
61306         * lib/unictype/categ_Lt.h: Likewise.
61307         * lib/unictype/categ_Nl.h: Likewise.
61308         * lib/unictype/categ_Pc.h: Likewise.
61309         * lib/unictype/categ_Pd.h: Likewise.
61310         * lib/unictype/categ_Pe.h: Likewise.
61311         * lib/unictype/categ_Pf.h: Likewise.
61312         * lib/unictype/categ_Pi.h: Likewise.
61313         * lib/unictype/categ_Ps.h: Likewise.
61314         * lib/unictype/categ_Z.h: Likewise.
61315         * lib/unictype/categ_Zl.h: Likewise.
61316         * lib/unictype/categ_Zp.h: Likewise.
61317         * lib/unictype/categ_Zs.h: Likewise.
61318         * lib/unictype/ctype_blank.h: Likewise.
61319         * lib/unictype/ctype_cntrl.h: Likewise.
61320         * lib/unictype/ctype_digit.h: Likewise.
61321         * lib/unictype/ctype_space.h: Likewise.
61322         * lib/unictype/ctype_xdigit.h: Likewise.
61323         * lib/unictype/mirror.h: Likewise.
61324         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61325         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61326         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61327         * lib/unictype/pr_bidi_control.h: Likewise.
61328         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61329         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61330         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61331         * lib/unictype/pr_bidi_pdf.h: Likewise.
61332         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61333         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61334         * lib/unictype/pr_dash.h: Likewise.
61335         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61336         * lib/unictype/pr_diacritic.h: Likewise.
61337         * lib/unictype/pr_extender.h: Likewise.
61338         * lib/unictype/pr_hex_digit.h: Likewise.
61339         * lib/unictype/pr_hyphen.h: Likewise.
61340         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61341         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61342         * lib/unictype/pr_ignorable_control.h: Likewise.
61343         * lib/unictype/pr_iso_control.h: Likewise.
61344         * lib/unictype/pr_join_control.h: Likewise.
61345         * lib/unictype/pr_left_of_pair.h: Likewise.
61346         * lib/unictype/pr_line_separator.h: Likewise.
61347         * lib/unictype/pr_logical_order_exception.h: Likewise.
61348         * lib/unictype/pr_non_break.h: Likewise.
61349         * lib/unictype/pr_not_a_character.h: Likewise.
61350         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61351         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61352         * lib/unictype/pr_other_id_start.h: Likewise.
61353         * lib/unictype/pr_other_lowercase.h: Likewise.
61354         * lib/unictype/pr_other_uppercase.h: Likewise.
61355         * lib/unictype/pr_paired_punctuation.h: Likewise.
61356         * lib/unictype/pr_paragraph_separator.h: Likewise.
61357         * lib/unictype/pr_pattern_syntax.h: Likewise.
61358         * lib/unictype/pr_pattern_white_space.h: Likewise.
61359         * lib/unictype/pr_private_use.h: Likewise.
61360         * lib/unictype/pr_quotation_mark.h: Likewise.
61361         * lib/unictype/pr_radical.h: Likewise.
61362         * lib/unictype/pr_soft_dotted.h: Likewise.
61363         * lib/unictype/pr_space.h: Likewise.
61364         * lib/unictype/pr_titlecase.h: Likewise.
61365         * lib/unictype/pr_variation_selector.h: Likewise.
61366         * lib/unictype/pr_white_space.h: Likewise.
61367         * lib/unictype/pr_zero_width.h: Likewise.
61368         * lib/unictype/sy_c_ident.h: Likewise.
61369         * lib/unictype/sy_c_whitespace.h: Likewise.
61370         * lib/unictype/sy_java_whitespace.h: Likewise.
61371         * lib/uninorm/composition-table.gperf: Likewise.
61372         * lib/uninorm/decomposition-table1.h: Likewise.
61373         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
61374         LB8.
61375         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61376         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61377         * modules/unictype/*: Bump version number of expected libunistring
61378         version.
61380 2011-01-09  Bruno Haible  <bruno@clisp.org>
61382         Update to Unicode 5.2.0.
61383         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
61384         trailing whitespace removed.
61386 2011-01-09  Bruno Haible  <bruno@clisp.org>
61388         New Unicode character properties, from Unicode 5.2.0.
61389         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
61390         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
61391         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
61392         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
61393         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
61394         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
61395         uc_is_property_cased, uc_is_property_case_ignorable,
61396         uc_is_property_changes_when_lowercased,
61397         uc_is_property_changes_when_uppercased,
61398         uc_is_property_changes_when_titlecased,
61399         uc_is_property_changes_when_casefolded,
61400         uc_is_property_changes_when_casemapped): New declarations.
61401         * lib/unictype/pr_byname.gperf: Add the new properties.
61402         * modules/unictype/property-byname (Depends-on): Depend on the new
61403         properties modules.
61404         * modules/unictype/property-all (Depends-on): Likewise.
61405         * MODULES.html.sh (Unicode string functions): Add
61406         unictype/property-case-ignorable, unictype/property-cased,
61407         unictype/property-changes-when-casefolded,
61408         unictype/property-changes-when-casemapped,
61409         unictype/property-changes-when-lowercased,
61410         unictype/property-changes-when-titlecased,
61411         unictype/property-changes-when-uppercased.
61413         New module 'unictype/property-changes-when-casemapped'.
61414         * modules/unictype/property-changes-when-casemapped: New file.
61415         * lib/unictype/pr_changes_when_casemapped.c: New file.
61416         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
61417         generated by gen-uni-tables.
61418         * modules/unictype/property-changes-when-casemapped-tests: New file.
61419         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
61420         automatically generated by gen-uni-tables.
61422         New module 'unictype/property-changes-when-casefolded'.
61423         * modules/unictype/property-changes-when-casefolded: New file.
61424         * lib/unictype/pr_changes_when_casefolded.c: New file.
61425         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
61426         generated by gen-uni-tables.
61427         * modules/unictype/property-changes-when-casefolded-tests: New file.
61428         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
61429         automatically generated by gen-uni-tables.
61431         New module 'unictype/property-changes-when-titlecased'.
61432         * modules/unictype/property-changes-when-titlecased: New file.
61433         * lib/unictype/pr_changes_when_titlecased.c: New file.
61434         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
61435         generated by gen-uni-tables.
61436         * modules/unictype/property-changes-when-titlecased-tests: New file.
61437         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
61438         automatically generated by gen-uni-tables.
61440         New module 'unictype/property-changes-when-uppercased'.
61441         * modules/unictype/property-changes-when-uppercased: New file.
61442         * lib/unictype/pr_changes_when_uppercased.c: New file.
61443         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
61444         generated by gen-uni-tables.
61445         * modules/unictype/property-changes-when-uppercased-tests: New file.
61446         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
61447         automatically generated by gen-uni-tables.
61449         New module 'unictype/property-changes-when-lowercased'.
61450         * modules/unictype/property-changes-when-lowercased: New file.
61451         * lib/unictype/pr_changes_when_lowercased.c: New file.
61452         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
61453         generated by gen-uni-tables.
61454         * modules/unictype/property-changes-when-lowercased-tests: New file.
61455         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
61456         automatically generated by gen-uni-tables.
61458         New module 'unictype/property-case-ignorable'.
61459         * modules/unictype/property-case-ignorable: New file.
61460         * lib/unictype/pr_case_ignorable.c: New file.
61461         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
61462         by gen-uni-tables.
61463         * modules/unictype/property-case-ignorable-tests: New file.
61464         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
61465         generated by gen-uni-tables.
61467         New module 'unictype/property-cased'.
61468         * modules/unictype/property-cased: New file.
61469         * lib/unictype/pr_cased.c: New file.
61470         * lib/unictype/pr_cased.h: New file, automatically generated by
61471         gen-uni-tables.
61472         * modules/unictype/property-cased-tests: New file.
61473         * tests/unictype/test-pr_cased.c: New file, automatically generated by
61474         gen-uni-tables.
61476 2011-01-09  Bruno Haible  <bruno@clisp.org>
61478         Update to Unicode 5.2.0.
61479         * lib/gen-uni-tables.c (output_predicate, output_category,
61480         output_combclass, output_bidi_category, output_decimal_digit_test,
61481         output_decimal_digit, output_digit_test, output_digit,
61482         output_numeric_test, output_numeric, output_mirror, output_scripts,
61483         output_scripts_byname, output_blocks, output_ident_category): Fix
61484         comment header.
61485         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
61486         get_wbp.
61487         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
61488         items.
61489         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
61490         Changes_When_Lowercased, Changes_When_Uppercased,
61491         Changes_When_Titlecased, Changes_When_Casefolded,
61492         Changes_When_Casemapped.
61493         (is_property_alphabetic, is_property_default_ignorable_code_point):
61494         Update for Unicode 5.2.0.
61495         (is_property_cased, is_property_case_ignorable,
61496         is_property_changes_when_lowercased,
61497         is_property_changes_when_uppercased,
61498         is_property_changes_when_titlecased,
61499         is_property_changes_when_casefolded,
61500         is_property_changes_when_casemapped): New functions.
61501         (output_properties): Output also the properties cased, case_ignorable,
61502         changes_when_lowercased, changes_when_uppercased,
61503         changes_when_titlecased, changes_when_casefolded,
61504         changes_when_casemapped.
61505         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
61506         Unicode TR#11 revision 17 -> 19.
61507         (LBP_CP): New enumeration value.
61508         (LBP_*): Adjust values accordingly.
61509         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61510         TR#14 revision 22 -> 24.
61511         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
61512         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
61513         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61514         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
61515         is_WBP_MIDLETTER.
61516         (output_composition_tables): Allow for 24 bits instead of 16 bits in
61517         the code1 and code2 of each composition rule.
61518         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
61519         * lib/unicase/ignorable.h: Likewise.
61520         * lib/unicase/tocasefold.h: Likewise.
61521         * lib/unicase/tolower.h: Likewise.
61522         * lib/unicase/totitle.h: Likewise.
61523         * lib/unicase/toupper.h: Likewise.
61524         * lib/unictype/bidi_of.h: Likewise.
61525         * lib/unictype/blocks.h: Likewise.
61526         * lib/unictype/categ_C.h: Likewise.
61527         * lib/unictype/categ_Cf.h: Likewise.
61528         * lib/unictype/categ_Cn.h: Likewise.
61529         * lib/unictype/categ_L.h: Likewise.
61530         * lib/unictype/categ_Ll.h: Likewise.
61531         * lib/unictype/categ_Lm.h: Likewise.
61532         * lib/unictype/categ_Lo.h: Likewise.
61533         * lib/unictype/categ_Lu.h: Likewise.
61534         * lib/unictype/categ_M.h: Likewise.
61535         * lib/unictype/categ_Mc.h: Likewise.
61536         * lib/unictype/categ_Mn.h: Likewise.
61537         * lib/unictype/categ_N.h: Likewise.
61538         * lib/unictype/categ_Nd.h: Likewise.
61539         * lib/unictype/categ_Nl.h: Likewise.
61540         * lib/unictype/categ_No.h: Likewise.
61541         * lib/unictype/categ_P.h: Likewise.
61542         * lib/unictype/categ_Pd.h: Likewise.
61543         * lib/unictype/categ_Po.h: Likewise.
61544         * lib/unictype/categ_S.h: Likewise.
61545         * lib/unictype/categ_Sc.h: Likewise.
61546         * lib/unictype/categ_So.h: Likewise.
61547         * lib/unictype/categ_of.h: Likewise.
61548         * lib/unictype/combining.h: Likewise.
61549         * lib/unictype/ctype_alnum.h: Likewise.
61550         * lib/unictype/ctype_alpha.h: Likewise.
61551         * lib/unictype/ctype_graph.h: Likewise.
61552         * lib/unictype/ctype_lower.h: Likewise.
61553         * lib/unictype/ctype_print.h: Likewise.
61554         * lib/unictype/ctype_punct.h: Likewise.
61555         * lib/unictype/ctype_upper.h: Likewise.
61556         * lib/unictype/decdigit.h: Likewise.
61557         * lib/unictype/digit.h: Likewise.
61558         * lib/unictype/numeric.h: Likewise.
61559         * lib/unictype/pr_alphabetic.h: Likewise.
61560         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61561         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61562         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61563         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61564         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61565         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61566         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61567         * lib/unictype/pr_combining.h: Likewise.
61568         * lib/unictype/pr_composite.h: Likewise.
61569         * lib/unictype/pr_currency_symbol.h: Likewise.
61570         * lib/unictype/pr_dash.h: Likewise.
61571         * lib/unictype/pr_decimal_digit.h: Likewise.
61572         * lib/unictype/pr_deprecated.h: Likewise.
61573         * lib/unictype/pr_diacritic.h: Likewise.
61574         * lib/unictype/pr_extender.h: Likewise.
61575         * lib/unictype/pr_grapheme_base.h: Likewise.
61576         * lib/unictype/pr_grapheme_extend.h: Likewise.
61577         * lib/unictype/pr_grapheme_link.h: Likewise.
61578         * lib/unictype/pr_id_continue.h: Likewise.
61579         * lib/unictype/pr_id_start.h: Likewise.
61580         * lib/unictype/pr_ideographic.h: Likewise.
61581         * lib/unictype/pr_ignorable_control.h: Likewise.
61582         * lib/unictype/pr_logical_order_exception.h: Likewise.
61583         * lib/unictype/pr_lowercase.h: Likewise.
61584         * lib/unictype/pr_numeric.h: Likewise.
61585         * lib/unictype/pr_other_alphabetic.h: Likewise.
61586         * lib/unictype/pr_punctuation.h: Likewise.
61587         * lib/unictype/pr_sentence_terminal.h: Likewise.
61588         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61589         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61590         * lib/unictype/pr_unified_ideograph.h: Likewise.
61591         * lib/unictype/pr_uppercase.h: Likewise.
61592         * lib/unictype/pr_xid_continue.h: Likewise.
61593         * lib/unictype/pr_xid_start.h: Likewise.
61594         * lib/unictype/pr_zero_width.h: Likewise.
61595         * lib/unictype/scripts.h: Likewise.
61596         * lib/unictype/scripts_byname.gperf: Likewise.
61597         * lib/unictype/sy_java_ident.h: Likewise.
61598         * lib/unigbrk/gbrkprop.h: Likewise.
61599         * lib/unilbrk/lbrkprop1.h: Likewise.
61600         * lib/unilbrk/lbrkprop2.h: Likewise.
61601         * lib/unilbrk/lbrktables.h: Likewise.
61602         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
61603         LBP_CP. Implement rule LB30.
61604         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
61605         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
61606         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
61607         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
61608         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
61609         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
61610         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
61611         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
61612         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
61613         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
61614         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
61615         bits instead of 16 bits in the code1 and code2 of each composition
61616         rule.
61617         (uc_composition): Update for Unicode 5.2.0.
61618         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
61619         * lib/uninorm/decomposition-table2.h: Likewise.
61620         * lib/uniwbrk/wbrkprop.h: Likewise.
61621         * tests/unicase/test-cased.c: Likewise.
61622         * tests/unicase/test-ignorable.c: Likewise.
61623         * tests/unicase/test-uc_tolower.c: Likewise.
61624         * tests/unicase/test-uc_totitle.c: Likewise.
61625         * tests/unicase/test-uc_toupper.c: Likewise.
61626         * tests/unictype/test-categ_C.c: Likewise.
61627         * tests/unictype/test-categ_Cf.c: Likewise.
61628         * tests/unictype/test-categ_Cn.c: Likewise.
61629         * tests/unictype/test-categ_L.c: Likewise.
61630         * tests/unictype/test-categ_Ll.c: Likewise.
61631         * tests/unictype/test-categ_Lm.c: Likewise.
61632         * tests/unictype/test-categ_Lo.c: Likewise.
61633         * tests/unictype/test-categ_Lu.c: Likewise.
61634         * tests/unictype/test-categ_M.c: Likewise.
61635         * tests/unictype/test-categ_Mc.c: Likewise.
61636         * tests/unictype/test-categ_Mn.c: Likewise.
61637         * tests/unictype/test-categ_N.c: Likewise.
61638         * tests/unictype/test-categ_Nd.c: Likewise.
61639         * tests/unictype/test-categ_Nl.c: Likewise.
61640         * tests/unictype/test-categ_No.c: Likewise.
61641         * tests/unictype/test-categ_P.c: Likewise.
61642         * tests/unictype/test-categ_Pd.c: Likewise.
61643         * tests/unictype/test-categ_Po.c: Likewise.
61644         * tests/unictype/test-categ_S.c: Likewise.
61645         * tests/unictype/test-categ_Sc.c: Likewise.
61646         * tests/unictype/test-categ_So.c: Likewise.
61647         * tests/unictype/test-ctype_alnum.c: Likewise.
61648         * tests/unictype/test-ctype_alpha.c: Likewise.
61649         * tests/unictype/test-ctype_graph.c: Likewise.
61650         * tests/unictype/test-ctype_lower.c: Likewise.
61651         * tests/unictype/test-ctype_print.c: Likewise.
61652         * tests/unictype/test-ctype_punct.c: Likewise.
61653         * tests/unictype/test-ctype_upper.c: Likewise.
61654         * tests/unictype/test-decdigit.h: Likewise.
61655         * tests/unictype/test-digit.h: Likewise.
61656         * tests/unictype/test-numeric.h: Likewise.
61657         * tests/unictype/test-pr_alphabetic.c: Likewise.
61658         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61659         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61660         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61661         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61662         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61663         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61664         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61665         * tests/unictype/test-pr_combining.c: Likewise.
61666         * tests/unictype/test-pr_composite.c: Likewise.
61667         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61668         * tests/unictype/test-pr_dash.c: Likewise.
61669         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61670         * tests/unictype/test-pr_deprecated.c: Likewise.
61671         * tests/unictype/test-pr_diacritic.c: Likewise.
61672         * tests/unictype/test-pr_extender.c: Likewise.
61673         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61674         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61675         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61676         * tests/unictype/test-pr_id_continue.c: Likewise.
61677         * tests/unictype/test-pr_id_start.c: Likewise.
61678         * tests/unictype/test-pr_ideographic.c: Likewise.
61679         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61680         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61681         * tests/unictype/test-pr_lowercase.c: Likewise.
61682         * tests/unictype/test-pr_numeric.c: Likewise.
61683         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61684         * tests/unictype/test-pr_punctuation.c: Likewise.
61685         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61686         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61687         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61688         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61689         * tests/unictype/test-pr_uppercase.c: Likewise.
61690         * tests/unictype/test-pr_xid_continue.c: Likewise.
61691         * tests/unictype/test-pr_xid_start.c: Likewise.
61692         * tests/unictype/test-pr_zero_width.c: Likewise.
61693         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61694         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
61695         changed behaviour: line breaking is now disallowed between a letter
61696         or '=' and '('.
61697         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61698         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61699         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
61700         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
61701         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61702         lib/uniwidth/width.c.
61703         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
61704         without comments, but with the original copyright notice.
61705         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61706         changes.
61707         * lib/unictype/categ_Cc.h: Likewise.
61708         * lib/unictype/categ_Co.h: Likewise.
61709         * lib/unictype/categ_Cs.h: Likewise.
61710         * lib/unictype/categ_Lt.h: Likewise.
61711         * lib/unictype/categ_Me.h: Likewise.
61712         * lib/unictype/categ_Pc.h: Likewise.
61713         * lib/unictype/categ_Pe.h: Likewise.
61714         * lib/unictype/categ_Pf.h: Likewise.
61715         * lib/unictype/categ_Pi.h: Likewise.
61716         * lib/unictype/categ_Ps.h: Likewise.
61717         * lib/unictype/categ_Sk.h: Likewise.
61718         * lib/unictype/categ_Sm.h: Likewise.
61719         * lib/unictype/categ_Z.h: Likewise.
61720         * lib/unictype/categ_Zl.h: Likewise.
61721         * lib/unictype/categ_Zp.h: Likewise.
61722         * lib/unictype/categ_Zs.h: Likewise.
61723         * lib/unictype/ctype_blank.h: Likewise.
61724         * lib/unictype/ctype_cntrl.h: Likewise.
61725         * lib/unictype/ctype_digit.h: Likewise.
61726         * lib/unictype/ctype_space.h: Likewise.
61727         * lib/unictype/ctype_xdigit.h: Likewise.
61728         * lib/unictype/mirror.h: Likewise.
61729         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61730         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61731         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61732         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61733         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61734         * lib/unictype/pr_bidi_control.h: Likewise.
61735         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61736         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61737         * lib/unictype/pr_bidi_pdf.h: Likewise.
61738         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61739         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61740         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61741         * lib/unictype/pr_format_control.h: Likewise.
61742         * lib/unictype/pr_hex_digit.h: Likewise.
61743         * lib/unictype/pr_hyphen.h: Likewise.
61744         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61745         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61746         * lib/unictype/pr_iso_control.h: Likewise.
61747         * lib/unictype/pr_join_control.h: Likewise.
61748         * lib/unictype/pr_left_of_pair.h: Likewise.
61749         * lib/unictype/pr_line_separator.h: Likewise.
61750         * lib/unictype/pr_math.h: Likewise.
61751         * lib/unictype/pr_non_break.h: Likewise.
61752         * lib/unictype/pr_not_a_character.h: Likewise.
61753         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61754         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61755         * lib/unictype/pr_other_id_continue.h: Likewise.
61756         * lib/unictype/pr_other_id_start.h: Likewise.
61757         * lib/unictype/pr_other_lowercase.h: Likewise.
61758         * lib/unictype/pr_other_math.h: Likewise.
61759         * lib/unictype/pr_other_uppercase.h: Likewise.
61760         * lib/unictype/pr_paired_punctuation.h: Likewise.
61761         * lib/unictype/pr_paragraph_separator.h: Likewise.
61762         * lib/unictype/pr_pattern_syntax.h: Likewise.
61763         * lib/unictype/pr_pattern_white_space.h: Likewise.
61764         * lib/unictype/pr_private_use.h: Likewise.
61765         * lib/unictype/pr_quotation_mark.h: Likewise.
61766         * lib/unictype/pr_radical.h: Likewise.
61767         * lib/unictype/pr_soft_dotted.h: Likewise.
61768         * lib/unictype/pr_space.h: Likewise.
61769         * lib/unictype/pr_titlecase.h: Likewise.
61770         * lib/unictype/pr_variation_selector.h: Likewise.
61771         * lib/unictype/pr_white_space.h: Likewise.
61772         * lib/unictype/sy_c_ident.h: Likewise.
61773         * lib/unictype/sy_c_whitespace.h: Likewise.
61774         * lib/unictype/sy_java_whitespace.h: Likewise.
61775         * modules/uni*/*: Bump version number of expected libunistring version.
61776         Reported by Simon Josefsson.
61778 2011-01-09  Karl Heuer  <kwzh@gnu.org>
61780         useless-if-before-free: fix typo in --help and make the internal,
61781         automatic version date update process work once again.
61782         --help output contained a NUL character instead of the
61783         backslash-zero that was intended.  Also, the "must lie within
61784         the first 8 lines" line is on line 9, and hence not getting
61785         automatically updated.
61786         * build-aux/useless-if-before-free: Fix the former by adding a
61787         backslash, and the latter by condensing the three lines of what-it-does
61788         to a single line, leaving one line of slack for the future.
61790 2011-01-09  Bruno Haible  <bruno@clisp.org>
61792         uniwidth/width: Fix width of U+1D173..U+1D17A.
61793         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
61794         symbolic_width, output_width_property_test): New functions.
61795         (main): Invoke output_nonspacing_property, output_width_property_test.
61796         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
61797         U+1D173..U+1D17A.
61798         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
61799         1.
61800         * modules/uniwidth/*: Bump version number of expected libunistring
61801         version.
61802         * modules/unilbrk/*: Likewise.
61804 2011-01-08  Bruno Haible  <bruno@clisp.org>
61806         uninorm tests: Preserve copyright of Unicode data file.
61807         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
61808         Mention modifications.
61810 2011-01-08  Bruno Haible  <bruno@clisp.org>
61812         gen-uni-tables: Prepare for Unicode 5.2.0.
61813         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
61814         (debug_output_lbp, output_lbp): Update.
61816 2011-01-08  Bruno Haible  <bruno@clisp.org>
61818         unilbrk: Clarify gen-uni-tables.c code.
61819         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
61820         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
61821         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
61823 2011-01-07  Bruno Haible  <bruno@clisp.org>
61825         strtod: Restore errno when successfully parsing Infinity or NaN.
61826         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
61827         restore the original errno.
61829 2011-01-07  Bruno Haible  <bruno@clisp.org>
61831         remove test: Avoid failure on HP-UX 11.
61832         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
61834 2011-01-07  Bruno Haible  <bruno@clisp.org>
61836         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
61837         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
61838         error code.
61840 2011-01-07  Pádraig Brady  <P@draigBrady.com>
61842         ignore-value: fixup comments, and add Eric Blake
61843         as an author since he rewrote the macros.
61844         * lib/ignore-value.h (ignore_value):  State that
61845         we now support aggregates.  Also specify exactly
61846         when the GCC warn_unused_result feature was added.
61848 2011-01-06  Eric Blake  <eblake@redhat.com>
61850         ignore-value: support aggregate types
61851         * lib/ignore-value.h (ignore_value): Provide separate gcc
61852         definition.
61853         * modules/ignore-value-tests: New test module.
61854         * tests/test-ignore-value.c: New test.
61856         maint.mk: improve sc_prohibit_strcmp regex
61857         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
61858         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
61859         definition of STRNEQ.
61861         signal: work around Haiku issue with SIGBUS
61862         * lib/siglist.h: Add comment.
61863         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
61864         strsignal's favoring of SIGSEGV.
61865         * tests/test-signal.c (main): Avoid test failure.
61866         * doc/posix-headers/signal.texi (signal.h): Document the issue.
61867         Reported by Scott McCreary.
61869         maint.mk: add pre-release check to ensure submodule commits are public
61870         * top/maint.mk (public-submodule-commit): New rule.
61871         (submodule-checks): New variable.
61872         (alpha beta stable): Depend on the variable.
61874 2011-01-05  Pádraig Brady  <P@draigBrady.com>
61875         and Jim Meyering  <meyering@redhat.com>
61877         ignore-value: make ignore_value more generic; deprecate ignore_ptr
61878         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
61879         (ATTRIBUTE_DEPRECATED): Define.
61880         (_ignore_case): New function.
61881         (ignore_value): New macro, to replace the old function.
61882         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
61883         * modules/ignore-value (Depends-on): Add stdint.
61885 2011-01-04  Eric Blake  <eblake@redhat.com>
61887         doc: regenerate INSTALL
61888         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
61889         @firstparagraphindent support, now that autoconf dropped it.
61890         (INSTALL_PRELUDE): Reinstate old macro.
61891         * doc/install.texi: Resync from autoconf.
61892         * doc/INSTALL: Reflect recent autoconf update.
61893         * doc/INSTALL.ISO: Likewise.
61894         * doc/INSTALL.UTF-8: Likewise.
61895         Reported by Karl Berry.
61897 2011-01-04  Bruce Korb  <address@hidden>
61899         git-version-gen: avoid a sub-shell
61900         * build-aux/git-version-gen: Redirect stderr in `...` via
61901         "exec 2>...", rather than via an added sub-shell.
61903 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
61905         git-version-gen: use (...) rather than sh -c '...'
61906         * build-aux/git-version-gen: Rather than hard-coding a shell's name
61907         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
61909 2011-01-03  Jim Meyering  <meyering@redhat.com>
61911         git-version-gen: convert leading TABs to spaces
61912         * build-aux/git-version-gen: Expand leading TABs.
61914         git-version-gen: handle failed "git rev-list"
61915         * build-aux/git-version-gen: Rather than leaking a "fatal" error
61916         from git and proceeding as if it had succeeded but printed no SHA1
61917         checksums, suppress the diagnostic and handle the failure.
61918         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
61920         git-version-gen: include command name in one more diagnostic
61921         * build-aux/git-version-gen: When the required .tarball-version file
61922         was missing or unreadable, you might see the diagnostic from "cat",
61923         but no trace of the name of the invoking script.  Now, you still see
61924         the diagnostic from cat, but also get one from "git-version-gen: ".
61925         Inspired by a patch from Bruce Korb.
61927         update-copyright: adjust test to match changed code
61928         * tests/test-update-copyright.sh: Change test's expected output
61929         to match new actual output.
61931 2011-01-02  Bruno Haible  <bruno@clisp.org>
61933         getlogin_r: Avoid test failure on HP-UX 11.
61934         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
61935         ERANGE when the second argument is zero.
61936         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
61937         portability problem.
61939 2011-01-02  Bruce Korb  <bkorb@gnu.org>
61941         * build-aux/update-copyright: doc Simon's changes
61943 2011-01-02  Simon Josefsson  <simon@josefsson.org>
61945         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
61946         environment variable.
61948 2011-01-02  Bruno Haible  <bruno@clisp.org>
61950         unigbrk: Avoid gcc warnings.
61951         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
61952         unused variable.
61953         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
61954         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
61955         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
61956         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
61957         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
61958         Change type of first argument to 'const char *'.
61959         (main): Remove unused variable.
61960         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
61961         type of first argument to 'const char *'.
61962         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
61963         Likewise.
61964         (main): Change type of variable 's'.
61965         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
61966         to 'int'.
61968 2011-01-02  Bruno Haible  <bruno@clisp.org>
61970         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
61971         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
61972         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
61973         bug.
61974         * lib/pwrite.c: Undo 2010-12-31 patch.
61975         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
61977 2011-01-02  Bruno Haible  <bruno@clisp.org>
61979         pread: Fix test whether it works.
61980         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
61982 2011-01-02  Bruno Haible  <bruno@clisp.org>
61984         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
61985         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
61986         ends in "6". Don't require a specific month name. Try also the locale
61987         names found on HP-UX 11 and Solaris 7.
61989 2011-01-02  Bruno Haible  <bruno@clisp.org>
61991         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
61992         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
61993         C linkage.
61994         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
61996 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61998         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
61999         for consistency, since the "cluster" term is not used elsewhere.
62000         * lib/unigbrk.in.h: Update name.
62001         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
62002         * lib/unigbrk/u16-grapheme-next.c: Update name.
62003         * lib/unigbrk/u16-grapheme-prev.c: Update name.
62004         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
62005         * lib/unigbrk/u32-grapheme-next.c: Update name.
62006         * lib/unigbrk/u32-grapheme-prev.c: Update name.
62007         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
62008         * lib/unigbrk/u8-grapheme-next.c: Update name.
62009         * lib/unigbrk/u8-grapheme-prev.c: Update name.
62010         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
62011         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
62012         Suggested by Bruno Haible.
62014 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62016         Remove module 'u8-grapheme-len' as too redundant with
62017         'u8-grapheme-next'.
62018         * modules/unigbrk/u8-grapheme-len: Delete file.
62019         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
62020         * lib/unigbrk.in.h: Remove prototype for deleted function.
62021         * lib/unigbrk/u8-grapheme-len.c: Delete file.
62022         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
62024         Remove module 'u16-grapheme-len' as too redundant with
62025         'u16-grapheme-next'.
62026         * modules/unigbrk/u16-grapheme-len: Delete file.
62027         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
62028         * lib/unigbrk.in.h: Remove prototype for deleted function.
62029         * lib/unigbrk/u16-grapheme-len.c: Delete file.
62030         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
62032         Remove module 'u32-grapheme-len' as too redundant with
62033         'u32-grapheme-next'.
62034         * modules/unigbrk/u32-grapheme-len: Delete file.
62035         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
62036         * lib/unigbrk.in.h: Remove prototype for deleted function.
62037         * lib/unigbrk/u32-grapheme-len.c: Delete file.
62038         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
62040         Suggested by Bruno Haible.
62042 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
62044         * unigbrk.in.h: Fix typo: "ben" => "been".
62045         Reported by Bruno Haible.
62047 2011-01-01  Jim Meyering  <meyering@redhat.com>
62049         maint: update almost all copyright ranges to include 2011
62050         Run the new "make update-copyright" rule.
62052 2011-01-01  Jim Meyering  <meyering@redhat.com>
62054         maint: update-copyright: exempt doc/INSTALL*
62055         * Makefile (update-copyright): Also exclude doc/INSTALL*,
62056         since they are generated.  Suggested by Bruno Haible.
62058 2011-01-01  Jim Meyering  <meyering@redhat.com>
62060         maint: refine the update-copyright rule
62061         * Makefile (update-copyright): Also exclude any file that includes
62062         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
62063         code that merely generates the comment.
62065 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62067         New module 'u8-grapheme-len'.
62068         * modules/unigbrk/u8-grapheme-len: New file.
62069         * modules/unigbrk/u8-grapheme-len-tests: New file.
62070         * lib/unigbrk.in.h: Add prototype for new function.
62071         * lib/unigbrk/u8-grapheme-len.c: New file.
62072         * tests/unigbrk/test-u8-grapheme-len.c: New file.
62074         New module 'u16-grapheme-len'.
62075         * modules/unigbrk/u16-grapheme-len: New file.
62076         * modules/unigbrk/u16-grapheme-len-tests: New file.
62077         * lib/unigbrk.in.h: Add prototype for new function.
62078         * lib/unigbrk/u16-grapheme-len.c: New file.
62079         * tests/unigbrk/test-u16-grapheme-len.c: New file.
62081         New module 'u32-grapheme-len'.
62082         * modules/unigbrk/u32-grapheme-len: New file.
62083         * modules/unigbrk/u32-grapheme-len-tests: New file.
62084         * lib/unigbrk.in.h: Add prototype for new function.
62085         * lib/unigbrk/u32-grapheme-len.c: New file.
62086         * tests/unigbrk/test-u32-grapheme-len.c: New file.
62088         New module 'u8-grapheme-next'.
62089         * modules/unigbrk/u8-grapheme-next: New file.
62090         * modules/unigbrk/u8-grapheme-next-tests: New file.
62091         * lib/unigbrk.in.h: Add prototype for new function.
62092         * lib/unigbrk/u8-grapheme-next.c: New file.
62093         * tests/unigbrk/test-u8-grapheme-next.c: New file.
62095         New module 'u16-grapheme-next'.
62096         * modules/unigbrk/u16-grapheme-next: New file.
62097         * modules/unigbrk/u16-grapheme-next-tests: New file.
62098         * lib/unigbrk.in.h: Add prototype for new function.
62099         * lib/unigbrk/u16-grapheme-next.c: New file.
62100         * tests/unigbrk/test-u16-grapheme-next.c: New file.
62102         New module 'u32-grapheme-next'.
62103         * modules/unigbrk/u32-grapheme-next: New file.
62104         * modules/unigbrk/u32-grapheme-next-tests: New file.
62105         * lib/unigbrk.in.h: Add prototype for new function.
62106         * lib/unigbrk/u32-grapheme-next.c: New file.
62107         * tests/unigbrk/test-u32-grapheme-next.c: New file.
62109         New module 'u8-grapheme-prev'.
62110         * modules/unigbrk/u8-grapheme-prev: New file.
62111         * modules/unigbrk/u8-grapheme-prev-tests: New file.
62112         * lib/unigbrk.in.h: Add prototype for new function.
62113         * lib/unigbrk/u8-grapheme-prev.c: New file.
62114         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
62116         New module 'u16-grapheme-prev'.
62117         * modules/unigbrk/u16-grapheme-prev: New file.
62118         * modules/unigbrk/u16-grapheme-prev-tests: New file.
62119         * lib/unigbrk.in.h: Add prototype for new function.
62120         * lib/unigbrk/u16-grapheme-prev.c: New file.
62121         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
62123         New module 'u32-grapheme-prev'.
62124         * modules/unigbrk/u32-grapheme-prev: New file.
62125         * modules/unigbrk/u32-grapheme-prev-tests: New file.
62126         * lib/unigbrk.in.h: Add prototype for new function.
62127         * lib/unigbrk/u32-grapheme-prev.c: New file.
62128         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
62130         New module 'u8-grapheme-breaks'.
62131         * modules/unigbrk/u8-grapheme-breaks: New file.
62132         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
62133         * lib/unigbrk.in.h: Add prototype for new function.
62134         * lib/unigbrk/u8-grapheme-breaks.c: New file.
62135         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
62137         New module 'u16-grapheme-breaks'.
62138         * modules/unigbrk/u16-grapheme-breaks: New file.
62139         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
62140         * lib/unigbrk.in.h: Add prototype for new function.
62141         * lib/unigbrk/u16-grapheme-breaks.c: New file.
62142         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
62144         New module 'u32-grapheme-breaks'.
62145         * modules/unigbrk/u32-grapheme-breaks: New file.
62146         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
62147         * lib/unigbrk.in.h: Add prototype for new function.
62148         * lib/unigbrk/u32-grapheme-breaks.c: New file.
62149         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
62151         New module 'ulc-grapheme-breaks'.
62152         * modules/unigbrk/ulc-grapheme-breaks: New file.
62153         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
62154         * m4/locale-ar.m4: New file.
62155         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
62156         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
62157         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
62159 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62161         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
62162         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
62163         modified how this file was generated before I initially submitted
62164         the module, but failed to regenerate it.  This meant that several
62165         of the level2 entries were wrong.
62166         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
62167         Remove the division-by-2 that is folded into the table now that
62168         gbrkprop.h has been regenerated properly.  Now -1 entries are
62169         handled correctly.
62171         New module 'unigbrk/uc-gbrk-prop-tests'.
62172         * modules/unigbrk/uc-gbrk-prop-tests: New file.
62173         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
62174         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
62175         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
62177 2011-01-01  Bruno Haible  <bruno@clisp.org>
62179         Avoid use of hexadecimal escapes.
62180         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
62181         instead of hexadecimal escapes.
62183 2011-01-01  Jim Meyering  <meyering@redhat.com>
62185         maint: new rule to update copyright year ranges
62186         * Makefile (update-copyright): New rule.
62188         maint: indent with TABs in Makefile
62189         * Makefile: Expand leading sequences of spaces to TABs
62191         version-etc: update the copyright year it reports
62192         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
62194 2010-12-31  Bruno Haible  <bruno@clisp.org>
62196         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
62197         * lib/isfinite.c (zerof, zerod, zerol): New variables.
62198         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
62199         zero.
62201 2010-12-31  Bruno Haible  <bruno@clisp.org>
62203         pwrite: Work around HP-UX 11.11 bug.
62204         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
62205         works and set REPLACE_PWRITE if not.
62206         * lib/pwrite.c (pwrite): Add an implementation that uses the system
62207         function.
62208         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
62210 2010-12-31  Bruno Haible  <bruno@clisp.org>
62212         pread: Work around HP-UX 11 bugs.
62213         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
62214         and set REPLACE_PREAD if not.
62215         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
62217 2010-12-31  Eric Blake  <eblake@redhat.com>
62219         nl_langinfo: fix YESEXPR on Irix 6.5
62220         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
62221         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
62222         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
62223         it.
62225 2010-12-31  Bruno Haible  <bruno@clisp.org>
62227         iconv: Document HP-UX 11 bug.
62228         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
62230 2010-12-31  Bruno Haible  <bruno@clisp.org>
62232         ldexpl: Fix link error on HP-UX 11.
62233         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
62234         LDEXPL_LIBM, using $ISNANL_LIBM.
62236 2010-12-31  Eric Blake  <eblake@redhat.com>
62238         ftello: avoid compilation failure with SunStudio c89
62239         * lib/ftello.c (ftello): Use lseek, not llseek.
62241         tests: avoid failing coreutils tests on cygwin
62242         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
62243         (create_exe_shims_): Return 0 when skipping.
62245 2010-12-31  Bruno Haible  <bruno@clisp.org>
62247         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
62248         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
62250 2010-12-31  Bruno Haible  <bruno@clisp.org>
62252         waitpid: Fix link error in C++ mode.
62253         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
62255 2010-12-31  Bruno Haible  <bruno@clisp.org>
62257         isnan: Use GCC built-ins when possible.
62258         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
62259         __builtin_isnan.
62260         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
62261         (isnan): Define using GCC built-ins for GCC >= 4.0.
62263 2010-12-31  Bruno Haible  <bruno@clisp.org>
62265         isnand: Fix mistake.
62266         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
62267         __builtin_isnand.
62269 2010-12-31  Bruno Haible  <bruno@clisp.org>
62271         open: Avoid C++ error on HP-UX 11.
62272         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
62274 2010-12-31  Bruno Haible  <bruno@clisp.org>
62276         time_r: Add missing declarations on HP-UX 11.
62277         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
62278         instead of HAVE_LOCALTIME_R.
62279         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
62280         HAVE_LOCALTIME_R always.
62281         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
62282         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
62283         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
62284         HAVE_LOCALTIME_R.
62285         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
62286         * doc/posix-functions/localtime_r.texi: Likewise.
62288 2010-12-29  Eric Blake  <eblake@redhat.com>
62290         mountlist: tweak previous commit
62291         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
62292         Reported by Paul Eggert.
62294         mountlist: fix local drive detection on cygwin
62295         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
62296         that works for cygwin.
62298 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62300         ftoastr, snprintf: ftoastr + snprintf module
62301         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
62302         since the snprintf module now should be good enough here.
62303         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
62304         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
62305         and gl_MODULE_INDICATOR([snprintf]), but the former enables
62306         GNULIB_SNPRINTF only for the test directory, and the latter
62307         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
62308         seems to suffice by itself.
62310 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62312         alloca: one step towards thread-safety
62313         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
62314         need for a static variable.  All callers changed.  This does not
62315         make the alloca replacement thread-safe, but it's one step.
62317         tests: minor indenting change
62318         * tests/init.sh: Sync from coreutils housekeeping patch
62319         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
62320         to keep lines within 80 columns.
62322 2010-12-28  Jim Meyering  <meyering@redhat.com>
62324         regex: don't infloop on persistent failing calloc
62325         * lib/regexec.c (build_trtable): Return failure indication upon
62326         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
62327         In glibc, this was fixed for version 2.13:
62328         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
62330 2010-12-28  Bruno Haible  <bruno@clisp.org>
62331             Paul Eggert <eggert@cs.ucla.edu>
62333         linkat: Make implementation robust against system behaviour variations.
62334         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
62335         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
62336         way, and to -2 if it needs a generic runtime test.
62337         * lib/linkat.c (solaris_optimized_link_immediate,
62338         solaris_optimized_link_follow): New functions.
62339         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
62340         (check_same_link): Use it.
62342 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
62344         New module 'unigbrk/base'.
62345         * modules/unigbrk/base: New file.
62346         * lib/unigbrk.in.h: New file.
62348         New module 'unigbrk/uc-gbrk-prop'.
62349         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
62350         * modules/unigbrk/uc-gbrk-prop: New file.
62351         * lib/unigbrk/gbrkprop.h: New file.
62352         * lib/unigbrk/uc-gbrk-prop.c: New file.
62354         New module 'unigbrk/uc-is-grapheme-break'.
62355         * modules/unigbrk/uc-is-grapheme-break: New file.
62356         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
62357         * lib/unigbrk/uc-is-grapheme-break.c: New file.
62358         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
62359         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
62360         * tests/unigbrk/GraphemeBreakTest.txt: New file.
62362         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
62364 2010-12-27  Bruno Haible  <bruno@clisp.org>
62366         linkat test: Avoid failure on Solaris 11 2010-11.
62367         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
62369 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62371         utimens: work around glibc rounding bug on more platforms
62372         * lib/utimens.c (fdutimens): Work around rounding bug even if
62373         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
62374         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
62376 2010-12-27  Bruno Haible  <bruno@clisp.org>
62378         select tests: Improve comments.
62379         * tests/test-select.c (do_select): Add comments.
62381 2010-12-27  Bruno Haible  <bruno@clisp.org>
62383         select tests: Safer way of handling timeout.
62384         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
62385         at every invocation.
62387 2010-12-27  Bruno Haible  <bruno@clisp.org>
62389         select tests: Use 'bool' where appropriate.
62390         * tests/test-select.c (connect_to_socket): Change argument type to
62391         'bool'.
62393 2010-12-27  Bruno Haible  <bruno@clisp.org>
62395         select tests: Use existing modules.
62396         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
62397         (configure.ac): Don't test for unistd.h.
62398         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
62399         declared in <unistd.h>.
62401 2010-12-27  Bruno Haible  <bruno@clisp.org>
62403         mbrtowc: Work around a Solaris 7 bug.
62404         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
62405         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
62406         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
62407         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
62408         MBRTOWC_NULL_ARG1_BUG.
62409         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
62410         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
62411         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
62412         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
62414 2010-12-27  Jim Meyering  <meyering@redhat.com>
62416         read-file.c: tweak syntax
62417         * lib/read-file.c (fread_file): Remove space after "*" in function
62418         definitions.
62420 2010-12-27  Bruno Haible  <bruno@clisp.org>
62422         times test: Avoid gcc warnings on OSF/1.
62423         * tests/test-times.c (main): Cast printf arguments from clock_t to
62424         'long int'.
62426 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62428         utimens: work around glibc rounding bug on older Linux kernels
62429         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
62430         on Linux with a glibc whose utimes might not work, then work
62431         around a longstanding glibc bug involving rounding rather than
62432         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
62433         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62435 2010-12-26  Bruno Haible  <bruno@clisp.org>
62437         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
62438         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
62439         _GL_CXXALIAS_SYS.
62440         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62442 2010-12-26  Bruno Haible  <bruno@clisp.org>
62444         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
62445         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
62446         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62447         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
62448         looking for the declaration.
62449         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62450         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
62451         problem.
62452         * doc/posix-functions/inet_pton.texi: Likewise.
62454 2010-12-26  Bruno Haible  <bruno@clisp.org>
62456         arpa_inet: Use the common idioms with C++ support.
62457         * lib/arpa_inet.in.h: Include c++defs.h.
62458         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
62459         support.
62460         * modules/arpa_inet (Depends-on): Add c++defs.
62461         (Makefile.am): Substitute the contents of c++defs.h.
62462         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
62463         * modules/arpa_inet-c++-tests: New file.
62464         * tests/test-arpa_inet-c++.cc: New file.
62466 2010-12-25  Bruno Haible  <bruno@clisp.org>
62468         Fix more C++ link errors on Solaris 8.
62469         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
62470         $(LIB_EACCESS).
62471         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
62472         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
62473         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
62474         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
62475         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
62477 2010-12-25  Bruno Haible  <bruno@clisp.org>
62479         printf-posix: Fix link error when a non-GCC compiler is used.
62480         * lib/stdio.in.h (printf): When not using GCC, override printf
62481         correctly.
62482         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62484 2010-12-25  Bruno Haible  <bruno@clisp.org>
62486         strerror_r-posix: Update doc.
62487         * doc/posix-functions/strerror_r.texi: Update doc about the return
62488         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
62490 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62492         utimens: simplify the logic of the previous change
62493         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
62494         This should not affect whether the test succeeds or fails.
62496         utimens: configure better on hosts with NFS clock skew
62497         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
62498         uses the clock of the local host.  It might use the clock of the
62499         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
62500         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62502 2010-12-25  Bruno Haible  <bruno@clisp.org>
62504         ptsname test: Avoid failure on Solaris.
62505         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
62506         open a pseudo-terminal; don't use BSD-style ptys.
62507         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
62509 2010-12-25  Bruno Haible  <bruno@clisp.org>
62511         ptsname: Avoid ERANGE failure on some systems.
62512         * lib/ptsname.c (buffer): Increase size.
62514 2010-12-25  Bruno Haible  <bruno@clisp.org>
62516         rename, renameat: Avoid test failures at NFS mounted locations.
62517         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
62518         so that subsequent mkdir calls succeed.
62520 2010-12-25  Bruno Haible  <bruno@clisp.org>
62522         iswblank: Fix C++ link error on Solaris 8.
62523         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
62524         _GL_FUNCDECL_SYS.
62526 2010-12-25  Bruno Haible  <bruno@clisp.org>
62528         unistd: Fix C++ link error on Solaris 8.
62529         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
62531 2010-12-25  Bruno Haible  <bruno@clisp.org>
62533         readlink doc: Mention an old glibc bug.
62534         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
62536 2010-12-25  Bruno Haible  <bruno@clisp.org>
62538         fcntl-h: Fix for use of C++ on glibc systems.
62539         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
62540         also on glibc systems in C++ mode.
62541         Reported by Gary V. Vaughan <gary@gnu.org>.
62543 2010-12-25  Bruno Haible  <bruno@clisp.org>
62545         roundl-ieee: Make it work on OSF/1 5.1 with cc.
62546         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
62548 2010-12-25  Bruno Haible  <bruno@clisp.org>
62550         truncl-ieee: Make it work on OSF/1 5.1 with cc.
62551         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
62552         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
62553         test whether truncl works according to ISO C 99 with IEC 60559.
62554         * m4/truncl-ieee.m4: New file.
62555         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
62556         m4/signbit.m4.
62557         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
62559 2010-12-25  Bruno Haible  <bruno@clisp.org>
62561         ceill-ieee: Make it work on OSF/1 5.1 with cc.
62562         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
62563         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
62564         test whether ceill works according to ISO C 99 with IEC 60559.
62565         * m4/ceill-ieee.m4: New file.
62566         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
62567         m4/signbit.m4.
62568         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
62570 2010-12-25  Bruno Haible  <bruno@clisp.org>
62572         Ensure all prerequisites of <wchar.h> are included.
62573         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
62574         before <wchar.h>.
62575         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
62576         gl_MBRLEN_NUL_RETVAL): Likewise.
62577         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
62578         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
62579         AC_FUNC_MBRTOWC): Likewise.
62580         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62581         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
62582         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62583         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
62584         Likewise.
62585         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
62586         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
62587         (gl_WCHAR_H): Improve comments.
62588         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
62590 2010-12-25  Bruno Haible  <bruno@clisp.org>
62592         strtok_r: Fix C syntax error in autoconf macro.
62593         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
62594         characters in test program.
62596 2010-12-24  Bruno Haible  <bruno@clisp.org>
62598         ceil, trunc, round: Fix gcc warnings.
62599         * lib/ceil.c (MIN): Undefine before redefining.
62600         * lib/trunc.c (MIN): Likewise.
62601         * lib/round.c (MIN): Likewise.
62602         Include <math.h> first.
62604 2010-12-24  Bruno Haible  <bruno@clisp.org>
62606         select tests: Avoid failures on OSF/1 5.1.
62607         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
62608         failure of closing the last socket; it may fail with ECONNRESET.
62610 2010-12-24  Eric Blake  <eblake@redhat.com>
62612         stdint: avoid HP-UX 10.20 preprocessor bug
62613         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
62614         than #if.
62615         * tests/test-floor2.c (main): Likewise.
62616         Reported by Peter O'Gorman.
62618         pipe: make obsoletion transition easier
62619         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
62620         * modules/pipe (Files): Include revived file.
62621         (Include): Drop reference, to mirror getdate's behavior.
62623 2010-12-24  Bruno Haible  <bruno@clisp.org>
62625         sys_socket: Hide mismatch of declarations on NonStop Kernel.
62626         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
62627         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
62628         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62630 2010-12-24  Bruno Haible  <bruno@clisp.org>
62632         gethostname: Ensure declaration on NonStop Kernel.
62633         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
62634         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62636 2010-12-24  Bruno Haible  <bruno@clisp.org>
62638         sys_select: Ensure all necessary types on NonStop Kernel.
62639         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
62640         include <sys/time.h>.
62641         * doc/posix-headers/sys_select.texi: Mention that it's missing on
62642         NonStop Kernel.
62643         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62645 2010-12-24  Bruno Haible  <bruno@clisp.org>
62647         sys_select: Remove unneeded include.
62648         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
62649         have <sys/select.h>.
62651 2010-12-24  Bruno Haible  <bruno@clisp.org>
62653         gethostname: Provide a fallback for HOST_NAME_MAX.
62654         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
62655         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
62656         instead.
62657         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62659 2010-12-24  Bruno Haible  <bruno@clisp.org>
62661         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
62662         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
62663         (SA_RESTART): Likewise.
62664         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62666 2010-12-24  Bruno Haible  <bruno@clisp.org>
62668         signal: Define NSIG.
62669         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
62670         * tests/test-signal.c (nsig): New variable.
62671         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62673 2010-12-24  Bruno Haible  <bruno@clisp.org>
62675         rename, renameat: Avoid test failures on OSF/1 5.1.
62676         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
62677         alternative error codes.
62678         * tests/test-renameat.c (main): Likewise.
62680 2010-12-24  Bruno Haible  <bruno@clisp.org>
62682         *printf: Detect large precisions bug on Solaris 10/SPARC.
62683         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
62684         by Paul Eggert.
62685         * tests/test-snprintf-posix.h (test_function): Add this test code here
62686         too.
62687         * tests/test-sprintf-posix.h (test_function): Likewise.
62688         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62689         * tests/test-vasprintf-posix.c (test_function): Likewise.
62690         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
62691         around by gnulib.
62692         * doc/posix-functions/printf.texi: Likewise.
62693         * doc/posix-functions/snprintf.texi: Likewise.
62694         * doc/posix-functions/sprintf.texi: Likewise.
62695         * doc/posix-functions/vfprintf.texi: Likewise.
62696         * doc/posix-functions/vprintf.texi: Likewise.
62697         * doc/posix-functions/vsnprintf.texi: Likewise.
62698         * doc/posix-functions/vsprintf.texi: Likewise.
62699         * doc/posix-functions/dprintf.texi: Undo last commit.
62700         * doc/posix-functions/vdprintf.texi: Likewise.
62702 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62704         tests: port test-fdutimensat.c to Solaris 8
62705         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
62706         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
62707         On Solaris 8, it fails with errno == ENOSYS, because there is no
62708         futimens (so it can't use the fd), and there is no lutimens (so it
62709         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
62711         vsnprintf: make more consistent with snprintf; doc fixes
62713         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
62714         the byte count return problem was promoted from the snprintf-posix
62715         to the snprintf module.
62716         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
62717         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
62718         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
62719         * tests/test-snprintf.c (main): Check the byte count returned.
62720         * tests/test-vsnprintf.c (main): Likewise.
62722 2010-12-23  Eric Blake  <eblake@redhat.com>
62724         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
62725         * modules/sigpipe (License): Relax license.
62727 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62729         doc: document Solaris printf bug with large float precisions
62730         * doc/posix-functions/dprintf.texi (dprintf):
62731         * doc/posix-functions/fprintf.texi (fprintf):
62732         * doc/posix-functions/printf.texi (printf):
62733         * doc/posix-functions/snprintf.texi (snprintf):
62734         * doc/posix-functions/sprintf.texi (sprintf):
62735         * doc/posix-functions/vdprintf.texi (vdprintf):
62736         * doc/posix-functions/vfprintf.texi (vfprintf):
62737         * doc/posix-functions/vprintf.texi (vprintf):
62738         * doc/posix-functions/vsnprintf.texi (vsnprintf):
62739         * doc/posix-functions/vsprintf.texi (vsprintf):
62740         Mention that these functions mishandle large floating point
62741         precisions on Solaris 10.  The same bug is also present in Solaris
62742         8, and I assume earlier.  This causes "cd gnulib-tests; make
62743         check" to fail on Solaris 8 (and I assume, later) when building
62744         the latest coreutils, in test-vasprintf-posix's call to
62745         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
62746         the wide flavors (e.g., wprintf) so this patch just updates the
62747         documentation for the narrow ones.
62749         test-posixtm.c: add two tests
62750         * tests/test-posixtm.c: Add two tests, to highlight the
62751         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
62752         around this bug; this is merely to document it.
62754 2010-12-22  Bruno Haible  <bruno@clisp.org>
62756         getlogin_r: Work around portability problem on OSF/1.
62757         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
62758         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
62759         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
62760         test for a truncated result.
62761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
62762         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
62763         * modules/getlogin_r (Depends-on): Add memchr.
62764         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
62766 2010-12-22  Bruno Haible  <bruno@clisp.org>
62768         ptsname: Avoid test failure on OSF/1 5.1.
62769         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
62770         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
62771         (same_slave): New function.
62772         (main): Use it to compare ptsname's result with the expected file name.
62774 2010-12-22  Bruno Haible  <bruno@clisp.org>
62776         Port extended stdio modules to HP NonStop Kernel.
62777         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
62778         macros.
62779         * lib/fbufmode.c: Update comments.
62780         * lib/fflush.c: Likewise.
62781         * lib/fpurge.c: Likewise.
62782         * lib/freadable.c: Likewise.
62783         * lib/freadahead.c: Likewise.
62784         * lib/freading.c: Likewise.
62785         * lib/freadptr.c: Likewise.
62786         * lib/freadseek.c: Likewise.
62787         * lib/fseeko.c: Likewise.
62788         * lib/fseterr.c: Likewise.
62789         * lib/fwritable.c: Likewise.
62790         * lib/fwriting.c: Likewise.
62791         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62793 2010-12-22  Bruno Haible  <bruno@clisp.org>
62795         ttyname_r: Work around bug on OSF/1 5.1.
62796         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
62797         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
62798         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
62799         present.
62800         * lib/ttyname_r.c (ttyname_r): Update comments.
62802 2010-12-22  Bruno Haible  <bruno@clisp.org>
62804         round: Implement result sign according to IEEE 754.
62805         * lib/round.c (MIN, MINUS_ZERO): New macros.
62806         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
62807         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
62808         * tests/test-round-ieee.c (main): Likewise.
62809         * tests/test-roundl-ieee.c (main): Likewise.
62811         trunc: Implement result sign according to IEEE 754.
62812         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
62813         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
62814         * tests/test-trunc2.c: Include minus-zero.h.
62815         (MINUS_ZERO): New macro.
62816         (trunc_reference): Keep in sync with lib/trunc.c.
62817         * tests/test-truncf2.c: Include minus-zero.h.
62818         (MINUS_ZERO): New macro.
62819         (truncf_reference): Keep in sync with lib/trunc.c.
62820         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
62821         * tests/test-trunc-ieee.c (main): Likewise.
62822         * tests/test-truncl-ieee.c (main): Likewise.
62824         ceil: Implement result sign according to IEEE 754.
62825         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
62826         (FUNC): Return -0.0 for -1 < x < 0.
62827         * tests/test-ceil2.c: Include minus-zero.h.
62828         (MINUS_ZERO): New macro.
62829         (ceil_reference): Keep in sync with lib/ceil.c.
62830         * tests/test-ceilf2.c: Include minus-zero.h.
62831         (MINUS_ZERO): New macro.
62832         (ceilf_reference): Keep in sync with lib/ceil.c.
62833         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
62834         * tests/test-ceil-ieee.c (main): Likewise.
62835         * tests/test-ceill-ieee.c (main): Likewise.
62837         floor: Implement result sign according to IEEE 754.
62838         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
62839         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
62840         * tests/test-floorf2.c (floorf_reference): Likewise.
62841         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
62842         * tests/test-floor-ieee.c (main): Likewise.
62843         * tests/test-floorl-ieee.c (main): Likewise.
62845 2010-12-22  Bruno Haible  <bruno@clisp.org>
62847         getaddrinfo: Update doc.
62848         * doc/posix-functions/gai_strerror.texi: Return type is also different
62849         on AIX and HP-UX.
62851 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62853         getaddrinfo, inet_ntop: Update doc for Solaris.
62854         * doc/posix-functions/gai_strerror.texi: Return type is also an
62855         issue on Solaris 9 and earlier.
62856         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
62857         on Solaris 10 and earlier.
62859 2010-12-21  Bruno Haible  <bruno@clisp.org>
62861         New module 'roundl-ieee'.
62862         * modules/roundl-ieee: New file.
62863         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
62864         test whether roundl works according to ISO C 99 with IEC 60559.
62865         * m4/roundl-ieee.m4: New file.
62866         * modules/roundl-ieee-tests: New file.
62867         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
62868         * tests/test-roundl.c (main): Remove signbit tests.
62869         * modules/roundl-tests (Depends-on): Remove signbit.
62870         * doc/posix-functions/roundl.texi: Mention the new module.
62872 2010-12-21  Bruno Haible  <bruno@clisp.org>
62874         New module 'truncl-ieee'.
62875         * modules/truncl-ieee: New file.
62876         * modules/truncl-ieee-tests: New file.
62877         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
62878         * tests/test-truncl.c (main): Remove signbit tests.
62879         * modules/truncl-tests (Depends-on): Remove signbit.
62880         * doc/posix-functions/truncl.texi: Mention the new module.
62882 2010-12-21  Bruno Haible  <bruno@clisp.org>
62884         New module 'ceill-ieee'.
62885         * modules/ceill-ieee: New file.
62886         * modules/ceill-ieee-tests: New file.
62887         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
62888         * tests/test-ceill.c (main): Remove signbit tests.
62889         * modules/ceill-tests (Depends-on): Remove signbit.
62890         * doc/posix-functions/ceill.texi: Mention the new module.
62892 2010-12-21  Bruno Haible  <bruno@clisp.org>
62894         New module 'floorl-ieee'.
62895         * modules/floorl-ieee: New file.
62896         * modules/floorl-ieee-tests: New file.
62897         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
62898         * tests/test-floorl.c (main): Remove signbit tests.
62899         * modules/floorl-tests (Depends-on): Remove signbit.
62900         * doc/posix-functions/floorl.texi: Mention the new module.
62902 2010-12-21  Bruno Haible  <bruno@clisp.org>
62904         New module 'round-ieee'.
62905         * modules/round-ieee: New file.
62906         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
62907         whether round works according to ISO C 99 with IEC 60559.
62908         * m4/round-ieee.m4: New file.
62909         * modules/round-ieee-tests: New file.
62910         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
62911         * tests/test-round1.c (main): Remove signbit tests.
62912         * modules/round-tests (Depends-on): Remove 'signbit'.
62913         * doc/posix-functions/round.texi: Mention the new module.
62915 2010-12-21  Bruno Haible  <bruno@clisp.org>
62917         New module 'trunc-ieee'.
62918         * modules/trunc-ieee: New file.
62919         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
62920         whether trunc works according to ISO C 99 with IEC 60559.
62921         * m4/trunc-ieee.m4: New file.
62922         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
62923         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
62924         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
62925         * modules/trunc-ieee-tests: New file.
62926         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
62927         * tests/test-trunc1.c (main): Remove signbit tests.
62928         * modules/trunc-tests (Depends-on): Remove 'signbit'.
62929         * doc/posix-functions/trunc.texi: Mention the new module.
62931 2010-12-21  Bruno Haible  <bruno@clisp.org>
62933         New module 'ceil-ieee'.
62934         * modules/ceil-ieee: New file.
62935         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
62936         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
62937         ISO C 99 with IEC 60559.
62938         * m4/ceil-ieee.m4: New file.
62939         * modules/ceil (Files): Add lib/ceil.c.
62940         (Depends-on): Add 'float'.
62941         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62942         * lib/math.in.h (ceil): New declaration.
62943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
62944         REPLACE_CEIL.
62945         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
62946         * modules/ceil-ieee-tests: New file.
62947         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
62948         * tests/test-math-c++.cc: Check the signature of 'ceil'.
62949         * doc/posix-functions/ceil.texi: Mention the new module.
62951 2010-12-21  Bruno Haible  <bruno@clisp.org>
62953         New module 'floor-ieee'.
62954         * modules/floor-ieee: New file.
62955         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
62956         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
62957         ISO C 99 with IEC 60559.
62958         * m4/floor-ieee.m4: New file.
62959         * modules/floor (Files): Add lib/floor.c.
62960         (Depends-on): Add 'float'.
62961         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62962         * lib/math.in.h (floor): New declaration.
62963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
62964         REPLACE_FLOOR.
62965         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
62966         * modules/floor-ieee-tests: New file.
62967         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
62968         * tests/test-math-c++.cc: Check the signature of 'floor'.
62969         * doc/posix-functions/floor.texi: Mention the new module.
62971 2010-12-21  Bruno Haible  <bruno@clisp.org>
62973         New module 'roundf-ieee'.
62974         * modules/roundf-ieee: New file.
62975         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
62976         test whether roundf works according to ISO C 99 with IEC 60559.
62977         * m4/roundf-ieee.m4: New file.
62978         * modules/roundf-ieee-tests: New file.
62979         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
62980         * tests/test-roundf1.c (main): Remove signbit tests.
62981         * modules/roundf-tests (Depends-on): Remove 'signbit'.
62982         * doc/posix-functions/roundf.texi: Mention the new module.
62984 2010-12-21  Bruno Haible  <bruno@clisp.org>
62986         New module 'truncf-ieee'.
62987         * modules/truncf-ieee: New file.
62988         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
62989         test whether truncf works according to ISO C 99 with IEC 60559.
62990         * m4/truncf-ieee.m4: New file.
62991         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
62992         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
62993         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
62994         * modules/truncf-ieee-tests: New file.
62995         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
62996         * tests/test-truncf1.c (main): Remove signbit tests.
62997         * modules/truncf-tests (Depends-on): Remove 'signbit'.
62998         * doc/posix-functions/truncf.texi: Mention the new module.
63000 2010-12-21  Bruno Haible  <bruno@clisp.org>
63002         New module 'ceilf-ieee'.
63003         * modules/ceilf-ieee: New file.
63004         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
63005         test whether ceilf works according to ISO C 99 with IEC 60559.
63006         * m4/ceilf-ieee.m4: New file.
63007         * modules/ceilf-ieee-tests: New file.
63008         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
63009         * tests/test-ceilf1.c (main): Remove signbit tests.
63010         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
63011         * doc/posix-functions/ceilf.texi: Mention the new module.
63013 2010-12-21  Bruno Haible  <bruno@clisp.org>
63015         New module 'floorf-ieee'.
63016         * modules/floorf-ieee: New file.
63017         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
63018         test whether floorf works according to ISO C 99 with IEC 60559.
63019         * m4/floorf-ieee.m4: New file.
63020         * modules/floorf-ieee-tests: New file.
63021         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
63022         * tests/test-floorf1.c (main): Remove signbit tests.
63023         * modules/floorf-tests (Depends-on): Remove 'signbit'.
63024         * doc/posix-functions/floorf.texi: Mention the new module.
63026 2010-12-21  Bruno Haible  <bruno@clisp.org>
63028         Support for minus zero in autoconf macros.
63029         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
63030         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
63031         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
63032         * tests/minus-zero.h: Update comments.
63034 2010-12-21  Bruno Haible  <bruno@clisp.org>
63036         Tests for module 'ceil'.
63037         * modules/ceil-tests: New file.
63038         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
63039         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
63041 2010-12-21  Bruno Haible  <bruno@clisp.org>
63043         Tests for module 'floor'.
63044         * modules/floor-tests: New file.
63045         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
63046         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
63048 2010-12-21  Bruno Haible  <bruno@clisp.org>
63050         math: Fix indentation.
63051         * lib/math.in.h (floorf): Fix indentation.
63053 2010-12-21  Bruno Haible  <bruno@clisp.org>
63055         Fix cross-compilation guesses on Solaris.
63056         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
63057         not match "solaris2.10".
63058         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63059         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
63060         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
63062 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
63064         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
63065         This fixes a problem observed with the latest coreutils snapshot
63066         that caused a test to fail on Solaris 8.  src/csplit.c's call
63067         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
63068         earlier, instead of returning the number of bytes that would have
63069         been generated; this causes csplit to incorrectly report memory
63070         exhaustion.
63071         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
63072         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
63073         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
63074         comments to match.
63075         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
63076         Fix typo in matching older versions of Solaris: "solaris2.10"
63077         is matched by the shell pattern "solaris2.[0-9]*".  This matters
63078         only for guessing while cross-compiling.
63079         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
63081 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
63083         ftoastr: fix comment again
63084         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63085         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
63086         Also, simplify example a bit by using flags = 0.
63088 2010-12-20  Bruno Haible  <bruno@clisp.org>
63090         round*, trunc*: Update documentation regarding glibc.
63091         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
63092         * doc/posix-functions/round.texi: Likewise.
63093         * doc/posix-functions/roundl.texi: Likewise.
63094         * doc/posix-functions/truncf.texi: Likewise.
63095         * doc/posix-functions/trunc.texi: Likewise.
63096         * doc/posix-functions/truncl.texi: Likewise.
63098 2010-12-20  Bruno Haible  <bruno@clisp.org>
63100         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
63101         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
63102         * doc/posix-functions/round.texi: Likewise.
63103         * doc/posix-functions/roundl.texi: Likewise.
63105 2010-12-20  Bruno Haible  <bruno@clisp.org>
63107         ttyname_r: Add missing declaration on HP-UX 11.
63108         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
63109         HAVE_TTYNAME_R.
63110         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
63111         declared. Set HAVE_TTYNAME_R always.
63112         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63113         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
63114         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
63115         HAVE_TTYNAME_R.
63116         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
63118 2010-12-20  Bruno Haible  <bruno@clisp.org>
63120         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
63121         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
63122         * doc/posix-functions/getlogin_r.texi: Likewise.
63123         * tests/test-getlogin.c: Include <errno.h>.
63124         (main): Avoid test failure on HP-UX 11.11.
63125         * tests/test-getlogin_r.c (main): Likewise.
63127 2010-12-20  Bruno Haible  <bruno@clisp.org>
63129         getlogin_r: Add missing declaration on HP-UX 11.
63130         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
63131         declared also when it exists as a function.
63132         * doc/posix-functions/getlogin_r.texi: Document this workaround.
63134 2010-12-20  Bruno Haible  <bruno@clisp.org>
63136         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
63137         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
63138         through wcrtomb.
63140 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
63142         ftoastr: fix comment
63143         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
63144         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
63146 2010-12-19  Bruno Haible  <bruno@clisp.org>
63148         isnan: Ensure it is a macro.
63149         * lib/math.in.h (isnan): Define as a macro if not already a macro.
63150         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
63151         Solaris.
63153 2010-12-19  Bruno Haible  <bruno@clisp.org>
63155         ldexpl test: Fix link error on OSF/1 5.1.
63156         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
63158 2010-12-19  Bruno Haible  <bruno@clisp.org>
63160         wctype: Make it work in C++ mode on OSF/1 5.1.
63161         * lib/wctype.in.h (iswblank): Declare but not define here.
63162         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
63163         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
63164         * modules/wctype (Files): Add lib/iswblank.c.
63166 2010-12-19  Bruno Haible  <bruno@clisp.org>
63168         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
63169         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
63170         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
63172 2010-12-19  Bruno Haible  <bruno@clisp.org>
63174         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
63175         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
63176         _POSIX_PII_SOCKET.
63177         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
63178         * doc/posix-functions/recvfrom.texi: Likewise.
63179         * doc/posix-functions/send.texi: Likewise.
63180         * doc/posix-functions/sendto.texi: Likewise.
63182 2010-12-19  Bruno Haible  <bruno@clisp.org>
63184         tcgetsid: Add missing declaration on OSF/1 5.1.
63185         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
63186         HAVE_TCGETSID.
63187         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
63188         Don't set HAVE_TCGETSID.
63189         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
63190         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
63191         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
63192         HAVE_TCGETSID.
63193         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
63195 2010-12-19  Bruno Haible  <bruno@clisp.org>
63197         stdio: Fix problem with popen() declaration on OSF/1 5.1.
63198         * lib/stdio.in.h: During the include_next statement, let recursive
63199         includes of this file include only the system header file.
63201 2010-12-19  Bruno Haible  <bruno@clisp.org>
63203         iconv_open: Fix regression from 2010-12-04.
63204         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
63205         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
63207 2010-12-19  Bruno Haible  <bruno@clisp.org>
63209         stdbool test: Avoid a gcc warning.
63210         * tests/test-stdbool.c (main): Fail if e1 is false.
63211         Reported by Jim Meyering.
63213 2010-12-19  Jim Meyering  <meyering@redhat.com>
63215         setenv: restore to working order
63216         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
63217         mistakenly removed.
63218         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
63219         HAVE_SETENV.
63220         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
63221         HAVE_SETENV.
63223 2010-12-19  Bruno Haible  <bruno@clisp.org>
63225         Document some different function declarations on OSF/1 5.1.
63226         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
63227         * doc/posix-functions/inet_ntop.texi: Likewise.
63228         * doc/posix-functions/gethostname.texi: Likewise.
63229         * lib/unistd.in.h (gethostname): Update comment.
63231 2010-12-19  Bruno Haible  <bruno@clisp.org>
63233         doc: Mention vasprintf-posix module.
63234         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
63235         the 'vasprintf-posix' module.
63236         * doc/glibc-functions/vasprintf.texi: Likewise.
63238 2010-12-19  Bruno Haible  <bruno@clisp.org>
63240         unsetenv: Add missing declaration on OSF/1 5.1.
63241         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
63242         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
63243         Don't set HAVE_UNSETENV. In the test program, set _BSD.
63244         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
63245         not HAVE_UNSETENV.
63246         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
63247         HAVE_UNSETENV.
63248         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
63250 2010-12-19  Bruno Haible  <bruno@clisp.org>
63252         setenv: Add missing declaration on OSF/1 5.1.
63253         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
63254         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
63255         declared. Don't set HAVE_SETENV.
63256         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
63257         not HAVE_SETENV.
63258         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
63259         HAVE_SETENV.
63260         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
63262 2010-12-19  Bruno Haible  <bruno@clisp.org>
63264         nl_langinfo tests: Avoid gcc warning.
63265         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
63267 2010-12-19  Bruno Haible  <bruno@clisp.org>
63269         mknod: Avoid error in C++ mode on OSF/1 with GCC.
63270         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
63271         _GL_CXXALIAS_SYS.
63273 2010-12-19  Bruno Haible  <bruno@clisp.org>
63275         stdbool: Relax test.
63276         * tests/test-stdbool.c (e): Don't require that casts from a variable's
63277         address to 'bool' work in static initializer, for compilers other than
63278         GCC.
63280 2010-12-19  Bruno Haible  <bruno@clisp.org>
63282         ftello: Add missing declaration on OSF/1 5.1.
63283         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
63284         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
63285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
63286         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
63287         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
63289 2010-12-19  Bruno Haible  <bruno@clisp.org>
63291         fseeko: Add missing declaration on OSF/1 5.1.
63292         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
63293         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
63294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
63295         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
63296         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
63298 2010-12-19  Bruno Haible  <bruno@clisp.org>
63300         fchdir: Add missing declaration on OSF/1 5.1.
63301         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
63302         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
63303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
63304         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
63305         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
63307 2010-12-19  Bruno Haible  <bruno@clisp.org>
63309         relocatable-prog-wrapper: Separate from relocatable-prog.
63310         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
63311         uninstall-relocwrapper rule here.
63312         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
63313         Reported by Ian Beckwith <ianb@erislabs.net>.
63315 2010-12-19  Bruno Haible  <bruno@clisp.org>
63317         unistr/u8-mbsnlen: Add missing dependency.
63318         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
63319         Reported by Ian Beckwith <ianb@erislabs.net>.
63321 2010-12-19  Bruno Haible  <bruno@clisp.org>
63323         iconv: Make it possible again to use this module without 'iconv-h'.
63324         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
63325         if it is not defined.
63326         Reported by Ian Beckwith <ianb@erislabs.net>.
63328 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63330         acl: port to Solaris 8 when copying from tmpfs to ufs
63331         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
63332         error number.  Problem observed on Solaris 8 with latest
63333         coreutils, with "mv A B", where A is on a tmpfs file system and B
63334         is on a ufs file system.  This caused coreutils' mv/part-symlink
63335         test to fail.
63337         tests: set fail=0 at start
63338         * tests/init.sh (setup_): Move fail=0 initialization here ...
63339         (mktempd_): ... from here, so that tests can rely on fail being
63340         set to 0 initially.  This fixes a problem in coreutils; see:
63341         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
63343 2010-12-18  Bruno Haible  <bruno@clisp.org>
63345         memmem-simple: Stylistic changes.
63346         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
63347         Fix preprocessor directive indentation.
63349 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63351         memmem, memmem-simple: reorganize and expand empty needle check
63352         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
63353         functional checks to memmem-simple so that one has a fully functional
63354         memmem by using just this module.
63355         Restrict the performance only check to the memmem module.
63356         Also expand the empty needle check to ensure the correct
63357         pointer is returned, not just a non NULL pointer.
63358         * doc/glibc-functions/memmem.texi: Rearrange the portability
63359         documentation to correlate with the rearranged checks.
63360         Clarify exactly how the memmem and memmem-simple modules
63361         relate to each other.
63363 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63364             Bruno Haible  <bruno@clisp.org>
63366         Improve cross-compilation guesses for uClibc.
63367         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
63368         that uClibc does not have the glibc bug.
63369         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
63370         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
63372 2010-12-14  Eric Blake  <eblake@redhat.com>
63374         configmake: provide fallbacks for oldest supported autotools
63375         * m4/configmake.m4: New file.
63376         * modules/configmake (Files): Ship it.
63377         (configure.ac): Use it to guarantee fallbacks.
63379 2010-12-13  Pádraig Brady  <P@draigBrady.com>
63381         read-file: Improve handling of large files
63382         * lib/read-file.c (fread_file): Minimize realloc()s
63383         for regular files, and better manage sizes around SIZE_MAX.
63385 2010-12-13  Eric Blake  <eblake@redhat.com>
63387         cloexec, fcntl: relax license
63388         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
63389         consent from all contributors.
63390         * modules/fcntl (License): Likewise.
63392 2010-12-10  Bruno Haible  <bruno@clisp.org>
63394         Tests for module 'pipe-posix'.
63395         * modules/pipe-posix-tests: New file.
63396         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
63398 2010-12-10  Bruno Haible  <bruno@clisp.org>
63400         pipe-posix: Make it work in C++ mode.
63401         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
63402         (pipe): Use common idiom, not a macro definition.
63403         * lib/pipe.c: New file.
63404         * m4/pipe.m4: New file.
63405         * modules/pipe-posix (Description): Enhance.
63406         (Files): Add lib/pipe.c, m4/pipe.m4.
63407         (configure.ac): Invoke gl_FUNC_PIPE.
63408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
63409         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
63410         * tests/test-unistd-c++.cc: Check the signature of pipe.
63412 2010-12-10  Bruno Haible  <bruno@clisp.org>
63414         Rename module 'pipe' to 'spawn-pipe'.
63415         * modules/spawn-pipe: New file, renamed from modules/pipe.
63416         (Files, configure.ac, Makefile.am): Update.
63417         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
63418         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
63419         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
63420         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
63421         "spawn-pipe.h" instead of "pipe.h".
63422         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
63423         to gl_SPAWN_PIPE.
63424         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
63425         (Files, Makefile.am): Update.
63426         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
63427         Update.
63428         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
63429         Include "spawn-pipe.h" instead of "pipe.h".
63430         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
63431         * lib/javacomp.c: Likewise.
63432         * lib/javaversion.c: Likewise.
63433         * lib/pipe-filter-gi.c: Likewise.
63434         * lib/pipe-filter-ii.c: Likewise.
63435         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
63436         * modules/javacomp (Depends-on): Likewise.
63437         * modules/javaversion (Depends-on): Likewise.
63438         * modules/pipe-filter-gi (Depends-on): Likewise.
63439         * modules/pipe-filter-ii (Depends-on): Likewise.
63440         * MODULES.html.sh (Executing programs): Update.
63441         * NEWS: Mention the change.
63443 2010-12-10  Eric Blake  <eblake@redhat.com>
63445         pipe-posix: new module
63446         * modules/pipe-posix: New file.
63447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
63448         (gl_UNISTD_H): Check for declaration.
63449         * modules/unistd (Makefile.am): Substitute it.
63450         * lib/unistd.in.h (pipe): Provide it for mingw.
63451         * doc/posix-functions/pipe.texi (pipe): Update documentation.
63452         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
63454 2010-12-07  Bruno Haible  <bruno@clisp.org>
63456         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
63457         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
63458         u8_strcmp_gnu.
63459         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
63461 2010-12-06  Bruno Haible  <bruno@clisp.org>
63463         Update internal documentation.
63464         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
63466 2010-12-04  Bruno Haible  <bruno@clisp.org>
63468         Put more information about failed tests into the test return codes.
63469         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
63470         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
63471         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63472         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63473         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
63474         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63475         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63476         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
63477         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
63478         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63479         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
63480         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63481         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
63482         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63483         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
63484         returns a bit mask.
63485         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
63486         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
63487         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
63488         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
63489         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63490         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
63491         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63492         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63493         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
63494         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
63495         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63496         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
63497         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
63498         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
63499         * m4/link.m4 (gl_FUNC_LINK): Likewise.
63500         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63501         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
63502         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
63503         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63504         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
63505         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63506         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
63507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
63508         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63509         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63510         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63511         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
63512         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
63513         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
63514         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
63515         gl_PRINTF_PRECISION): Likewise.
63516         * m4/regex.m4 (gl_REGEX): Likewise.
63517         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63518         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
63519         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
63520         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63521         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63522         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63523         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
63524         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
63525         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63526         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63527         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63528         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63529         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
63530         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63531         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63532         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
63533         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
63534         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63535         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63536         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
63537         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
63538         enumerated value.
63539         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
63541 2010-12-04  Bruno Haible  <bruno@clisp.org>
63543         Update for Solaris 11 2010-11.
63544         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
63545         Express, released in November 2010.
63547 2010-12-04  Bruno Haible  <bruno@clisp.org>
63549         nproc: Relax license.
63550         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
63551         and Paul Eggert.
63552         Requested by Ludovic Courtès <ludo@gnu.org>.
63554 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63556         utimecmp: fine-grained src to nearby coarse-grained dest
63558         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
63559         and the source is on a file system with higher-resolution time
63560         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
63561         not work, and the time stamps are close together, the algorithm to
63562         determine the exact resolution from the read-back mtime was buggy:
63563         it had a "!=" where it should have had an "==".  This bug has been
63564         in the code ever since it was introduced to gnulib.
63565         Problem reported by Dan Jacobson in
63566         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
63568 2010-11-30  Bruno Haible  <bruno@clisp.org>
63570         strerror_r-posix: Fix autoconf test.
63571         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
63573 2010-11-28  Bruno Haible  <bruno@clisp.org>
63574             Paul Eggert  <eggert@cs.ucla.edu>
63576         Tests for module 'getdomainname'.
63577         * modules/getdomainname-tests: New file.
63578         * tests/test-getdomainname.c: New file, based on
63579         tests/test-gethostname.c.
63581 2010-11-28  Bruno Haible  <bruno@clisp.org>
63582             Paul Eggert  <eggert@cs.ucla.edu>
63584         getdomainname: Use the system function when possible.
63585         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
63586         (getdomainname): Replace if needed. Provide the declaration if it is
63587         missing. Don't use _GL_CXXALIAS_SYS_CAST.
63588         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
63589         (getdomainname): When the system has getdomainname, call the system
63590         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
63591         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
63592         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
63593         found in libnsl. Look for the declaration also in <netdb.h>. Replace
63594         the function if its second argument is of type 'int' or if it is found
63595         in libnsl.
63596         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
63597         <sys/systeminfo.h> and sysinfo().
63598         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
63599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63600         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
63601         HAVE_GETDOMAINNAME.
63602         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
63603         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
63604         * doc/glibc-functions/getdomainname.texi: Document the problems with
63605         the getdomainname declaration.
63607 2010-11-28  Bruno Haible  <bruno@clisp.org>
63609         sys_socket: Ensure ss_family field on AIX.
63610         * lib/sys_socket.in.h (ss_family): New macro definition.
63611         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
63612         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
63613         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
63614         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63615         * modules/sys_socket (Makefile.am): Substitute
63616         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63617         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
63619 2010-11-27  Bruno Haible  <bruno@clisp.org>
63621         readline: Improve configure output.
63622         * m4/readline.m4 (gl_FUNC_READLINE): Make the
63623         "checking for readline..." result understandable.
63625 2010-11-27  Bruno Haible  <bruno@clisp.org>
63627         *printf-posix: Detect a bug on Solaris 10/x86.
63628         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
63629         for floating-point output.
63630         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
63631         directive.
63632         * tests/test-snprintf-posix.h (test_function): Likewise.
63633         * tests/test-sprintf-posix.h (test_function): Likewise.
63634         * tests/test-vasprintf-posix.c (test_function): Likewise.
63635         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
63636         * doc/posix-functions/printf.texi: Likewise.
63637         * doc/posix-functions/snprintf.texi: Likewise.
63638         * doc/posix-functions/sprintf.texi: Likewise.
63639         * doc/posix-functions/vfprintf.texi: Likewise.
63640         * doc/posix-functions/vprintf.texi: Likewise.
63641         * doc/posix-functions/vsnprintf.texi: Likewise.
63642         * doc/posix-functions/vsprintf.texi: Likewise.
63643         * doc/glibc-functions/obstack_printf.texi: Likewise.
63644         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
63646 2010-11-27  Bruno Haible  <bruno@clisp.org>
63648         Fix link error when module libunistring-optional is in use.
63649         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
63650         * modules/striconveha-tests (Makefile.am): Likewise.
63652 2010-11-27  Bruno Haible  <bruno@clisp.org>
63654         regex: Mention link dependencies.
63655         * modules/regex (Link): New section.
63656         * modules/rpmatch (Link): Likewise.
63657         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
63659 2010-11-27  Bruno Haible  <bruno@clisp.org>
63661         ftoastr: Fix compilation error on Solaris.
63662         * lib/ftoastr.c: Include <config.h>.
63664 2010-11-27  Bruno Haible  <bruno@clisp.org>
63666         getloadavg: Update documentation.
63667         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
63669 2010-11-27  Bruno Haible  <bruno@clisp.org>
63671         sys_socket: Fix test whether the functions are declared.
63672         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
63673         not <sys/select.h>.
63675 2010-11-27  Bruno Haible  <bruno@clisp.org>
63677         getpass: Make sure to get system declaration on some platforms.
63678         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
63679         gl_USE_SYSTEM_EXTENSIONS.
63680         * modules/getpass (Depends-on): Add extensions.
63682 2010-11-26  Bruno Haible  <bruno@clisp.org>
63684         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
63685         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
63686         'iconv' module is present.
63687         (ICONV_CONST): New macro.
63688         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
63689         ICONV_CONST.
63690         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
63691         set ICONV_CONST.
63692         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
63693         here.
63694         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
63695         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
63696         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
63697         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
63698         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
63699         present.
63701 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63703         ftoastr: comment fix
63704         * lib/ftoastr.c: "little" -> "little or no" in comment
63706 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
63708         stdint: port to GCC 4.3 + OSX + Octave
63709         On this platform, stdint.h is buggy and defines int64_t to long
63710         long int.  The replacement defined it to long int, causing
63711         problems with C++ style name mangling.  Instead, trust the system
63712         definition if INT64_MAX is defined, and likewise for the unsigned
63713         variant.   Problem reported by Jarno Rajahalme in
63714         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
63715         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
63716         and don't mess with int64_t and INT64_MAX in this case.
63717         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
63719 2010-11-24  Bruno Haible  <bruno@clisp.org>
63721         doc: Corrections regarding MacOS X 10.4 and 10.5.
63722         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
63723         MacOS X.
63724         Reported by Simon Josefsson.
63726 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
63728         Uninstall ".bin" files installed by relocwrapper.
63729         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
63730         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
63731         unless it is already there.
63733 2010-11-21  Bruno Haible  <bruno@clisp.org>
63735         Update for NetBSD 5.0.
63736         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63737         NetBSD; the test fails on NetBSD 5.0.
63738         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63739         about NetBSD.
63741 2010-11-21  Bruno Haible  <bruno@clisp.org>
63743         Update for HP-UX 11.23 and HP-UX 11.31.
63744         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
63745         HP-UX.
63747 2010-11-21  Bruno Haible  <bruno@clisp.org>
63749         Update for MacOS X 10.5.
63750         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63751         MacOS X; the test fails on MacOS X 10.5.8.
63752         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63753         about MacOS X.
63755 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
63757         bootstrap: add bootstrap_sync option.
63758         See discussion at
63759         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
63760         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
63761         * build-aux/bootstrap: Accept --bootstrap-sync to update
63762         bootstrap if it is not identical to the local gnulib's
63763         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
63764         enable this by default.  Accept --no-bootstrap-sync to disable
63765         it.
63767 2010-11-20  Bruno Haible  <bruno@clisp.org>
63769         Ensure that <features.h> is included before __GLIBC__ is tested.
63770         * lib/printf-parse.h: Include <features.h>.
63771         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
63772         Reported by Mike Frysinger <vapier@gentoo.org>.
63774         Ensure that <features.h> is included before __GLIBC__ is tested.
63775         * lib/wchar.in.h: Include <features.h>.
63776         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
63777         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
63778         Reported by Mike Frysinger <vapier@gentoo.org>.
63780         Ensure that <features.h> is included before __GLIBC__ is tested.
63781         * lib/arpa_inet.in.h: Include <features.h>.
63782         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
63783         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
63784         Reported by Mike Frysinger <vapier@gentoo.org>.
63786         Ensure that <features.h> is included before __GLIBC__ is tested.
63787         * build-aux/link-warning.h: Include <features.h>.
63788         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
63789         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
63790         Reported by Mike Frysinger <vapier@gentoo.org>.
63792         Ensure that <features.h> is included before __GLIBC__ is tested.
63793         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
63794         Reported by Mike Frysinger <vapier@gentoo.org>.
63796 2010-11-20  Bruno Haible  <bruno@clisp.org>
63798         memmem: Fix autoconf test.
63799         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
63801 2010-11-20  Bruno Haible  <bruno@clisp.org>
63803         Port to uClibc.
63804         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
63805         * lib/fcntl.in.h: Likewise.
63806         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
63807         * lib/mbrtowc.c (mbrtowc): Likewise.
63808         * lib/relocatable.c (find_shared_library_fullname): Likewise.
63809         * lib/strerror_r.c: Likewise.
63810         * lib/unistr/u8-strnlen.c: Likewise.
63811         * lib/vasnprintf.c (decimal_point_char): Likewise.
63812         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
63813         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
63814         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63815         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
63816         * tests/test-sigaction.c (handler, main): Likewise.
63817         * lib/freading.h: Treat uClibc like a non-glibc platform.
63818         * lib/freading.c: Likewise.
63819         * lib/gettext.h: Likewise.
63820         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
63821         Likewise.
63822         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
63823         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
63824         * lib/propername.c (proper_name_utf8): Likewise.
63825         * lib/spawn.in.h: Likewise.
63826         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
63827         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
63828         mem_cd_iconveh_internal): Likewise.
63829         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
63830         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
63831         strstr, strcasestr): Likewise.
63832         * lib/unicodeio.c (unicode_to_mb): Likewise.
63833         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
63834         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
63835         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
63836         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
63837         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
63838         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
63839         * lib/unistr/u8-stpncpy.c: Likewise.
63840         * lib/vasnprintf.c (VASNPRINTF): Likewise.
63841         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
63842         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63843         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63844         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
63845         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
63846         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
63847         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
63848         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
63849         Likewise.
63850         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63851         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63852         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
63853         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63854         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63855         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
63856         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63857         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
63858         * tests/test-getopt.h (OPTIND_MIN): Likewise.
63859         * tests/test-striconveha.c (main): Likewise.
63860         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63861         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
63862         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
63863         * doc/posix-functions/getline.texi: Likewise.
63864         Reported by Mike Frysinger <vapier@gentoo.org>.
63866 2010-11-20  Bruno Haible  <bruno@clisp.org>
63868         nproc: Fix condition.
63869         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
63870         HAVE_PTHREAD_AFFINITY_NP.
63872 2010-11-20  Bruno Haible  <bruno@clisp.org>
63874         Fix a comment.
63875         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
63877 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
63879         ftoastr: don't assume snprintf
63880         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
63881         Implement a subset of snprintf here, by using sprintf safely.
63882         * modules/ftoastr (Depends-on): Remove snprintf.
63884 2010-11-19  Jim Meyering  <meyering@redhat.com>
63886         test-rename.h: fix compilation failure
63887         * tests/test-rename.h (test_rename): Add omitted "}".
63889 2010-11-17  Jim Meyering  <meyering@redhat.com>
63891         maint.mk: add a URL discussing the no-@acronym policy
63892         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
63894 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
63896         ftoastr: depend on snprintf, improve comments
63897         * lib/ftoastr.c: Also mention Loitsch's draft.
63898         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
63899         needed in the current implementation, but it might simplify
63900         speeding up the code later.
63901         * modules/ftoastr: Depend on snprintf; this improves portability.
63902         Suggested by Bruno Haible in the same email.
63904         ftoastr: port to hosts lacking strtof and strtold
63905         Problem reported by Bruno Haible in
63906         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
63907         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
63908         environment and strtold (and presumably strtof) are not available.
63909         * modules/ftoastr (Files): Add m4/c-strtod.m4.
63910         (configure.ac): Require gl_C99_STRTOLD.
63912 2010-11-18  Bruno Haible  <bruno@clisp.org>
63914         c-strtold: Avoid link error on AIX 7.
63915         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
63916         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
63917         (gl_C_STRTOLD): Test whether strtold_l exists.
63918         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
63920 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63922         intprops: new macro INT_BITS_STRLEN_BOUND
63923         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
63924         ftoastr.h.  This exposes an internal of intprops.h that was formerly
63925         not exposed.  Also, it uses a slightly tighter bound than before;
63926         though this makes no practical difference, we might as well be as
63927         tight as we easily can.
63929         ftoastr: new module, for lossless conversion of floats to short strings
63930         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
63931         * modules/ftoastr: New files.
63933 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63935         bootstrap: port to Solaris sed
63936         * build-aux/bootstrap (get_version): Port to Solaris sed.
63937         See Ralf Wildenhues's note in
63938         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
63940 2010-11-14  Jim Meyering  <meyering@redhat.com>
63942         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
63943         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
63944         and move definition closer to sole use.
63946 2010-11-13  Jim Meyering  <meyering@redhat.com>
63948         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
63949         Now we require at least autoconf-2.59, which means the work-around
63950         is no longer needed.
63951         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
63952         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63953         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63954         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
63955         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
63957 2010-11-13  Bruno Haible  <bruno@clisp.org>
63959         rename, renameat: Avoid test failures at NFS mounted locations.
63960         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
63961         functions.
63962         (test_rename): Use assert_nonexistent.
63963         * tests/test-rename.c: Include <dirent.h>.
63964         * tests/test-renameat.c: Likewise.
63965         Reported by Gary V. Vaughan <gary@gnu.org>.
63967         rename, renameat: Document Linux bug with NFS
63968         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
63969         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
63970         * doc/posix-functions/renameat.texi: Likewise.
63971         Suggested by Eric Blake.
63973 2010-11-13  Bruno Haible  <bruno@clisp.org>
63975         rename test: Add comments.
63976         * tests/test-rename.h (test_rename): Add structure and comments.
63978 2010-11-13  Eric Blake  <eblake@redhat.com>
63980         maintainer-makefile: cover a few more files
63981         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
63982         scripts generated within C files, for libvirt.
63984 2010-11-13  Bruno Haible  <bruno@clisp.org>
63986         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
63987         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
63988         character, return the number of bytes that belong together, not always
63989         1.
63990         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
63991         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
63992         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
63993         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
63994         number of bytes of an invalid character.
63995         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
63996         (main): Invoke it.
63997         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
63998         results.
63999         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
64000         malformed byte sequences.
64001         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
64002         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
64003         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
64004         Reported by Ben Pfaff and Paolo Bonzini.
64006 2010-11-13  Bruno Haible  <bruno@clisp.org>
64008         openat: Work around glibc bug with fchownat() and empty file names.
64009         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
64010         (gl_FUNC_FCHOWNAT): Invoke it.
64011         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
64012         * doc/posix-functions/fchownat.texi: Document the glibc bug.
64013         Reported by Gary V. Vaughan <gary@gnu.org>.
64015 2010-11-13  Bruno Haible  <bruno@clisp.org>
64017         openat: Ensure autoconf macro ordering.
64018         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
64019         gl_USE_SYSTEM_EXTENSIONS.
64020         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
64022 2010-11-13  Bruno Haible  <bruno@clisp.org>
64024         Update comments.
64025         * lib/unistr/u8-check.c: Update file name in comments.
64026         * lib/unistr/u8-mblen.c: Likewise.
64027         * lib/unistr/u8-prev.c: Likewise.
64028         * lib/unistr/u8-strmblen.c: Likewise.
64029         * lib/unistr/u8-strmbtouc.c: Likewise.
64031 2010-11-13  Jim Meyering  <meyering@redhat.com>
64033         tests: avoid test failure on Solaris 10 due to lack of PATH export
64034         * tests/test-update-copyright.sh: Don't forget to export PATH.
64036         init.sh: ensure that IFS is defined, just in case...
64037         * tests/init.sh (setup_): Ensure that IFS is defined,
64038         so that saving and restoring it works as expected.  This
64039         appears to be useful at least for an old version of dash
64040         from a long time ago (RH 6).  See here for details:
64041         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
64043         maint.mk: tighten "test a == b" check
64044         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
64045         test to files that contain something like #!/bin/sh.
64046         Without this, coreutils would get two false positives in
64047         the comments of C source files.
64049 2010-11-12  Eric Blake  <eblake@redhat.com>
64051         bootstrap: fix typo in previous attempt
64052         * build-aux/bootstrap (buildreq): Correct the grouping.
64053         Reported by Paul Eggert.
64055         maintainer-makefile: prohibit test x == x
64056         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
64057         Based on a report by Matthias Bolte.
64059         bootstrap: allow FreeBSD gzip
64060         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
64061         which has no '.' and goes to stderr.
64062         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
64063         Reported by Matthias Bolte.
64065         maintainer-makefile: check for i18n setup
64066         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
64067         will likely work.
64069 2010-11-12  Bruno Haible  <bruno@clisp.org>
64071         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
64072         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
64073         * lib/nanosleep.c (nanosleep): Likewise.
64075 2010-11-11  Bruno Haible  <bruno@clisp.org>
64077         fcntl-h: Fix for use of C++ on glibc systems.
64078         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
64079         also on glibc systems in C++ mode.
64080         Reported by Gary V. Vaughan <gary@gnu.org>.
64082 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64084         mknod: avoid false failure with dash
64085         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
64087 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64089         unlink: Fix "is it should" typo in diagnostic.
64090         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
64091         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
64093 2010-11-11  Bruno Haible  <bruno@clisp.org>
64095         Tests for module 'strerror_r-posix'.
64096         * modules/strerror_r-posix-tests: New file.
64097         * tests/test-strerror_r.c: New file.
64098         * tests/test-string-c++.cc: Check the signature of strerror_r.
64100         New module 'strerror_r-posix'.
64101         * lib/string.in.h (strerror_r): New declaration.
64102         * lib/strerror_r.c: New file.
64103         * m4/strerror_r.m4: New file.
64104         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
64105         of strerror_r.
64106         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
64107         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64108         * modules/strerror_r-posix: New file.
64109         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
64110         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
64111         * doc/posix-functions/strerror_r.texi: Mention the new module and the
64112         portability problems.
64114 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
64116         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
64117         line is also considered for output. Quoted function name in shell
64118         command, so temporary files for functions like MyClass::operator()
64119         are removed correctly without errors.
64121 2010-11-09  Bruno Haible  <bruno@clisp.org>
64123         * doc/posix-functions/strerror.texi: List more failing platforms.
64125         * doc/posix-functions/strerror.texi: Add a comment.
64127 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
64129         fdopendir: fix bug on MacOS X when low on file descriptors
64131         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
64132         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
64133         All callers changed.
64134         (fdopendir): Invoke save_cwd at the top level, not after using
64135         multiple dup() calls to use up file descriptors.  Then retry
64136         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
64137         less than the maximum number of open file descriptors, because
64138         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
64139         on Mac OS X 10.6.4 for tar 1.24
64140         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
64141         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
64142         and for tar 1.25
64143         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
64145 2010-11-07  Bruno Haible  <bruno@clisp.org>
64147         vasnprintf: Support I flag on glibc systems.
64148         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
64149         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
64150         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
64151         snprintf function.
64152         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
64153         glibc systems.
64154         * tests/test-vasnprintf-posix3.c: New file.
64155         * modules/vasnprintf-posix-tests (Files): Add it.
64156         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
64158 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64160         [html] Fix copy/paste bug: Use unique name for compiler warnings.
64161         * MODULES.html.sh: For compiler warnings, use name
64162         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
64164 2010-11-05  Eric Blake  <eblake@redhat.com>
64166         ceil, floor: avoid spurious failure with icc
64167         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
64168         [denormals-as-zero] when optimizing without -mieee-fp option.
64169         * tests/test-floorf2.c (floorf_reference): Likewise.
64170         * tests/test-ceilf1.c (dummy): New function.
64171         (main): Use it to outsmart icc's optimization.
64172         * tests/test-floorf1.c (dummy, main): Likewise.
64174         tests: require working signbit
64175         * modules/ceilf-tests (Depends-on): Add signbit.
64176         * modules/ceill-tests (Depends-on): Likewise.
64177         * modules/floorf-tests (Depends-on): Likewise.
64178         * modules/floorl-tests (Depends-on): Likewise.
64179         * modules/round-tests (Depends-on): Likewise.
64180         * modules/roundf-tests (Depends-on): Likewise.
64181         * modules/roundl-tests (Depends-on): Likewise.
64182         * modules/trunc-tests (Depends-on): Likewise.
64183         * modules/truncf-tests (Depends-on): Likewise.
64184         * modules/truncl-tests (Depends-on): Likewise.
64186         strtod: work around icc bug
64187         * lib/strtod.c (minus_zero): Define to working value.
64188         (strtod): Use it to avoid icc bug.
64190         copysign: enhance tests
64191         * modules/copysign-tests (Files): Add minus-zero.h.
64192         * tests/test-copysign.c (main): Also test zeros.
64194 2010-11-04  Eric Blake  <eblake@redhat.com>
64196         ceil, floor, round, trunc: enhance tests of -0
64197         * tests/test-ceilf1.c (main): Ensure correct sign of result.
64198         * tests/test-ceill.c (main): Likewise.
64199         * tests/test-floorf1.c (main): Likewise.
64200         * tests/test-floorl.c (main): Likewise.
64201         * tests/test-round1.c (main): Likewise.
64202         * tests/test-roundf1.c (main): Likewise.
64203         * tests/test-roundl.c (main): Likewise.
64204         * tests/test-trunc1.c (main): Likewise.
64205         * tests/test-truncf1.c (main): Likewise.
64206         * tests/test-truncl.c (main): Likewise.
64208 2010-11-04  Eric Blake  <eblake@redhat.com>
64210         frexp, tests: work around ICC bug with -zero
64211         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
64212         works with more compilers.
64213         * tests/minus-zero.h: New file.
64214         * modules/ceilf-tests (Files): Include it.
64215         * modules/ceill-tests (Files): Likewise.
64216         * modules/floorf-tests (Files): Likewise.
64217         * modules/floorl-tests (Files): Likewise.
64218         * modules/frexp-nolibm-tests (Files): Likewise.
64219         * modules/frexp-tests (Files): Likewise.
64220         * modules/frexpl-nolibm-tests (Files): Likewise.
64221         * modules/frexpl-tests (Files): Likewise.
64222         * modules/isnan-tests (Files): Likewise.
64223         * modules/isnand-nolibm-tests (Files): Likewise.
64224         * modules/isnand-tests (Files): Likewise.
64225         * modules/isnanf-nolibm-tests (Files): Likewise.
64226         * modules/isnanf-tests (Files): Likewise.
64227         * modules/isnanl-nolibm-tests (Files): Likewise.
64228         * modules/isnanl-tests (Files): Likewise.
64229         * modules/round-tests (Files): Likewise.
64230         * modules/roundf-tests (Files): Likewise.
64231         * modules/roundl-tests (Files): Likewise.
64232         * modules/ldexpl-tests (Files): Likewise.
64233         * modules/signbit-tests (Files): Likewise.
64234         * modules/snprintf-posix-tests (Files): Likewise.
64235         * modules/sprintf-posix-tests (Files): Likewise.
64236         * modules/strtod-tests (Files): Likewise.
64237         * modules/trunc-tests (Files): Likewise.
64238         * modules/truncf-tests (Files): Likewise.
64239         * modules/truncl-tests (Files): Likewise.
64240         * modules/vsnprintf-posix-tests (Files): Likewise.
64241         * modules/vsprintf-posix-tests (Files): Likewise.
64242         * modules/vasnprintf-posix-tests (Files): Likewise.
64243         * modules/vasprintf-posix-tests (Files): Likewise.
64244         * tests/test-ceilf1.c (main): Use it.
64245         * tests/test-ceill.c (main): Likewise.
64246         * tests/test-floorf1.c (main): Likewise.
64247         * tests/test-floorl.c (main): Likewise.
64248         * tests/test-frexp.c (main): Likewise.
64249         * tests/test-frexpl.c (main): Likewise.
64250         * tests/test-isnan.c (main): Likewise.
64251         * tests/test-isnand.h (main): Likewise.
64252         * tests/test-isnanf.h (main): Likewise.
64253         * tests/test-isnanl.h (main): Likewise.
64254         * tests/test-ldexpl.c (main): Likewise.
64255         * tests/test-round.c (main): Likewise.
64256         * tests/test-roundf.c (main): Likewise.
64257         * tests/test-roundl.c (main): Likewise.
64258         * tests/test-signbit.c (test_signbitf, test_signbitd)
64259         (test_signbitl): Likewise.
64260         * tests/test-snprintf-posix.h (test_function): Likewise.
64261         * tests/test-sprintf-posix.h (test_function): Likewise.
64262         * tests/test-strtod.c (main): Likewise.
64263         * tests/test-trunc1.c (main): Likewise.
64264         * tests/test-truncf1.c (main): Likewise.
64265         * tests/test-truncl.c (main): Likewise.
64267         isnanl: work around icc bug
64268         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
64270 2010-11-03  Eric Blake  <eblake@redhat.com>
64272         tests: fix compiler warnings
64273         * tests/test-getopt.h (test_getopt): Fix condition.
64274         * tests/test-getopt_long.h (test_getopt_long): Likewise.
64275         * tests/test-pipe2.c (main): Likewise.
64276         * tests/test-quotearg-simple.c (main): Avoid icc warning.
64278         utimens: fix broken m4 test
64279         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
64281 2010-10-28  Bruno Haible  <bruno@clisp.org>
64283         posix_spawn*, getdtablesize: Relax license.
64284         * modules/posix_spawn (License): Change to LGPLv2+.
64285         * modules/posix_spawnp (License): Likewise.
64286         * modules/posix_spawn-internal (License): Likewise.
64287         * modules/posix_spawnattr_init (License): Likewise.
64288         * modules/posix_spawnattr_getflags (License): Likewise.
64289         * modules/posix_spawnattr_setflags (License): Likewise.
64290         * modules/posix_spawnattr_getpgroup (License): Likewise.
64291         * modules/posix_spawnattr_setpgroup (License): Likewise.
64292         * modules/posix_spawnattr_getschedparam (License): Likewise.
64293         * modules/posix_spawnattr_setschedparam (License): Likewise.
64294         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
64295         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
64296         * modules/posix_spawnattr_getsigdefault (License): Likewise.
64297         * modules/posix_spawnattr_setsigdefault (License): Likewise.
64298         * modules/posix_spawnattr_getsigmask (License): Likewise.
64299         * modules/posix_spawnattr_setsigmask (License): Likewise.
64300         * modules/posix_spawnattr_destroy (License): Likewise.
64301         * modules/posix_spawn_file_actions_init (License): Likewise.
64302         * modules/posix_spawn_file_actions_addclose (License): Likewise.
64303         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
64304         * modules/posix_spawn_file_actions_addopen (License): Likewise.
64305         * modules/posix_spawn_file_actions_destroy (License): Likewise.
64306         * modules/getdtablesize (License): Likewise.
64307         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
64309 2010-10-26  Bruno Haible  <bruno@clisp.org>
64311         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
64312         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
64313         Cygwin and mingw.
64314         Suggested by Eric Blake.
64316 2010-10-26  Bruno Haible  <bruno@clisp.org>
64318         stdio: Work around compilation error due to renameat() on Solaris 10.
64319         * lib/stdio.in.h: Include <unistd.h> on Solaris.
64320         * lib/renameat.c: Don't include <unistd.h> here.
64321         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
64322         Reported by Paul Eggert and Eric Blake.
64324 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
64326         renameat: port to Solaris 10, which declares renameat in unistd.h
64328         * lib/renameat.c: Include unistd.h before stdio.h, because
64329         Solaris 10 declares renameat in unistd.h.  Problem encountered
64330         when building GNU tar 1.24 on Solaris 10.
64332 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64334         fdopendir: fix C89 compilation
64335         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
64336         compilers.
64338 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
64340         inttostr: simplify by removing unnecessary redundancy
64341         * lib/anytostr.c: Don't include verify.h.
64342         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
64343         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
64344         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
64345         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
64346         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
64347         Likewise.
64348         * modules/inttostr (Depends-on): Remove 'verify'.
64350 2010-10-23  Bruno Haible  <bruno@clisp.org>
64352         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
64353         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
64354         Reported by Eric Blake.
64356 2010-10-23  Bruno Haible  <bruno@clisp.org>
64358         Tests: Fix LOCALE_JA on MirBSD 10.
64359         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
64360         to an UTF-8 locale.
64361         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
64362         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64363         Reported by Eric Blake.
64365 2010-10-21  Bruno Haible  <bruno@clisp.org>
64367         nl_langinfo test: Avoid test failure on NetBSD 5.
64368         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
64369         Reported by Eric Blake.
64371 2010-10-21  Eric Blake  <eblake@redhat.com>
64373         c-stack: work around libsigsegv 2.8 bug
64374         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
64375         overflow on at least PowerPC64.
64377 2010-10-17  Bruno Haible  <bruno@clisp.org>
64379         userspec: Drop redundant file.
64380         * modules/userspec (Files): Remove lib/inttostr.h.
64382 2010-10-17  Bruno Haible  <bruno@clisp.org>
64384         nl_langinfo tests: Silence some warnings.
64385         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
64386         Reported by Jim Meyering.
64388 2010-10-17  Bruno Haible  <bruno@clisp.org>
64390         Make use of GCC's attribute __alloc_size__.
64391         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
64392         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
64393         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
64394         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
64395         __alloc_size__.
64396         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
64397         Suggested by Jim Meyering.
64399 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
64401         bootstrap: anchor .gitignore entries.
64402         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
64403         with...
64404         (insert_vc_ignore): ... this new function, which prepends `/' to
64405         all .gitignore entries before passing them to
64406         insert_sorted_if_absent.
64408 2010-10-16  Bruno Haible  <bruno@clisp.org>
64410         nextafter: Fix configure check.
64411         * modules/nextafter (configure.ac): Correct expected prototype.
64413 2010-10-16  Bruno Haible  <bruno@clisp.org>
64415         termios: Update documentation.
64416         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
64418 2010-10-16  Bruno Haible  <bruno@clisp.org>
64420         tests: Make them compile with TinyCC.
64421         * tests/test-strstr.c (main): Remove parentheses around array
64422         initializer.
64424 2010-10-15  Eric Blake  <eblake@redhat.com>
64426         ignore-value: make header idempotent
64427         * lib/ignore-value.h: Add double-inclusion guards.
64428         Reported by Stefan Berger.
64430 2010-10-15  Jim Meyering  <meyering@redhat.com>
64432         GNUmakefile: handle "stable" target, not "major"
64433         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
64434         lists in maint.mk and announce-gen.  Without this, "make stable"
64435         would fail to ensure that $(VERSION) is up to date.
64437 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
64439         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
64440         & co.
64442 2010-10-14  Bruno Haible  <bruno@clisp.org>
64444         vasnprintf: Don't set errno to 0.
64445         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
64446         block that sets it to 0.
64447         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
64449 2010-10-14  Bruno Haible  <bruno@clisp.org>
64451         socketlib: Fix.
64452         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
64453         gl_PREREQ_SYS_H_WINSOCK2.
64454         Reported by Ian Beckwith <ianb@erislabs.net>.
64456 2010-10-13  Jim Meyering  <meyering@redhat.com>
64458         test-select-stdin.c: avoid warn_unused_result warnings
64459         * tests/test-select-stdin.c: Include "macros.h".
64460         ASSERT that read and fflush succeed.
64462 2010-10-13  Jim Meyering  <meyering@redhat.com>
64464         git-version-gen: do require git-VC'd files in cwd
64465         * build-aux/git-version-gen: Reject a git version string
64466         if there are no commits associated with the current directory.
64467         This avoids an unlikely false-positive (unrelated dir whose parent
64468         repository also contains a tag matching v*), as pointed out
64469         by Giuseppe Scrivano in
64470         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
64472 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64474         argv-iter: omit nonconforming declaration
64475         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
64476         enum arg_iter_err declaration, which doesn't conform to C99.
64477         Solaris 10 cc warns about this.
64479 2010-10-13  Eric Blake  <eblake@redhat.com>
64481         termios: fix compilation on mingw
64482         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
64483         (gl_TERMIOS_H): Adjust it on mingw.
64484         * modules/termios (Makefile.am): Substitute new key.
64485         * lib/termios.in.h (includes): Make include_next conditional.
64486         * doc/posix-headers/termios.texi (termios.h): Update
64487         documentation.
64488         Reported by Daniel P. Berrange.
64490 2010-10-13  Jim Meyering  <meyering@redhat.com>
64492         git-version-gen: don't require that .git/ be in the current dir
64493         * build-aux/git-version-gen: Adjust this script so that it works
64494         when run from any working directory beneath the top-level .git/-
64495         containing directory.  Inspired by a patch from Giuseppe Scrivano,
64496         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
64498         test-select: avoid warn_unused_result warnings
64499         * tests/test-select.c: Include "macros.h".
64500         ASSERT that each call to read, write, and pipe succeeds.
64501         While not technically required, also check each "close".
64502         * modules/select-tests (Files): Add tests/macros.h.
64504         test-symlinkat: remove declaration of unused local
64505         * tests/test-symlinkat.c (main): Remove unused local, "buf".
64507         test-inttostr: avoid shadowing warnings
64508         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
64509         and use malloc rather than the stack for the same reason as
64510         mentioned in the comment justifying the other allocation.
64512 2010-10-11  Bruno Haible  <bruno@clisp.org>
64514         stdlib: Allow multiple gnulib generated replacements to coexist.
64515         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
64516         Reported by Sam Steingold <sds@gnu.org>.
64518 2010-10-11  Jim Meyering  <meyering@redhat.com>
64520         fix a documentation typo
64521         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
64523 2010-10-11  Eric Blake  <eblake@redhat.com>
64525         futimens: work around Solaris 11 bug
64526         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
64527         * tests/test-futimens.h (test_futimens): Enhance, rather than
64528         weaken test.
64529         * doc/posix-functions/futimens.texi (futimens): Document the bug.
64531 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64533         Indentation.
64534         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
64535         higher-level operators more to the left.
64537 2010-10-11  Jim Meyering  <meyering@redhat.com>
64539         test-futimens: avoid unwarranted test failure on Solaris 5.11
64540         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
64541         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
64542         because it tries to dereference the NULL name argument.
64544 2010-10-11  Bruno Haible  <bruno@clisp.org>
64546         Indentation.
64547         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
64548         indentation.
64550 2010-10-11  Jim Meyering  <meyering@redhat.com>
64552         spawn.in.h: make indentation consistent with parentheses
64553         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
64554         Make indentation consistent with parentheses.
64556 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
64558         Fix mismatched parens in previous commit
64559         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
64560         parens.
64562 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64564         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
64566         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
64567         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
64568         * lib/malloca.c: Include "verify.h".
64569         (verify1): Remove, replacing with a verify call.
64570         * lib/relocwrapper.c (verify1): Likewise.
64571         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
64572         Likewise.
64573         * modules/malloca (Depends-on): Add 'verify'.
64574         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
64575         * modules/vasnprintf (Depends-on): Add 'verify'.
64576         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64577         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64578         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64579         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64580         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64581         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64582         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64584         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
64586         Formerly the style was sometimes 2*X - 1, because the C standard
64587         was wrongly thought to disallow ?: in integral constant expressions.
64588         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
64589         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
64590         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
64591         * lib/stdint.in.h (_verify_intmax_size): Likewise.
64592         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
64593         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
64594         verify that time_t cannot be floating.
64596 2010-10-08  Eric Blake  <eblake@redhat.com>
64598         time: enforce recent POSIX ruling that time_t is integral
64599         * lib/time.in.h (__time_t_must_be_integral): Detect any
64600         problematic systems, allowing the rest of gnulib to assume POSIX.
64602 2010-10-08  Jim Meyering  <meyering@redhat.com>
64604         fdopendir: fix a bug on systems lacking openat and /proc support
64605         OpenBSD 4.7 is one such system.  The most noticeable effect was
64606         failure of any application making nontrivial use of fts: rm, du,
64607         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
64608           ./rm: traversal failed: `a': Bad file descriptor
64609         Debugging that, you see that even though FD 6 was closed just
64610         prior to the opendir call in fd_clone_opendir, its resulting
64611         dir->dd_fd was 8, rather than the expected value of 6:
64613         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
64614         93                close (fd);
64615         (gdb) n
64616         94                dir = fd_clone_opendir (dupfd);
64617         (gdb) n
64618         95                saved_errno = errno;
64619         (gdb) p dir->dd_fd
64620         $11 = 8
64622         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
64623         The problem is that on OpenBSD, fd_clone_opendir has to resort
64624         to using the old-style save/restore CWD mechanism, due to its
64625         lack of openat/proc support, and *that* would steal the FD (6)
64626         that opendir was supposed to use.
64628         The fix is to squirrel away the desired FD so that save_cwd uses a
64629         different one, and then free the dest FD right before calling opendir.
64630         That guarantees opendir will use the required file descriptor.
64632         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
64634 2010-10-08  Bruno Haible  <bruno@clisp.org>
64636         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
64637         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
64639 2010-10-08  Bruno Haible  <bruno@clisp.org>
64641         nanosleep: Make replacement POSIX compliant.
64642         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
64643         is out of range.
64644         Reported by Jim Meyering.
64646 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64648         bootstrap: add hook for altering gnulib.mk, for Bison
64649         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
64650         the Bison bootstrapping process can rewrite file names and variables
64651         in this file before later parts of 'bootstrap' use the file.
64652         Bison wants to include lib/gnulib.mk from the top-level makefile,
64653         so it needs the file names in this file to be relative to the top
64654         level, not relative to lib; plus it needs variable names to be
64655         rewritten.
64656         (slurp): Use the new function.
64658         bootstrap: reformat for readability
64659         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
64661 2010-10-08  Eric Blake  <eblake@redhat.com>
64663         docs: update cygwin progress
64664         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
64665         1.7.7.
64666         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
64667         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
64668         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
64669         * doc/posix-functions/carg.texi (carg): Likewise.
64670         * doc/posix-functions/cargf.texi (cargf): Likewise.
64671         * doc/posix-functions/casin.texi (casin): Likewise.
64672         * doc/posix-functions/casinf.texi (casinf): Likewise.
64673         * doc/posix-functions/casinh.texi (casinh): Likewise.
64674         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
64675         * doc/posix-functions/catan.texi (catan): Likewise.
64676         * doc/posix-functions/catanf.texi (catanf): Likewise.
64677         * doc/posix-functions/catanh.texi (catanh): Likewise.
64678         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
64679         * doc/posix-functions/ccos.texi (ccos): Likewise.
64680         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
64681         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
64682         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
64683         * doc/posix-functions/cexp.texi (cexp): Likewise.
64684         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
64685         * doc/posix-functions/cimag.texi (cimag): Likewise.
64686         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
64687         * doc/posix-functions/clog.texi (clog): Likewise.
64688         * doc/posix-functions/clogf.texi (clogf): Likewise.
64689         * doc/posix-functions/conj.texi (conj): Likewise.
64690         * doc/posix-functions/conjf.texi (conjf): Likewise.
64691         * doc/posix-functions/cpow.texi (cpow): Likewise.
64692         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
64693         * doc/posix-functions/cproj.texi (cproj): Likewise.
64694         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
64695         * doc/posix-functions/creal.texi (creal): Likewise.
64696         * doc/posix-functions/crealf.texi (crealf): Likewise.
64697         * doc/posix-functions/csin.texi (csin): Likewise.
64698         * doc/posix-functions/csinf.texi (csinf): Likewise.
64699         * doc/posix-functions/csinh.texi (csinh): Likewise.
64700         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
64701         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
64702         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
64703         * doc/posix-functions/ctan.texi (ctan): Likewise.
64704         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
64705         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
64706         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
64707         * doc/posix-headers/complex.texi (complex.h): Likewise.
64709 2010-10-07  Jim Meyering  <meyering@redhat.com>
64711         parse-datetime: avoid compilation failure on OpenBSD 4.7
64712         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
64713         This works around a compilation failure on OpenBSD 4.7:
64714         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
64716 2010-10-07  Eric Blake  <eblake@redhat.com>
64718         docs: update cygwin progress
64719         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
64720         1.7.6.
64721         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
64722         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
64723         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
64724         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
64725         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
64726         Likewise.
64727         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
64728         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
64729         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
64730         Likewise.
64731         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
64732         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
64733         Likewise.
64734         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
64735         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
64736         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
64737         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
64738         Likewise.
64739         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
64740         Likewise.
64741         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
64743         docs: update parse-datetime history
64744         * doc/parse-datetime.texi (Authors of parse_datetime): Better
64745         documentation of this function's history and alternatives.
64747         cygwin: use more robust version check
64748         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
64749         exclude an eventual cygwin 1.9.1.
64750         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64751         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64752         (gl_FUNC_STRCASESTR): Likewise.
64753         Reported by Bruno Haible.
64755 2010-10-06  Bruno Haible  <bruno@clisp.org>
64757         string, sys_select: Avoid #including large headers unless necessary.
64758         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
64759         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
64760         OSF/1, BeOS, Haiku.
64761         Reported by Jim Meyering.
64763 2010-10-05  Eric Blake  <eblake@redhat.com>
64765         memmem, strstr, strcasestr: fix bug with long periodic needle
64766         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
64767         periodic needle having false positive.
64768         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
64769         and cygwin 1.7.7.
64770         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
64771         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64772         (gl_FUNC_STRCASESTR): Likewise.
64773         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64774         * tests/test-memmem.c (main): Expose the bug.
64775         * tests/test-strcasestr.c (main): Likewise.
64776         * tests/test-strstr.c (main): Likewise.
64777         * tests/test-c-strcasestr.c (main): Likewise.
64778         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
64779         * doc/posix-functions/strstr.texi (strstr): Likewise.
64780         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
64781         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
64783 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64785         parse-datetime: do some more renaming
64786         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
64787         parse_datetime, not get_date.  Mention the renaming.
64788         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
64789         in comments.
64790         * m4/bison.m4: Likewise.
64792 2010-10-05  Eric Blake  <eblake@redhat.com>
64794         parse-datetime: better name than get_date
64795         * NEWS: Reword the deprecation notice.
64796         * modules/get_date: Rename to modules/parse-datetime.
64797         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
64798         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
64799         * lib/get_date.y: Rename to lib/parse-datetime.y.
64800         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
64801         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
64802         * doc/getdate.texi: Provide fallback wrapper.
64803         * lib/getdate.h: Move guts, and wrap...
64804         * lib/parse-datetime.h: ...new file.
64805         * lib/parse-datetime.y (get_date): Rename...
64806         (parse_datetime): ...to this.
64807         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
64808         (gl_PARSE_DATETIME): ...to this.
64809         * doc/posix-functions/getdate.texi (get_date): Provide fallback
64810         documentation.
64811         * modules/getdate (Files): Provide fallback docs and header.
64812         (Notice, Depends-on): Update references.
64813         * tests/test-parse-datetime.c: Likewise.
64814         * DEPENDENCIES: Likewise.
64815         * MODULES.html.sh (Date and time <time.h>): Likewise.
64816         * doc/parse-datetime.texi (Date input formats)
64817         (Authors of parse_datetime): Likewise.
64818         * modules/parse-datetime (Files, configure.ac, Makefile.am)
64819         (Include): Likewise.
64820         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
64821         * gnulib-tool: Likewise.
64822         * m4/bison.m4 (gl_BISON): Likewise.
64823         Suggested by Bruno Haible.
64825 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64827         more ports to Solaris tr, which needs [] around ranges
64828         * gnulib-tool: Solaris tr needs [] around ranges.
64829         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
64830         * tests/test-pipe-filter-gi1.c (main): Likewise.
64831         * tests/test-pipe-filter-ii1.c (main): Likewise.
64833 2010-10-05  Eric Blake  <eblake@redhat.com>
64835         bootstrap: fix Solaris regression
64836         * build-aux/bootstrap (check_versions): Solaris tr still needs []
64837         around ranges.
64838         Reported by Pádraig Brady.
64840         bootstrap: work with pkg-config
64841         * build-aux/bootstrap (check_versions): Also transliterate - in
64842         prerequisite name.
64843         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
64844         prerequisites that were already found, to avoid confusion.
64845         Reported by Justin Clift.
64847         faccessat: remove unused wrappers
64848         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
64849         presence of these wrappers dragged in -lgen on Solaris.
64850         Reported by Clemens Brogi; fix suggested by Paul Eggert.
64852 2010-10-05  Jim Meyering  <meyering@redhat.com>
64854         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
64855         * Makefile (sc_pragma_columns): New syntax-check rule.
64857 2010-10-04  Bruno Haible  <bruno@clisp.org>
64859         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
64860         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
64861         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
64862         Reported by Bruce Korb and Eric Blake.
64864 2010-10-04  Bruno Haible  <bruno@clisp.org>
64866         threadlib: Make option --with-libpth-prefix work.
64867         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
64868         use $LIBPTH, not just -lpth.
64870 2010-10-04  Bruno Haible  <bruno@clisp.org>
64872         Avoid line length limitation from HP NonStop system header files.
64873         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
64874         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
64875         * lib/ctype.in.h: Likewise.
64876         * lib/dirent.in.h: Likewise.
64877         * lib/errno.in.h: Likewise.
64878         * lib/fcntl.in.h: Likewise.
64879         * lib/float.in.h: Likewise.
64880         * lib/getopt.in.h: Likewise.
64881         * lib/iconv.in.h: Likewise.
64882         * lib/inttypes.in.h: Likewise.
64883         * lib/langinfo.in.h: Likewise.
64884         * lib/locale.in.h: Likewise.
64885         * lib/math.in.h: Likewise.
64886         * lib/netdb.in.h: Likewise.
64887         * lib/netinet_in.in.h: Likewise.
64888         * lib/poll.in.h: Likewise.
64889         * lib/pthread.in.h: Likewise.
64890         * lib/pty.in.h: Likewise.
64891         * lib/sched.in.h: Likewise.
64892         * lib/se-selinux.in.h: Likewise.
64893         * lib/search.in.h: Likewise.
64894         * lib/signal.in.h: Likewise.
64895         * lib/spawn.in.h: Likewise.
64896         * lib/stdarg.in.h: Likewise.
64897         * lib/stddef.in.h: Likewise.
64898         * lib/stdint.in.h: Likewise.
64899         * lib/stdio.in.h: Likewise.
64900         * lib/stdlib.in.h: Likewise.
64901         * lib/string.in.h: Likewise.
64902         * lib/strings.in.h: Likewise.
64903         * lib/sys_file.in.h: Likewise.
64904         * lib/sys_ioctl.in.h: Likewise.
64905         * lib/sys_select.in.h: Likewise.
64906         * lib/sys_socket.in.h: Likewise.
64907         * lib/sys_stat.in.h: Likewise.
64908         * lib/sys_time.in.h: Likewise.
64909         * lib/sys_times.in.h: Likewise.
64910         * lib/sys_utsname.in.h: Likewise.
64911         * lib/sys_wait.in.h: Likewise.
64912         * lib/sysexits.in.h: Likewise.
64913         * lib/termios.in.h: Likewise.
64914         * lib/time.in.h: Likewise.
64915         * lib/unistd.in.h: Likewise.
64916         * lib/wchar.in.h: Likewise.
64917         * lib/wctype.in.h: Likewise.
64918         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
64919         * modules/ctype (Makefile.am): Likewise.
64920         * modules/dirent (Makefile.am): Likewise.
64921         * modules/errno (Makefile.am): Likewise.
64922         * modules/fcntl-h (Makefile.am): Likewise.
64923         * modules/float (Makefile.am): Likewise.
64924         * modules/getopt-posix (Makefile.am): Likewise.
64925         * modules/iconv-h (Makefile.am): Likewise.
64926         * modules/inttypes (Makefile.am): Likewise.
64927         * modules/langinfo (Makefile.am): Likewise.
64928         * modules/locale (Makefile.am): Likewise.
64929         * modules/math (Makefile.am): Likewise.
64930         * modules/netdb (Makefile.am): Likewise.
64931         * modules/netinet_in (Makefile.am): Likewise.
64932         * modules/poll-h (Makefile.am): Likewise.
64933         * modules/pthread (Makefile.am): Likewise.
64934         * modules/pty (Makefile.am): Likewise.
64935         * modules/sched (Makefile.am): Likewise.
64936         * modules/search (Makefile.am): Likewise.
64937         * modules/selinux-h (Makefile.am): Likewise.
64938         * modules/signal (Makefile.am): Likewise.
64939         * modules/spawn (Makefile.am): Likewise.
64940         * modules/stdarg (Makefile.am): Likewise.
64941         * modules/stddef (Makefile.am): Likewise.
64942         * modules/stdint (Makefile.am): Likewise.
64943         * modules/stdio (Makefile.am): Likewise.
64944         * modules/stdlib (Makefile.am): Likewise.
64945         * modules/string (Makefile.am): Likewise.
64946         * modules/strings (Makefile.am): Likewise.
64947         * modules/sys_file (Makefile.am): Likewise.
64948         * modules/sys_ioctl (Makefile.am): Likewise.
64949         * modules/sys_select (Makefile.am): Likewise.
64950         * modules/sys_socket (Makefile.am): Likewise.
64951         * modules/sys_stat (Makefile.am): Likewise.
64952         * modules/sys_time (Makefile.am): Likewise.
64953         * modules/sys_times (Makefile.am): Likewise.
64954         * modules/sys_utsname (Makefile.am): Likewise.
64955         * modules/sys_wait (Makefile.am): Likewise.
64956         * modules/sysexits (Makefile.am): Likewise.
64957         * modules/termios (Makefile.am): Likewise.
64958         * modules/time (Makefile.am): Likewise.
64959         * modules/unistd (Makefile.am): Likewise.
64960         * modules/wchar (Makefile.am): Likewise.
64961         * modules/wctype (Makefile.am): Likewise.
64963 2010-10-04  Bruno Haible  <bruno@clisp.org>
64965         read-file tests: Avoid a test failure on NonStop Kernel.
64966         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
64967         a regular file.
64968         Reported by Joachim Schmitz <schmitz@hp.com>.
64970 2010-10-03  Bruno Haible  <bruno@clisp.org>
64972         gnulib-tool: Fixes for --create-testdir with --libtool.
64973         * gnulib-tool (func_get_automake_snippet): Don't augment
64974         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
64975         an executable.
64976         (func_create_testdir): Handle module 'alloca' like func_import.
64977         Reported by Bruce Korb <bruce.korb@gmail.com>.
64979 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64981         Avoid some lines longer than 80 characters.
64982         * lib/stdint.in.h: Break long comment lines.
64983         * lib/math.in.h: Likewise.
64984         (_GL_NUM_UINT_WORDS): New macro, for readability.
64985         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
64986         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
64987         * lib/stdlib.in.h: Likewise.
64988         * lib/spawn.in.h: Likewise.
64989         * lib/sys_socket.in.h: Update an URL.
64990         * lib/sys_stat.in.h: Break long line.
64992 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
64994         Improve pmccabe2html.
64995         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
64996         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
64997         when the sources change. Remove the line in the HTML about "Used
64998         ranges" (which implied that there might be other unused ranges),
64999         rename "Resume" to "Summary" (easier to understand for more users).
65000         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
65001         styles, and some unnecessary blank lines.
65003 2010-10-03  Bruno Haible  <bruno@clisp.org>
65004             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
65006         acl: Add support for ACLs on NonStop Kernel.
65007         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
65008         Check whether the function aclsort() exists.
65009         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
65010         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
65011         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65012         (acl_nontrivial [HAVE_ACLSORT]: New function.
65013         (file_has_acl): Implement for NonStop Kernel.
65014         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65015         (qset_acl): Implement for NonStop Kernel.
65016         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
65017         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
65018         (main): Implement for NonStop Kernel.
65019         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
65020         Kernel. Handle this flavor.
65021         * tests/test-set-mode-acl.sh: Likewise.
65022         * tests/test-copy-acl.sh: Likewise.
65023         * tests/test-copy-file.sh: Likewise.
65025 2010-10-03  Bruno Haible  <bruno@clisp.org>
65027         Info about ACLs on NonStop Kernel.
65028         * doc/acl-resources.txt: Add info about NonStop Kernel.
65029         References by Joachim Schmitz <schmitz@hp.com>.
65031 2010-10-02  Bruno Haible  <bruno@clisp.org>
65033         Define missing EDQUOT on NonStop Kernel.
65034         * lib/errno.in.h (EDQUOT): Assign a value if missing.
65035         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
65036         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
65037         missing.
65038         * doc/posix-headers/errno.texi: Mention the NSK bug.
65039         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
65040         Reported by Joachim Schmitz <schmitz@hp.com>.
65042 2010-10-02  Bruno Haible  <bruno@clisp.org>
65044         Update doc for POSIX:2008.
65045         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
65046         Update URL of POSIX specification.
65048 2010-10-02  Bruno Haible  <bruno@clisp.org>
65050         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
65051         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
65052         from gnulib, not from Automake.
65054 2010-10-02  Bruno Haible  <bruno@clisp.org>
65056         New module 'system-posix'.
65057         * modules/system-posix: New file.
65058         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
65059         module is present.
65060         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65061         GNULIB_SYSTEM_POSIX.
65062         * modules/stdlib (Depends-on): Remove sys_wait.
65063         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
65064         * doc/posix-functions/system.texi: Mention the new module.
65065         * doc/posix-headers/stdlib.texi: Likewise.
65066         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
65067         define test_sys_wait_macros to a no-op.
65068         Reported by Sam Steingold <sds@gnu.org>.
65070 2010-09-30  Bruno Haible  <bruno@clisp.org>
65072         More renaming from 'getdate' to 'get_date'.
65073         * doc/get_date.texi: Renamed from doc/getdate.texi.
65074         * modules/get_date (Files): Update.
65075         * MODULES.html.sh (Date and time <time.h>): Update.
65076         * DEPENDENCIES: Update.
65077         * gnulib-tool: Update comment.
65078         * m4/bison.m4 (gl_BISON): Likewise.
65079         * m4/get_date.m4 (gl_GET_DATE): Likewise.
65081 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
65083         bootstrap: support ACLOCAL_FLAGS during aclocal
65084         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
65085         can add additional -I dir for third-party .m4 files.
65087 2010-09-30  Eric Blake  <eblake@redhat.com>
65089         bootstrap: use glibtoolize on MacOS
65090         * build-aux/bootstrap (check_versions): Convert libtool into
65091         libtoolize.
65092         (tool search): Move libtool check earlier, and look for
65093         glibtoolize for MacOS.
65094         (gnulib_tool_options): Auto-add --libtool when appropriate.
65095         Reported by Justin Clift.
65097         poll: fix typo that broke test on MacOS
65098         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
65099         Reported by Justin Clift.
65101         getdate: rename to get_date
65102         Note: getdate.h is not renamed, to minimize client impact.
65103         * modules/getdate: Mark obsolete.  Move old contents...
65104         * modules/get_date: ...to new module name.
65105         * modules/getdate-tests: Move...
65106         * modules/get_date-tests: ...here.
65107         * m4/getdate.m4: Move...
65108         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
65109         * lib/getdate.y: Move...
65110         * lib/get_date.y: ...here.
65111         * tests/test-getdate.c: Move...
65112         * tests/test-get_date.c: ...here.
65113         * doc/posix-functions/getdate.texi (getdate): Update name.
65114         * NEWS: Mention the change.
65116 2010-09-29  Bruno Haible  <bruno@clisp.org>
65118         Separate the module 'waitpid' from the module 'sys_wait'.
65119         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
65120         present.
65121         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
65122         gl_MODULE_INDICATOR_FOR_TESTS.
65123         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
65124         * modules/sys_wait (Depends-on): Remove waitpid.
65125         (Makefile.am): Substitute GNULIB_WAITPID.
65126         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
65127         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
65128         signature only if the 'waitpid' module is present.
65129         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
65130         * NEWS: Mention the change.
65131         * modules/grantpt (Depends-on): Add waitpid.
65132         * modules/wait-process (Depends-on): Likewise.
65134 2010-09-29  Bruno Haible  <bruno@clisp.org>
65136         More tests for module 'sys_wait'.
65137         * modules/sys_wait-c++-tests: New file.
65138         * tests/test-sys_wait-c++.cc: New file.
65139         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
65140         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65142 2010-09-29  Bruno Haible  <bruno@clisp.org>
65144         New module 'waitpid'.
65145         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
65146         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
65147         Don't include <process.h>.
65148         (waitpid): Declare only, using modern idiom.
65149         * m4/waitpid.m4: New file.
65150         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
65151         * modules/waitpid: New file.
65152         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
65153         (Makefile.am): Update.
65154         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
65156 2010-09-28  Bruno Haible  <bruno@clisp.org>
65158         poll: Assume ANSI C.
65159         * lib/poll.c (poll): Use an ANSI C declaration.
65161 2010-09-28  Bruno Haible  <bruno@clisp.org>
65163         poll-h: Create poll.h on all platforms.
65164         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
65165         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
65166         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
65167         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
65168         (gl_REPLACE_POLL_H): Don't set POLL_H.
65169         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
65170         * modules/poll-h (Depends-on): Add include_next.
65171         (Makefile.am): Create poll.h unconditionally. Substitute also
65172         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
65174 2010-09-28  Bruno Haible  <bruno@clisp.org>
65176         Tests for module 'poll-h'.
65177         * modules/poll-h-c++-tests: New file.
65178         * tests/test-poll-h-c++.cc: New file.
65180         Tests for module 'poll-h'.
65181         * modules/poll-h-tests: New file.
65182         * tests/test-poll-h.c: New file.
65184 2010-09-28  Bruno Haible  <bruno@clisp.org>
65186         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
65187         * modules/poll-h (Depends-on): Add 'extensions'.
65189 2010-09-28  Bruno Haible  <bruno@clisp.org>
65191         New module 'poll-h'.
65192         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
65193         (poll): Use modern idiom.
65194         * modules/poll-h: New file.
65195         * modules/poll (Files): Remove lib/poll.in.h.
65196         (Depends-on): Add poll-h.
65197         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
65198         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
65199         * m4/poll_h.m4: New file.
65200         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
65201         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
65202         and invoke gl_REPLACE_POLL_H.
65203         * lib/poll.c: Use common idiom.
65204         * tests/test-poll.c: Likewise.
65205         * doc/posix-headers/poll.texi: Mention the poll-h module.
65206         Suggested by Eric Blake.
65208 2010-09-26  Bruno Haible  <bruno@clisp.org>
65210         sys_wait: Implement WSTOPSIG.
65211         * lib/sys_wait.in.h (WSTOPSIG): New macro.
65212         Reported by Simon Josefsson.
65214 2010-09-26  Simon Josefsson  <simon@josefsson.org>
65216         stdlib, sys_wait: Avoid compilation error on mingw.
65217         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
65219 2010-09-26  Bruno Haible  <bruno@clisp.org>
65221         stdlib tests: Avoid code duplication.
65222         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
65223         * modules/sys_wait-tests (Files): Likewise.
65224         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
65225         * tests/test-stdlib.c: Include test-sys_wait.h.
65226         (main): Invoke test_sys_wait_macros.
65227         * tests/test-sys_wait.c: Include test-sys_wait.h.
65228         (main): Invoke test_sys_wait_macros.
65230 2010-09-25  Simon Josefsson  <simon@josefsson.org>
65232         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
65233         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
65234         sure Windows sockets are working before calling getaddrinfo.
65235         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
65236         * doc/gnulib.texi (Windows sockets): Fix typo.
65238 2010-09-25  Bruno Haible  <bruno@clisp.org>
65240         Tests for module 'regex-quote'.
65241         * modules/regex-quote-tests: New file.
65242         * tests/test-regex-quote.c: New file.
65244         New module 'regex-quote'.
65245         * lib/regex-quote.h: New file.
65246         * lib/regex-quote.c: New file.
65247         * modules/regex-quote: New file.
65248         Suggested by Reuben Thomas <rrt@sc3d.org>.
65250 2010-09-24  Bruno Haible  <bruno@clisp.org>
65252         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
65253         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
65255 2010-09-23  Bruno Haible  <bruno@clisp.org>
65257         setenv: Relax license.
65258         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
65259         Blake.
65260         Requested by Eric Blake.
65262 2010-09-22  Bruno Haible  <bruno@clisp.org>
65264         termios: Relax license.
65265         * modules/termios (License): Change to LGPLv2+.
65266         Requested by Eric Blake.
65268 2010-09-22  Bruno Haible  <bruno@clisp.org>
65270         threadlib: Allow the package to change the default to 'no'.
65271         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
65272         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
65273         Reported by Paul Eggert.
65275 2010-09-22  Pádraig Brady  <P@draigbrady.com>
65276             Bruno Haible  <bruno@clisp.org>
65278         Fix endless loop in mbmemcasecoll.
65279         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
65280         byte.
65281         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
65283 2010-09-22  Bruno Haible  <bruno@clisp.org>
65285         Tests for module 'memcoll'.
65286         * modules/memcoll-tests: New file.
65287         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
65289         memcoll, xmemcoll: Clarify size vs. length.
65290         * modules/memcoll.c (memcoll0): Clarify specification.
65291         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
65292         passed to collate_error.
65294 2010-09-22  Bruno Haible  <bruno@clisp.org>
65296         Tests for module 'memcasecmp'.
65297         * modules/memcasecmp-tests: New file.
65298         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
65300 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65302         * lib/pthread.in.h: Add split double-inclusion guard, and include
65303         system <pthread.h> if there is one.  Use @@-style as in other
65304         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
65305         pthread.h doesn't.
65306         (pthread_mutexattr_destroy, pthread_mutexattr_init):
65307         (pthread_mutexattr_settype, pthread_mutex_trylock):
65308         New static inline functions, if there's no system <pthread.h>.
65309         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
65310         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
65311         Approximate with mutexes if the system lacks spinlocks, as in
65312         MacOS.
65313         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
65314         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
65315         @@-style.  Check for spinlocks separately.
65316         (gl_PTHREAD_DEFAULTS): New macro.
65317         * modules/pthread: Redo to use a more typical style for in.h files.
65319 2010-09-21  Eric Blake  <eblake@redhat.com>
65321         net_if: enhance tests
65322         * tests/test-net_if.c (main): Move signature checks earlier.
65323         Print failures to stderr.
65324         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
65325         Document the bug that we do not yet fix.
65327 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65329         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
65330         about gnulib, not GSS.
65332 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65334         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
65335         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
65336         for Emacs.
65337         * build-aux/pmccabe2html: Make Makefile.am example code more
65338         cut-and-paste friendly.
65340 2010-09-21  Simon Josefsson  <simon@josefsson.org>
65342         * tests/test-net_if.c: New file.
65343         * modules/net_if-tests: New file.
65345 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65347         pthread: add pthread_spin_destroy
65348         * lib/pthread.in.h (pthread_spin_destroy): New function.
65350 2010-09-19  Bruno Haible  <bruno@clisp.org>
65352         gnulib-tool: Fix --help output.
65353         * gnulib-tool (func_usage): Fix help message.
65354         Reported by Reuben Thomas <rrt@sc3d.org>.
65356 2010-09-18  Jim Meyering  <meyering@redhat.com>
65358         maint.mk: avoid unexpanded \n in two diagnostics
65359         * top/maint.mk (sc_prohibit_always_true_header_tests):
65360         Don't use a literal \n in a halt=... assignment.  It would not be
65361         expanded, and the two \n bytes would appear in the diagnostic output
65362         rather than the desired newline.  Use halt=$$(printf ... instead.
65363         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
65365 2010-09-18  Bruno Haible  <bruno@clisp.org>
65367         netinet_in: Doc tweak.
65368         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
65369         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65371 2010-09-18  Jim Meyering  <meyering@redhat.com>
65373         init.sh: correct an outdated comment
65374         * tests/init.sh (create_exe_shims_):  s/function/alias/
65376         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
65377         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
65378         a file named "*.exe" is removed between the glob expansion and the
65379         processing of that oddly named file.
65381 2010-09-17  Eric Blake  <eblake@redhat.com>
65383         mirbsd: add some more support
65384         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
65385         in BSD family.
65386         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
65387         devices as OpenBSD.
65388         * m4/host-os.m4 (mirbsd): Add MirBSD.
65390         tests: fix unportable assumption on sys/wait.h
65391         * tests/test-sys_wait.c (main): Relax test.
65392         * tests/test-stdlib.c (main): Likewise.
65394         init.sh: accommodate directory with no .exes
65395         * tests/init.sh: Accomodate directory containing only scripts.
65397         tests: avoid compiler warning
65398         * tests/test-stdlib.c (main): Use the variable.
65400         fdutimens, fdutimensat: update signature, again
65401         * lib/utimens.h (gl_futimens): Delete, and move signature...
65402         (fdutimens): ...here.
65403         (fdutimensat): Rearrange signature.
65404         (lutimensat): Rename variable for clarity.
65405         * lib/fdutimensat.c (fdutimensat): Update signature.
65406         * lib/utimens.c (fdutimens): Likewise.
65407         (gl_futimens): Delete.
65408         (utimens, lutimens): Update callers.
65409         * lib/futimens.c (futimens): Likewise.
65410         * tests/test-fdutimensat.c: Likewise.
65411         * tests/test-utimens.c: Likewise.
65412         * tests/test-futimens.h: Update comment.
65413         * NEWS: Mention this.
65414         Suggested by Paul Eggert.
65416 2010-09-17  Bruno Haible  <bruno@clisp.org>
65418         Take over the maintenance of some older macros from Autoconf.
65419         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
65420         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
65421         GNU Autoconf.
65422         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
65423         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
65425 2010-09-17  Eric Blake  <eblake@redhat.com>
65427         fdutimensat: drop atflag validation
65428         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
65429         with valid fd, to close a race scenario where futimens is
65430         unsupported and FILE was replaced by a symlink.
65431         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
65432         accordingly.
65433         Suggested by Paul Eggert.
65435 2010-09-16  Bruno Haible  <bruno@clisp.org>
65437         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
65438         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
65440 2010-09-16  Bruno Haible  <bruno@clisp.org>
65442         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
65443         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
65444         login_tty exists.
65445         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65447 2010-09-16  Bruno Haible  <bruno@clisp.org>
65449         login_tty: Make the replacement code work on BSD systems.
65450         * lib/login_tty.c: Include <sys/ioctl.h>.
65451         (login_tty): Use ioctl TIOCSCTTY when available.
65452         * modules/login_tty (Depends-on): Add sys_ioctl.
65453         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65455 2010-09-16  Bruno Haible  <bruno@clisp.org>
65457         login_tty: Stricter unit test.
65458         * modules/login_tty-tests (Depends-on): Add tcgetsid.
65459         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
65460         and tcgetsid() after login_tty.
65461         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65463 2010-09-16  Bruno Haible  <bruno@clisp.org>
65465         New module 'tcgetsid'.
65466         * lib/tcgetsid.c: New file.
65467         * m4/tcgetsid.m4: New file.
65468         * modules/tcgetsid: New file.
65469         * modules/termios (Depends-on): Add c++defs, warn-on-use.
65470         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
65471         GNULIB_TCGETSID, HAVE_TCGETSID.
65472         * lib/termios.in.h: Include <sys/types.h>.
65473         (tcgetsid): New declaration.
65474         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
65475         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
65476         * doc/posix-functions/tcgetsid.texi: Mention the new module.
65477         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
65479 2010-09-16  Bruno Haible  <bruno@clisp.org>
65481         Tests for module 'termios'.
65482         * modules/termios-c++-tests: New file.
65483         * modules/termios-tests: New file.
65484         * tests/test-termios-c++.cc: New file.
65485         * tests/test-termios.c: New file.
65487         New module 'termios'.
65488         * modules/termios: New file.
65489         * lib/termios.in.h: New file.
65490         * m4/termios_h.m4: New file.
65491         * doc/posix-headers/termios.texi: Mention the new module.
65493 2010-09-16  Eric Blake  <eblake@redhat.com>
65495         fdutimensat: add an atflag parameter
65496         * lib/fdutimensat.c (fdutimensat): Add new parameter.
65497         * lib/utimens.h (fdutimensat): Update prototype.
65498         * tests/test-fdutimensat.c: Adjust test to match.
65499         * NEWS: Document the change.
65500         Suggested by Paul Eggert.
65502 2010-09-16  Bruno Haible  <bruno@clisp.org>
65504         Fix typos in comments.
65505         * lib/striconveh.h: Fix typo in comment.
65506         * lib/login_tty.c (login_tty): Likewise.
65508 2010-09-15  Bruno Haible  <bruno@clisp.org>
65510         stdlib: clarify MirBSD WEXITSTATUS bug
65511         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
65512         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65514 2010-09-15  Eric Blake  <eblake@redhat.com>
65516         stdlib: work around MirBSD WEXITSTATUS bug
65517         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
65518         * modules/stdlib (Depends-on): Add sys_wait.
65519         * tests/test-sys_wait.c (main): Enhance test.
65520         * tests/test-stdlib.c (main): Likewise.
65521         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
65523         docs: mention MacOS issue with WEXITSTATUS(constant)
65524         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
65525         issue.
65526         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65528         strnlen: add tests
65529         * modules/strnlen-tests: New file.
65530         * tests/test-strnlen.c: Likewise.
65532 2010-09-14  Bruno Haible  <bruno@clisp.org>
65534         unistr/base: Avoid link errors when module 'libunistring' is also used.
65535         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
65536         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
65537         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
65538         Declare also when HAVE_LIBUNISTRING is set.
65539         Reported by Pádraig Brady <P@draigbrady.com>.
65541 2010-09-14  Eric Blake  <eblake@redhat.com>
65543         test-rawmemchr: make more robust
65544         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
65545         (Depends-on, configure.ac): Add needed prerequisites to use it.
65546         * modules/memchr-tests (Files, Depends-on, configure.ac):
65547         Likewise, to avoid implicit reliance on memchr module prereqs.
65548         * tests/test-memchr.c (main): Ensure proper masking.
65549         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
65550         reads.
65552         memchr: detect glibc Alpha bug
65553         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
65554         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
65555         Alpha.
65556         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
65557         * tests/test-memchr.c (main): Enhance test.
65558         Reported by Nelson H. F. Beebe.
65560 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65562         fts, getcwd, glob: audit for dirfd returning -1
65563         * lib/fts.c (opendir): Remove #define; no longer used.
65564         (opendirat): New arg PDIR_FD.  All callers changed.
65565         (fts_build, _opendir2): Use new opendirat to avoid the need for
65566         dirfd, or for checking whether dirfd returns a negative value.
65567         Don't use opendir; always use openat followed by fdopendir.
65568         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
65569         it.
65570         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
65571         returns -1 here.
65572         * modules/fts (Depends-on): Remove dirfd.
65573         * modules/getcwd (Depends-on): Likewise.
65575 2010-09-13  Eric Blake  <eblake@redhat.com>
65577         float: fix broken MirBSD header
65578         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
65579         * doc/posix-headers/float.texi (float.h): Document it.
65581 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65583         fts: use O_NOFOLLOW to avoid race condition when opening a directory
65584         * lib/fts.c (opendirat): New arg extra_flags.
65585         (__opendir2): Use it to avoid following symlinks when opening
65586         a directory, if symlinks are not supposed to be followed.  See
65587         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
65589         fdopendir: preserve argument fd before returning
65590         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
65591         (fdopendir_with_dup, fd_clone_opendir): New static functions.
65592         (fdopendir): Use them, arranging for FD to be open to the same
65593         directory that it was when it started.  (It might be temporarily
65594         closed while fdopendir is running, so this not thread- or
65595         signal-safe.)  Be careful to do the right thing even when file
65596         descriptors are scarce and dup fails with errno == EMFILE.  See
65597         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
65599 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
65601         regex: Pass the system regex if its only problem is 32-bit regoff_t.
65602         * NEWS: Document change.
65603         * m4/regex.m4: Disable test for regoff_t size.
65605 2010-09-13  Jim Meyering  <meyering@redhat.com>
65607         fts: don't operate on an invalid file descriptor after failed dup
65608         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
65609         negative file descriptor.
65611 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65613         savedir: add streamsavedir, deprecate fdsavedir
65614         * NEWS: Mention deprecation of fdsavedir.
65615         * lib/savedir.c (streamsavedir): New extern function, whose name
65616         ends in "savedir" to be consistent with the others.  This differs
65617         from savedirstream in that it doesn't close its argument.  The
65618         next version of GNU tar will use this instead of fdsavedir, to
65619         avoid some race conditions and conserve file descriptors.
65620         (savedirstream): Reimplement as a wrapper around streamsavedir.
65621         (fdsavedir): Add a comment deprecating this function.  As far as
65622         I know, only GNU tar used it, and GNU tar doesn't need it any more.
65623         * lib/savedir.h (streamsavedir): New decl.
65624         (fdsavedir): Add a comment deprecating this.
65626 2010-09-10  Bruno Haible  <bruno@clisp.org>
65628         langinfo: Fix last commit.
65629         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
65630         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
65631         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65633 2010-09-10  Bruno Haible  <bruno@clisp.org>
65635         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
65636         * lib/progreloc.c (O_EXEC): Define fallback.
65638 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
65640         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
65641         * NEWS: Document recent changes to fcntl-h.
65642         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
65643         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
65644         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
65645         Similarly for O_SEARCH; this last was already true, but not documented.
65646         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
65647         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
65648         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
65649         Likewise.
65650         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
65651         is zero, not whether it is defined.
65652         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
65653         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
65654         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
65656 2010-09-10  Bruno Haible  <bruno@clisp.org>
65658         langinfo, nl_langinfo: Fix for IRIX 5.3.
65659         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
65660         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
65661         HAVE_LANGINFO_YESEXPR.
65662         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
65663         HAVE_LANGINFO_YESEXPR.
65664         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
65665         HAVE_LANGINFO_T_FMT_AMPM is 0.
65666         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
65667         HAVE_LANGINFO_YESEXPR is 0.
65668         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
65669         NOEXPR.
65670         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
65671         * doc/posix-functions/nl_langinfo.texi: Likewise.
65672         Reported by Eric Blake.
65674 2010-09-10  Bruno Haible  <bruno@clisp.org>
65676         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
65677         * doc/glibc-functions/login_tty.texi: Mention the include file problem
65678         on FreeBSD 8.0 and OpenBSD 4.6.
65679         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
65680         * m4/pty_h.m4 (gl_PTY_H): Likewise.
65681         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
65682         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
65683         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
65684         ac_includes_default.
65685         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65687 2010-09-09  Eric Blake  <eblake@redhat.com>
65689         strsignal: work around NetBSD bug
65690         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
65691         * lib/string.in.h (includes): Likewise.
65692         * doc/posix-functions/strsignal.texi (strsignal): Document the
65693         bug.
65694         Reported by Nelson H. F. Beebe.
65696         gnulib-tool: work with NetBSD /bin/sh
65697         * gnulib-tool (func_cache_var, func_cache_lookup_module)
65698         (func_get_description, func_get_comment, func_get_status)
65699         (func_get_notice, func_get_applicability, func_get_filelist)
65700         (func_get_dependencies, func_get_autoconf_early_snippet)
65701         (func_get_autoconf_snippet, func_get_automake_snippet)
65702         (func_get_include_directive, func_get_link_directive)
65703         (func_get_license, func_get_maintainer, func_import): Avoid
65704         shell syntax errors from parsing syntax extensions.
65706 2010-09-09  Bruno Haible  <bruno@clisp.org>
65708         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
65709         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
65710         a reliable way to determine whether the 'alias' command works.
65712 2010-09-08  Jim Meyering  <meyering@redhat.com>
65714         init.sh: penalize a set-x-impaired shell; don't disqualify it
65715         * tests/init.sh: Too many shells corrupt application stderr when
65716         you set -x, so we can't afford to disqualify them, since at least
65717         on Irix-6.5, that would disqualify all bourne shells.
65718         Instead, use a two-pass approach.
65719         On the first pass, try to find a shell that meets the stricter
65720         condition that set -x does not corrupt stderr.
65721         If no shell meets the stricter condition, retest each candidate
65722         shell, but without that extra condition.  Finally, when
65723         VERBOSE=yes is requested and set -x might cause trouble, simply
65724         issue a warning and refrain from enabling debug output.
65726 2010-09-08  Eric Blake  <eblake@redhat.com>
65728         unsetenv: fix OpenBSD bug
65729         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
65730         * doc/posix-functions/unsetenv.texi (unsetenv): Update
65731         documentation.
65732         Reported by Jim Meyering.
65734         strtod: work around IRIX 6.5 bug
65735         * lib/strtod.c (strtod): Reparse number on shorter string if
65736         exponent parse was invalid.
65737         * tests/test-strtod.c (main): Add check for "0x1p 2".
65738         Reported by Tom G. Christensen.
65740         getopt: optimize previous patch
65741         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
65742         empty variable.  Speed up awk script.
65743         Reported by Paolo Bonzini.
65745 2010-09-08  Jim Meyering  <meyering@redhat.com>
65747         test.sh: disqualify shells for which set -x corrupts stderr
65748         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
65749         and OpenBSD 4.7.  They make it so with "set -x", environment settings
65750         appear in stderr output.  For example, this command:
65751             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
65752         prints "P=1" on those two systems:
65754 2010-09-08  Bruno Haible  <bruno@clisp.org>
65756         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
65757         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
65758         commands, because some shells ignore redirections when there is an
65759         error in the command lookup.
65760         Reported by Eric Blake.
65762 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
65764         * lib/regex.h: Fix a mention of `regex_compile' (should be
65765         `re_compile_pattern').
65766         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
65767         (re_set_registers): Correct name of parameter in comment.
65769         * doc/regex.texi: Add documentation for missing syntax flags.
65770         Remove commented-out documentation of defunct syntax option
65771         RE_NO_EMPTY_ALTS.
65772         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
65773         Add documentation of re_set_registers.
65774         Document trick to re-use a pattern buffer by setting fastmap manually.
65775         Update documentation of struct re_pattern_buffer per public members.
65776         Uncomment documentation of equivalence class operators and
65777         collating symbol operators, since they are now implemented,
65778         Explain leftmost-longest matching in relation to alternatives.
65779         Tidy documentation of substring matching.
65780         Remove POSIX documentation, which is done better in
65781         glibc, and refer the reader there. Keep BSD API documentation, as
65782         that is not readily available elsewhere.
65784 2010-09-07  Eric Blake  <eblake@redhat.com>
65786         getopt: handle POSIXLY_CORRECT set but not exported
65787         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
65788         export state of POSIXLY_CORRECT, due to bash set -o posix.
65789         Reported by Dustin J. Mitchell.
65791 2010-09-05  Bruno Haible  <bruno@clisp.org>
65793         gnulib-tool: Highlight the changed options.
65794         * gnulib-tool (func_usage): Display the --import, --add-import,
65795         --remove-import explanations in bold font.
65797 2010-09-06  Karl Berry  <karl@gnu.org>
65799         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
65801 2010-09-05  Bruno Haible  <bruno@clisp.org>
65803         uniwidth/width: Update comment.
65804         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
65805         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
65807 2010-09-05  Bruno Haible  <bruno@clisp.org>
65809         isinf, isnan: Relax license.
65810         * modules/isinf (License): Change from GPL to LGPL, with consent from
65811         Ben Pfaff.
65812         * modules/isnan (License): Likewise.
65813         Requested by Ludovic Courtès.
65815 2010-09-04  Bruno Haible  <bruno@clisp.org>
65817         gnulib-tool: Help migration from --import to --add-import or --update.
65818         * gnulib-tool: Emit a verbose error message when --import is used
65819         without any module name.
65821 2010-09-04  Bruno Haible  <bruno@clisp.org>
65823         Update doc about gnulib-tool.
65824         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
65825         'gnulib-tool --update' in more detail.
65826         Reported by Eric Blake.
65828 2010-09-04  Bruno Haible  <bruno@clisp.org>
65830         gnulib-tool: Change --import. New options --add/remove-import.
65831         * gnulib-tool: New options --add-import, --remove-import.
65832         (func_usage): Document them.
65833         (have_associative): Define always.
65834         (func_import): In import mode, don't merge the specified settings with
65835         the cached settings. Implement remove-import mode.
65836         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
65837         Explain when to use them versus --import.
65838         (Simple update): Use --add-import instead of --import.
65839         * NEWS: Mention the change.
65841 2010-09-04  Bruno Haible  <bruno@clisp.org>
65843         * doc/gnulib-tool.texi (Initial import): Update paragraph about
65844         separate gnulib.mk.
65846 2010-09-04  Bruno Haible  <bruno@clisp.org>
65848         gnulib-tool: Don't talk about CVS any more.
65849         * gnulib-tool (func_usage, func_import): Write "version control"
65850         instead of CVS.
65852 2010-09-04  Jim Meyering  <meyering@redhat.com>
65854         maint.mk: avoid obscure sc_copyright_check failure in coreutils
65855         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
65856         false positives (whose names may be ill-chosen) when searching
65857         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
65858         would cause a false-positive.
65860         avoid coreutils "make distcheck" failure
65861         Coreutils tests with an absolute build directory name that contains
65862         a space.  Not quoting this directory name caused a failure.
65863         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
65864         * tests/test-vc-list-files-cvs.sh: Likewise.
65866 2010-09-04  Bruno Haible  <bruno@clisp.org>
65868         gnulib-tool: Avoid error when run in a package without Makefile.am.
65869         * gnulib-tool: When collecting the m4dirs in a package that does not
65870         have a Makefile.am, eliminate those directories that contain no
65871         gnulib-cache.m4. Fix expression that counts these directories.
65873 2010-09-04  Bruno Haible  <bruno@clisp.org>
65875         update-copyright test: Improve output when perl is missing or too old.
65876         * tests/test-update-copyright.sh: Move test of Perl version down after
65877         the test whether Perl exists. Provide an explanation relating Perl's
65878         error message to Automake's SKIP: message.
65880 2010-09-04  Bruno Haible  <bruno@clisp.org>
65882         Don't augment PATH in TESTS_ENVIRONMENT.
65883         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
65884         set abs_aux_dir instead of augmenting PATH.
65885         * modules/vc-list-files-tests (Makefile.am): Likewise.
65886         * tests/test-update-copyright.sh: Augment PATH here.
65887         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
65888         path_prepend_.
65889         * tests/test-vc-list-files-git.sh: Likewise.
65891 2010-09-04  Jim Meyering  <meyering@redhat.com>
65893         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
65894         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
65896 2010-09-04  Bruno Haible  <bruno@clisp.org>
65898         strdup: Fix compilation error in C++ mode.
65899         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
65900         the macro.
65902 2010-09-04  Bruno Haible  <bruno@clisp.org>
65904         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
65905         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
65906         macro into a function.
65907         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
65909 2010-09-04  Bruno Haible  <bruno@clisp.org>
65911         Set PATH_SEPARATOR the same way autoconf does.
65912         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
65913         the value of PATH_SEPARATOR the same way autoconf-generated configure
65914         scripts do.
65915         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
65916         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65918 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
65920         Set PATH_SEPARATOR the same way autoconf does.
65921         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
65922         the same way autoconf-generated configure scripts do.
65923         * posix-modules: Likewise.
65925 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65927         hash: fix safe_hasher const typo
65928         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
65929         const; otherwise, there is a type error later.
65931 2010-09-02  Jim Meyering  <meyering@redhat.com>
65933         test-update-copyright.sh: require perl 5.8.0
65934         * tests/test-update-copyright.sh: Require 5.8.0,
65935         which Tom G. Christensen has confirmed is adequate,
65936         while 5.6.1 is not.
65938 2010-09-02  Eric Blake  <eblake@redhat.com>
65940         tests: init.sh improvements for re-exec'ing with zsh
65941         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
65942         -vx through shell re-exec.
65943         Reported by Tom G. Christensen.
65945         wctype: fix typo in previous commit
65946         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
65947         Reported by Ludovic Courtès.
65949 2010-09-02  Jim Meyering  <meyering@redhat.com>
65951         test-update-copyright.sh: skip test if Perl is too old
65952         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
65953         Reported by Tom G. Christensen.
65955 2010-09-02  Bruno Haible  <bruno@clisp.org>
65957         wctype: Avoid compilation error on IRIX 6.5.30.
65958         * lib/wctype.in.h (iswblank): Declare with a replacement if
65959         REPLACE_ISWBLANK is set.
65960         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
65961         declared. Set REPLACE_ISWBLANK.
65962         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
65963         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
65964         * doc/posix-headers/wctype.texi: Likewise.
65965         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65967 2010-09-01  Bruno Haible  <bruno@clisp.org>
65969         New module 'socketlib'.
65970         * modules/socketlib: New file.
65971         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
65972         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
65973         * modules/sockets (Depends-on): Add socketlib.
65974         Suggested by Sam Steingold <sds@gnu.org>.
65976 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65978         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
65980         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
65981         when one needs search access to a directory but not read access.
65982         On systems where it is available, it works in some cases where
65983         O_RDONLY does not, namely on directories that are searchable but
65984         not readable, and which need only to be searchable.  If O_SEARCH
65985         is not available, fall back to the traditional method of using
65986         O_RDONLY.
65988         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
65989         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
65990         when opening a directory that needs only to be searchable.
65991         * lib/chdir-safer.c (chdir_no_follow): Likewise.
65992         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
65993         * lib/openat-proc.c (openat_proc_name): Likewise.
65994         * lib/openat.c (openat_needs_fchdir): Likewise.
65995         * lib/save-cwd.c (save_cwd): Likewise.
65996         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
65998 2010-08-28  Bruno Haible  <bruno@clisp.org>
66000         New module 'host-cpu-c-abi'.
66001         * modules/host-cpu-c-abi: New file.
66002         * m4/host-cpu-c-abi.m4: New file, based on part of
66003         clisp/src/m4/general.m4.
66004         Requested by Sam Steingold <sds@gnu.org>.
66006 2010-08-31  Eric Blake  <eblake@redhat.com>
66007         and Jim Meyering  <meyering@redhat.com>
66009         hash: factor, and guard against misbehaving hasher function
66010         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
66011         of table->hasher's return value.  Also protect against a hash value
66012         so large that adding it to table->bucket results in a NULL pointer.
66013         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
66014         Use it in place of open-coded check-and-abort.
66016 2010-08-30  Bruno Haible  <bruno@clisp.org>
66018         hash: silence spurious clang warning
66019         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
66020         Reported by Eric Blake.
66022 2010-08-30  Eric Blake  <eblake@redhat.com>
66024         strstr, memmem, strcasestr: avoid leaked shell message
66025         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
66026         FreeBSD.
66027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66028         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66030         tests: silence clang warning
66031         * tests/test-malloca.c (do_allocation): Avoid dead store.
66033 2010-08-29  Bruno Haible  <bruno@clisp.org>
66035         gettext: Fix recent mistake.
66036         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
66038 2010-08-29  Bruno Haible  <bruno@clisp.org>
66040         selinux-h: Offer a --without-selinux option.
66041         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
66042         --without-selinux was specified, skip all tests and define
66043         HAVE_SELINUX_SELINUX_H to 0.
66044         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
66045         set LIB_SELINUX to empty.
66046         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
66047         gl_LIBSELINUX. If --without-selinux was specified, replace
66048         selinux/context.h.
66049         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
66051 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66052             Bruno Haible  <bruno@clisp.org>
66054         Make the module 'realloc-gnu' work again on AIX and OSF/1.
66055         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
66056         of HAVE_REALLOC.
66057         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
66058         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
66059         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
66060         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66062 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66063             Bruno Haible  <bruno@clisp.org>
66065         Make the module 'calloc-gnu' work again on AIX and OSF/1.
66066         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
66067         HAVE_CALLOC.
66068         * lib/xmalloc.c: Update accordingly.
66069         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
66070         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
66071         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
66073 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66074             Bruno Haible  <bruno@clisp.org>
66076         Make the module 'malloc-gnu' work again on AIX and OSF/1.
66077         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
66078         HAVE_MALLOC.
66079         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
66080         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
66081         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
66083 2010-08-29  Bruno Haible  <bruno@clisp.org>
66085         Update modules list.
66086         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
66087         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
66088         (String handling <string.h>): Add astrxfrm.
66089         (File system functions): Add readlinkat.
66091 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66093         Tests for module 'realloc-gnu'.
66094         * modules/realloc-gnu-tests: New file.
66095         * tests/test-realloc-gnu.c: New file.
66097         Tests for module 'calloc-gnu'.
66098         * modules/calloc-gnu-tests: New file.
66099         * tests/test-calloc-gnu.c: New file.
66101         Tests for module 'malloc-gnu'.
66102         * modules/malloc-gnu-tests: New file.
66103         * tests/test-malloc-gnu.c: New file.
66105 2010-08-28  Bruno Haible  <bruno@clisp.org>
66107         Rename module 'realloc' -> 'realloc-gnu'.
66108         * modules/realloc-gnu: New file, copied from modules/realloc.
66109         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
66110         obsolete.
66111         * modules/mgetgroups (Depends-on): Update.
66112         * doc/posix-functions/realloc.texi: Update.
66113         * NEWS: Mention the change.
66115         Rename module 'calloc' -> 'calloc-gnu'.
66116         * modules/calloc-gnu: New file, copied from modules/calloc.
66117         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
66118         obsolete.
66119         * doc/posix-functions/calloc.texi: Update.
66120         * NEWS: Mention the change.
66122         Rename module 'malloc' -> 'malloc-gnu'.
66123         * modules/malloc-gnu: New file, copied from modules/malloc.
66124         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
66125         obsolete.
66126         * modules/argp (Depends-on): Update.
66127         * modules/regex (Depends-on): Update.
66128         * doc/posix-functions/malloc.texi: Update.
66129         * NEWS: Mention the change.
66131 2010-08-28  Eric Blake  <eblake@redhat.com>
66133         pread, pwrite: add missing dependency
66134         * modules/pread (Depends-on): Add extensions.
66135         * modules/pwrite (Depends-on): Likewise.
66137 2010-08-28  Bruno Haible  <bruno@clisp.org>
66139         unistr/u*-strchr: Fix tests dependencies.
66140         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
66141         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
66142         Reported by Ian Beckwith <ianb@erislabs.net>.
66144 2010-08-28  Bruno Haible  <bruno@clisp.org>
66146         read-file: Don't occupy too much unused memory.
66147         * lib/read-file.c (fread_file): Shrink the buffer at the end.
66149 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
66150             Eric Blake  <eblake@redhat.com>
66151             Bruno Haible  <bruno@clisp.org>
66153         read-file: Avoid memory reallocations with regular files.
66154         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
66155         (fread_file): With regular files, use the remaining length as the
66156         initial buffer size.  Check against overflow.
66157         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
66158         sys_stat.
66160 2010-08-28  Bruno Haible  <bruno@clisp.org>
66162         ftello: Relax license.
66163         * modules/ftello (License): Relax to LGPLv2+.
66164         Reported by Eric Blake.
66166 2010-08-28  Bruno Haible  <bruno@clisp.org>
66168         Avoid relocwrapper link errors due to gnulib replacement functions.
66169         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
66170         function.
66171         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66173 2010-08-28  Bruno Haible  <bruno@clisp.org>
66175         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
66176         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
66177         defined.
66178         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
66179         Suggested by Eric Blake.
66181 2010-08-28  Bruno Haible  <bruno@clisp.org>
66183         sys_socket, netdb: Ensure socklen_t gets defined.
66184         * modules/sys_socket (Depends-on): Add socklen.
66185         * modules/netdb (Depends-on): Likewise.
66186         * modules/getaddrinfo (Depends-on): Remove socklen.
66187         * modules/getsockopt (Depends-on): Likewise.
66188         * modules/setsockopt (Depends-on): Likewise.
66189         * tests/test-sys_socket.c: Check that socklen_t is defined.
66190         * tests/test-netdb.c: Likewise.
66191         * m4/socklen.m4: Update comments.
66192         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66194 2010-08-27  Eric Blake  <eblake@redhat.com>
66196         login_tty: add missing dependency
66197         * modules/login_tty (Depends-on): Add pty.
66199 2010-08-26  Eric Blake  <eblake@redhat.com>
66201         lib-symbol-versions: fix m4 quoting
66202         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
66203         format for AC_LINK_IFELSE.
66205         glob: fix compile test
66206         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
66208         btowc: fix missing file
66209         * modules/btowc (Files): Also ship locale-fr.m4.
66211         lseek: fix link test
66212         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
66213         AC_LINK_IFELSE.
66215         include_next: silence autoconf 2.68 warning
66216         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
66217         AC_COMPILE_IFELSE as special.
66218         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
66219         autoconf < 2.68.
66221         acl: fix compilation test
66222         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
66223         AC_COMPILE_IFELSE.
66225 2010-08-26  Bruno Haible  <bruno@clisp.org>
66227         Modernize AC_TRY_RUN invocations.
66228         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
66229         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
66230         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
66231         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
66232         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
66233         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66234         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
66235         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66236         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66237         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66238         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
66239         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
66240         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
66241         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
66242         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
66243         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
66244         gl_MBRLEN_NUL_RETVAL): Likewise.
66245         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66246         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66247         Likewise.
66248         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66249         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
66250         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
66251         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
66252         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
66253         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
66254         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
66255         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
66256         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
66257         Likewise.
66258         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
66259         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
66260         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66261         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66262         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66263         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
66264         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
66265         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
66266         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66269 2010-08-26  Bruno Haible  <bruno@clisp.org>
66271         Modernize AC_TRY_LINK invocations.
66272         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
66273         AC_TRY_LINK.
66274         * m4/argp.m4 (gl_ARGP): Likewise.
66275         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
66276         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
66277         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
66278         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
66279         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
66280         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
66281         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
66282         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
66283         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
66284         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
66285         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
66286         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
66287         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
66288         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66289         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66290         * m4/hostent.m4 (gl_HOSTENT): Likewise.
66291         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66292         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
66293         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
66294         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
66295         Likewise.
66296         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
66297         Likewise.
66298         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
66299         Likewise.
66300         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
66301         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
66302         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
66303         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
66304         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
66305         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66306         * m4/servent.m4 (gl_SERVENT): Likewise.
66307         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
66308         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
66309         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
66310         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
66311         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66312         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
66313         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
66314         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66315         * modules/tsearch-tests (configure.ac): Likewise.
66317 2010-08-26  Bruno Haible  <bruno@clisp.org>
66319         Modernize AC_TRY_COMPILE invocations.
66320         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
66321         AC_TRY_COMPILE.
66322         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
66323         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
66324         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
66325         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66326         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
66327         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66328         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66329         * m4/lock.m4 (gl_LOCK): Likewise.
66330         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
66331         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66332         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
66333         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
66334         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
66335         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
66336         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
66337         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
66338         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
66339         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
66340         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
66341         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66342         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
66343         extraneous semicolon.
66345 2010-08-26  Jim Meyering  <meyering@redhat.com>
66347         stat-time: relax license LGPL
66348         * modules/stat-time (License): Change from GPL to LGPL,
66349         with consent from all contributors, for use in libguile.
66350         Requested by Ludovic Courtès.
66352 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
66354         poll: return immediately on POLLHUP.
66355         * lib/poll.c (poll): Always set timeout before wait_timeout is
66356         computed.
66358 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66360         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
66361         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
66362         rmdir ("dir/.//"), unlinkat.
66364 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66366         stdbool: avoid spurious failure with modern xlc
66367         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66369 2010-08-24  Bruno Haible  <bruno@clisp.org>
66371         getloadavg: simplify code
66372         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
66373         gl_have_func. Update comments.
66375 2010-08-24  Eric Blake  <eblake@redhat.com>
66377         getloadavg: don't define SVR4 on cygwin
66378         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
66379         only define SVR4 when -lkvm is required.
66380         Reported by Yaakov Selkowitz.
66382 2010-08-24  Bruno Haible  <bruno@clisp.org>
66384         priv-set: fix comment
66385         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
66387 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66389         priv-set: fix comments
66390         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
66391         to match code, as suggested by David Bartley in:
66392         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
66394 2010-08-23  Eric Blake  <eblake@redhat.com>
66396         stdbool: avoid rejecting clang
66397         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66398         * tests/test-stdbool.c: Enable more tests if using the system
66399         <stdbool.h> instead of the gnulib replacement.
66400         (main): Move xlc bug test to a runtime test for all compilers.
66401         Reported by Anders Kaseorg.
66403         argz: fix shell quoting issue
66404         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
66405         Reported by Charles Wilson.
66407 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
66408             Erik Faye-Lund <kusmabite@gmail.com>
66410         poll, select: handle ERROR_BROKEN_PIPE.
66411         * lib/poll.c (win32_compute_revents): Return POLLHUP when
66412         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66413         * lib/select.c (win32_compute_revents): Do not mark a pipe
66414         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66416 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
66418         fts: allow compilation with C++
66419         * lib/fts_.h: Specify extern "C" linkage with C++.
66421 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66423         Fix gnulib-tool sed script de-commentation for AIX sed.
66424         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
66425         sed.
66427 2010-08-17  Eric Blake  <eblake@redhat.com>
66429         test-stddef: test for (some) offsetof bugs
66430         * tests/test-stddef.c: Enhance test to ensure correct type of
66431         offsetof.
66432         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
66433         that we are not fixing at this time.
66435 2010-08-15  Bruno Haible  <bruno@clisp.org>
66437         stpncpy: Allow stpncpy to be defined as a macro.
66438         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
66439         if it's already correctly declared.
66440         * lib/string.in.h (stpncpy): Undefine before redefining.
66441         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
66443 2010-08-14  Bruno Haible  <bruno@clisp.org>
66445         Rename module 'memxfrm' to 'amemxfrm'.
66446         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
66447         (amemxfrm): Renamed from memxfrm.
66448         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
66449         (amemxfrm): Renamed from memxfrm.
66450         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
66451         * NEWS: Mention the change.
66452         * MODULES.html.sh (String handling <string.h>): Update.
66453         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
66454         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
66455         * lib/unicase/u16-casexfrm.c: Likewise.
66456         * lib/unicase/u32-casexfrm.c: Likewise.
66457         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
66458         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66459         * lib/uninorm/u16-normxfrm.c: Likewise.
66460         * lib/uninorm/u32-normxfrm.c: Likewise.
66461         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
66462         memxfrm.
66463         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
66464         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
66465         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
66466         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
66467         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
66468         Suggested by Paul Eggert.
66470 2010-08-14  Bruno Haible  <bruno@clisp.org>
66472         Tests for module 'astrxfrm'.
66473         * modules/astrxfrm-tests: New file.
66474         * tests/test-astrxfrm.c: New file.
66476         New module 'astrxfrm'.
66477         * lib/astrxfrm.h: New file.
66478         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
66479         * modules/astrxfrm: New file.
66481 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
66483         regex: Tweak doc.
66484         * doc/regex.texi (Overview): Don't mention regex.c.
66485         (GNU Regular Expression Compiling): Likewise.
66486         (Match-end-of-line Operator): Mention 'not_eol'.
66488 2010-08-14  Brian Gough  <bjg@gnu.org>
66489             Bruno Haible  <bruno@clisp.org>
66491         git-merge-changelog: add doc relating to use with bzr and hg.
66492         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
66494 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
66496         pthread: fix pthread.h creation for srcdir != builddir
66497         * modules/pthread (Makefile.am): Fix the rule to work also in a
66498         non-srcdir build.
66500 2010-08-13  Karl Berry  <karl@gnu.org>
66502         * doc/regex.texi (Predefined Syntaxes): @smallexample.
66503         * doc/posix-*/*: force line break before @url of POSIX
66504         specifications.
66505         Suggested by Werner Lemberg.
66507 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66509         strtod: fix const diagnostic
66510         * lib/strtod.c (strtod): Don't assign const char * to char *,
66511         as this elicits a warning from GCC when warnings are enabled.
66513 2010-08-10  Pádraig Brady  <P@draigbrady.com>
66514         and Eric Blake  <eblake@redhat.com>
66516         copy-acl: ignore ENOTSUP on HP-UX
66517         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
66518         so that it is available for HP-UX.
66519         * lib/copy-acl.c (qcopy_acl): Use it.
66520         Reported by Patrick M. Callahan.
66522 2010-08-10  Eric Blake  <eblake@redhat.com>
66524         open, chown: relax license
66525         * modules/open (License): Change to LGPLv2+, with consent by all
66526         authors, for use in augeas.
66527         * modules/chown (License): Likewise.
66528         * modules/lchown (Likewise): Likewise.
66529         Requested by Adam Stokes.
66531 2010-08-09  Karl Berry  <karl@gnu.org>
66533         * build-aux/ar-lib: new file, import from Automake.
66534         * config/srclist.txt: autocheck for updates.
66536 2010-08-09  Eric Blake  <eblake@redhat.com>
66538         readlinkat: adjust client modules
66539         * modules/areadlinkat (Depends-on): Use readlinkat, not
66540         symlinkat.
66541         * modules/areadlinkat-with-size (Depends-on): Likewise.
66543         mknod: be more vocal about danger of running tests as root
66544         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
66545         root, since that is just asking for problems.
66546         Suggested by Bruno Haible, based on a report by Rainer Tammer.
66548         readlinkat: split into its own module
66549         * modules/symlinkat: Split readlinkat...
66550         * modules/readlinkat: ...into separate module.
66551         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
66552         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
66553         * lib/symlinkat.c (readlinkat): Move...
66554         * lib/readlinkat.c: ...into new file.
66555         * modules/symlinkat-tests: Split readlinkat test...
66556         * modules/readlinkat-tests: ...into separate module.
66557         * tests/test-symlinkat.c: Split...
66558         * tests/test-readlinkat.c: ...into new file.
66559         * NEWS: Document the split.
66560         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
66561         * lib/unistd.in.h (readlinkat): Likewise.
66562         Suggested by Bruno Haible.
66564 2010-08-08  Bruno Haible  <bruno@clisp.org>
66566         memxfrm: Speed up.
66567         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
66568         that usually only one call to strxfrm is necessary for each string
66569         part.
66570         Reported by Paul Eggert <eggert@cs.ucla.edu>.
66572 2010-08-07  Karl Berry  <karl@gnu.org>
66574         * doc/posix-headers/limits.texi,
66575         * doc/posix-functions/malloc.texi,
66576         * doc/posix-functions/strsignal.texi: missing @item.
66577         * doc/ld-version-script.texi: spurious leading i.
66578         * doc/regex.texi (Interval Operators): no commas inside @var.
66580 2010-08-01  Bruno Haible  <bruno@clisp.org>
66582         Integrate the regex documentation.
66583         * doc/gnulib.texi: Define 'cn' index.
66584         (Regular expressions): New a chapter that includes regex.texi and
66585         regexprops-generic.texi.
66586         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
66587         syntax.
66589         Whitespace cleanup.
66590         * doc/regex.texi: Remove trailing spaces.
66592         Add regex documentation.
66593         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
66594         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
66595         Written by Kathy A. Hargreaves and Karl Berry.
66597 2010-08-01  Bruno Haible  <bruno@clisp.org>
66599         link: Update documentation.
66600         * doc/posix-functions/link.texi: Update regarding Solaris.
66602 2010-07-31  Bruno Haible  <bruno@clisp.org>
66604         Update modules list.
66605         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
66606         (String handling <string.h>): Add memcmp2, memxfrm.
66607         (Container data structures): Add xlist, xsublist, xoset.
66608         (Core language properties): Add alignof, unused-parameter.
66609         (Process control, Numeric conversion functions <stdlib.h>): Renamed
66610         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
66611         (Unibyte characters <ctype.h>): New section.
66612         (String handling <string.h>): New section.
66613         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
66614         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
66615         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
66616         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
66617         tan, tanh, tanl, y0, y1, yn.
66618         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
66619         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
66620         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
66621         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
66622         unlockpt, vdprintf, vdprintf-posix.
66623         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
66624         (File system functions): Add concat-filename, sys_file, sys_ioctl,
66625         xconcat-filename.
66626         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
66627         getdtablesize, pipe2, pipe2-safer.
66628         (Security): New section.
66629         (Networking functions): Add accept4.
66630         (Signal handling): Add sigpipe.
66631         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
66632         mbmemcasecoll.
66633         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
66634         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
66635         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
66636         pipe-filter-ii.
66637         (Misc): Add argp-version-etc, login_tty, parse-duration.
66639 2010-07-31  Bruno Haible  <bruno@clisp.org>
66641         Improve doc in MODULES.html.
66642         * modules/linkat (Description): Add the word "function".
66643         * modules/mkfifo (Description): Likewise.
66644         * modules/mknod (Description): Likewise.
66645         * modules/remove (Description): Likewise.
66646         * modules/renameat (Description): Likewise.
66647         * modules/stat (Description): Likewise.
66648         * modules/symlink (Description): Likewise.
66649         * modules/unlink (Description): Likewise.
66651 2010-07-31  Bruno Haible  <bruno@clisp.org>
66653         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
66654         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
66655         option --enable/disable-c++ instead of --enable/disable-cxx.
66656         * NEWS: Mention the change.
66658 2010-07-31  Bruno Haible  <bruno@clisp.org>
66660         readlink, areadlink: Relax test a bit.
66661         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
66662         alternative to ENOTDIR.
66663         * tests/test-areadlink.h (test_areadlink): Likewise.
66664         Reported by Rainer Tammer.
66666 2010-07-31  Bruno Haible  <bruno@clisp.org>
66668         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
66669         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
66670         character, perform the search using U_STRCHR.
66671         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
66672         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
66673         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
66674         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
66675         Suggested by Paolo Bonzini.
66677 2010-07-31  Bruno Haible  <bruno@clisp.org>
66679         unistr/u*-strstr: Fix dependencies.
66680         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
66681         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
66682         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
66684 2010-07-31  Bruno Haible  <bruno@clisp.org>
66686         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
66687         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
66688         the beginning of the loop.
66689         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
66690         cases in 'switch' statement.
66692         unistr/u8-strchr: Fix several bugs.
66693         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
66694         the string. When not found, return NULL, not a pointer near the end.
66696         More tests for unistr/u8-strchr.
66697         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
66698         that the function does not read past the first occurrence of the byte
66699         being searched.
66700         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
66701         * tests/unistr/test-u16-strchr.c (main): New function.
66702         * tests/unistr/test-u32-strchr.c (main): New function.
66704 2010-07-31  Bruno Haible  <bruno@clisp.org>
66706         posix-modules: Ignore backup files of documentation files.
66707         * posix-modules: grep only through files named *.texi.
66709 2010-07-31  Bruno Haible  <bruno@clisp.org>
66711         symlinkat: Fix documentation.
66712         * doc/posix-functions/readlinkat.texi: Fix module name.
66714 2010-07-31  Bruno Haible  <bruno@clisp.org>
66716         fchownat: Replace also when chown has the trailing slash bug.
66717         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
66718         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
66719         introduced on 2010-04-10.
66720         Reported by Rainer Tammer.
66722 2010-07-31  Bruno Haible  <bruno@clisp.org>
66724         linkat: Work around AIX 7.1 bug.
66725         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
66726         whether linkat handles trailing slash correctly. If not, replace linkat
66727         and define LINKAT_TRAILING_SLASH_BUG.
66728         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
66729         check whether (fd1,file1) points to a directory if file1 or file2 ends
66730         in a slash. Code taken from lib/link.c.
66731         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
66732         Reported by Rainer Tammer.
66734 2010-07-31  Bruno Haible  <bruno@clisp.org>
66736         Correctly determine whether pow is available in libc on AIX 7 with xlc.
66737         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
66738         This disables an xlc optimization that was causing wrong test results.
66739         Reported by Rainer Tammer.
66741 2010-07-31  Bruno Haible  <bruno@clisp.org>
66743         iconv: Work around AIX 6.1..7.1 bug.
66744         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
66745         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
66746         cross-compiling, guess no on all versions of AIX.
66747         Reported by Rainer Tammer.
66749 2010-07-31  Bruno Haible  <bruno@clisp.org>
66751         readlink: Relax test a bit.
66752         * tests/test-readlink.h (test_readlink): Allow different errno value
66753         when readlink is called with a file name that ends in / and refers to
66754         a file.
66755         Suggested by Eric Blake.
66756         Reported by Rainer Tammer.
66758 2010-07-31  Bruno Haible  <bruno@clisp.org>
66760         copysign: Does not require -lm on glibc systems.
66761         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
66762         gl_COMMON_DOUBLE_MATHFUNC.
66763         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
66765 2010-07-31  Bruno Haible  <bruno@clisp.org>
66767         duplocale: Work around AIX 7.1 bug.
66768         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
66769         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
66770         * lib/duplocale.c (rpl_duplocale): Update comment.
66771         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
66772         Reported by Rainer Tammer.
66774 2010-07-30  Bruno Haible  <bruno@clisp.org>
66776         dirfd: Avoid link error on AIX 7.1.
66777         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
66778         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
66779         exist, set REPLACE_DIRFD.
66780         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
66781         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
66782         * doc/posix-functions/dirfd.texi: Update.
66783         Reported by Rainer Tammer.
66785 2010-07-30  Eric Blake  <eblake@redhat.com>
66787         strtod: next round of AIX fixes
66788         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
66789         exponent.
66790         * tests/test-strtod.c (main): Enhance tests.
66791         * doc/posix-functions/strtod.texi (strtod): Document next bug.
66792         Reported by Rainer Tammer.
66794         futimens: fix configure check
66795         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
66796         Reported by Bruno Haible.
66798 2010-07-30  Bruno Haible  <bruno@clisp.org>
66800         getline: Update regarding AIX.
66801         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
66802         Reported by Rainer Tammer.
66804 2010-07-30  Bruno Haible  <bruno@clisp.org>
66806         wcwidth: Drop replacement on AIX 7.
66807         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
66808         AIX 7.
66809         Reported by Rainer Tammer.
66811 2010-07-30  Bruno Haible  <bruno@clisp.org>
66813         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
66814         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
66815         a 'char *'.
66816         Reported by Rainer Tammer.
66818 2010-07-30  Bruno Haible  <bruno@clisp.org>
66820         unlink: Update regarding AIX.
66821         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
66822         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
66823         Reported by Rainer Tammer.
66825 2010-07-30  Bruno Haible  <bruno@clisp.org>
66827         symlink: Update regarding AIX.
66828         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
66829         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
66830         Reported by Rainer Tammer.
66832 2010-07-30  Bruno Haible  <bruno@clisp.org>
66834         strndup: Update regarding AIX.
66835         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
66836         AIX 7.
66837         Reported by Rainer Tammer.
66839 2010-07-30  Bruno Haible  <bruno@clisp.org>
66841         stat: Update regarding AIX.
66842         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
66843         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
66844         Reported by Rainer Tammer.
66846 2010-07-30  Bruno Haible  <bruno@clisp.org>
66848         truncl: Fix autoconf test.
66849         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
66850         whether truncl works.
66851         Reported by Rainer Tammer.
66853 2010-07-30  Bruno Haible  <bruno@clisp.org>
66855         round: Update regarding AIX.
66856         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
66857         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
66858         Reported by Rainer Tammer.
66860 2010-07-30  Bruno Haible  <bruno@clisp.org>
66862         rename: Update regarding AIX.
66863         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
66864         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
66865         Reported by Rainer Tammer.
66867 2010-07-30  Bruno Haible  <bruno@clisp.org>
66869         printf.m4: Update regarding AIX.
66870         * m4/printf.m4: Update comments regarding AIX.
66871         Reported by Rainer Tammer.
66873 2010-07-30  Bruno Haible  <bruno@clisp.org>
66875         iconv: Update regarding AIX.
66876         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
66877         AIX 7.
66878         Reported by Rainer Tammer.
66880 2010-07-30  Bruno Haible  <bruno@clisp.org>
66882         getopt: Update regarding AIX.
66883         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
66884         no on AIX.
66885         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
66886         Reported by Rainer Tammer.
66888 2010-07-30  Bruno Haible  <bruno@clisp.org>
66890         ldexpl; Update regarding AIX.
66891         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
66892         on AIX 7.
66893         Reported by Rainer Tammer.
66895 2010-07-30  Bruno Haible  <bruno@clisp.org>
66897         frexpl: Update regarding AIX.
66898         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
66899         on AIX 7.
66900         Reported by Rainer Tammer.
66902 2010-07-30  Bruno Haible  <bruno@clisp.org>
66904         open, fopen: Update regarding AIX.
66905         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
66906         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66907         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
66908         * doc/posix-functions/fopen.texi: Likewise.
66909         Reported by Rainer Tammer.
66911 2010-07-30  Bruno Haible  <bruno@clisp.org>
66913         chown: Update doc regarding AIX.
66914         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
66915         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
66916         Reported by Rainer Tammer.
66918 2010-07-30  Eric Blake  <eblake@redhat.com>
66920         strtod: fix bug in replacement function on AIX
66921         * lib/strtod.c (strtod): Special case broken "0x" parse in
66922         underlying strtod.
66923         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
66924         * doc/posix-functions/strtod.texi (strtod): Likewise.
66925         Reported by Rainer Tammer.
66927 2010-07-30  Bruno Haible  <bruno@clisp.org>
66929         mbrlen: Fix cross-compilation guess for AIX.
66930         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
66931         guess. Leftover from 2008-12-22.
66933 2010-07-30  Bruno Haible  <bruno@clisp.org>
66935         mbrtowc: Fix cross-compilation guess for AIX.
66936         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
66937         guess. Leftover from 2008-12-21.
66939 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
66941         init.sh: work around trap limitation of some shells
66942         * tests/init.sh (setup_): Move exit trap outside of shell function.
66944 2010-07-29  Eric Blake  <eblake@redhat.com>
66946         strtod: aid debugging
66947         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
66948         understanding why strtod is rejected.
66950 2010-07-28  Bruno Haible  <bruno@clisp.org>
66952         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
66953         * lib/unistr/u8-chr.c: Include <string.h>.
66954         * tests/unistr/test-u8-chr.c: Likewise.
66955         * tests/unistr/test-u16-chr.c: Likewise.
66956         * tests/unistr/test-u32-chr.c: Likewise.
66957         * tests/unistr/test-u8-strchr.c: Likewise.
66958         * tests/unistr/test-u16-strchr.c: Likewise.
66959         * tests/unistr/test-u32-strchr.c: Likewise.
66960         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
66961         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
66962         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
66963         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
66965 2010-07-28  Bruno Haible  <bruno@clisp.org>
66967         Use spaces for indentation, not tabs.
66968         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
66970 2010-07-27  Bruno Haible  <bruno@clisp.org>
66972         mbspcasecmp: Fix function specification.
66973         * lib/string.in.h (mbspcasecmp): Fix specification comment.
66974         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
66975         Reported by Eric Blake <eblake@redhat.com>.
66977 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
66979         timespec: use cast and not conditional, as truncation isn't possible
66980         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
66981         instead of a conditional.  Comment about the situation in more detail.
66982         This undoes most of the 2009-10-29 patch.
66984 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
66986         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
66987         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
66988         * lib/unistr/u8-strchr.c: Likewise.
66989         * modules/unistr/u8-chr: Depend on memchr.
66991         unistr/u*-strchr: add tests
66992         * modules/unistr/u8-strchr-tests: New file.
66993         * modules/unistr/u16-strchr-tests: New file.
66994         * modules/unistr/u32-strchr-tests: New file.
66995         * tests/unistr/test-strchr.h: New file.
66996         * tests/unistr/test-u8-strchr.c: New file.
66997         * tests/unistr/test-u16-strchr.c: New file.
66998         * tests/unistr/test-u32-strchr.c: New file.
67000         unistr/u*-chr: test multibyte sequences more
67001         * tests/unistr/test-chr.h: Do complete testing of the characters in the
67002         test vector.
67003         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
67004         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
67005         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
67007         unistr/u*-chr: test multibyte sequences
67008         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
67010         unistr/u*-chr: prepare for multibyte tests
67011         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
67012         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
67013         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
67014         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
67015         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
67016         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
67018 2010-07-18  Bruno Haible  <bruno@clisp.org>
67020         unistr/u8-strchr: Optimize non-ASCII argument case.
67021         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
67022         because the first byte often matches anyway.
67023         Reported by Pádraig Brady <P@draigbrady.com>.
67025 2010-07-15  Karl Berry  <karl@gnu.org>
67027         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
67029 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
67031         getcwd: on Solaris, work better if ancestors are inaccessible
67032         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
67033         buffer and size, try again with a large buffer.  This works better
67034         on Solaris, since its getcwd succeeds even if the path to the root
67035         is inaccessible, and this is helpful in common cases such as .zfs
67036         hidden directories.  Problem reported by J Chapman Flack in
67037         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
67038         Use system getcwd if it's declared, not merely if it's partly
67039         working; use the partly-working test only to avoid needless effort
67040         if the system getcwd fails.
67041         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
67042         comment that was already obsolete and is now even more obsolete.
67043         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
67044         now might call strdup.
67046 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
67048         pthread: Add enough so that coreutils/src/sort.c compiles.
67049         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
67050         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
67051         gnulib. Include <sched.h> and <time.h>, as per POSIX.
67052         Include <sys/types.h>, in case it defines pthread_t.
67053         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
67054         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
67055         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
67056         (pthread_rwlockattr_t, pthread_spinlock_t):
67057         New typedefs, if HAVE_PTHREAD_T is not defined.
67058         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
67059         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
67060         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
67061         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
67062         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
67063         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
67064         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
67065         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
67066         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
67067         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
67068         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
67069         New macros.
67070         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
67071         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
67072         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
67073         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
67074         (pthread_spin_unlock): New dummy functions.
67075         (pthread_create): Return EAGAIN; don't set errno.
67076         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
67077         require AC_C_INLINE.
67078         * modules/pthread (Depends-on): Add sched, time.
67079         (pthread.h): Use AM_V_GEN.
67081 2010-07-13  Bruno Haible  <bruno@clisp.org>
67083         striconveh: Don't malloc memory if the result buffer is sufficient.
67084         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
67085         buffer if its size is sufficient.
67086         Reported by Ludovic Courtès <ludo@gnu.org>.
67088 2010-07-13  Bruno Haible  <bruno@clisp.org>
67090         strtod: Add safety check.
67091         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
67093 2010-07-12  Bruno Haible  <bruno@clisp.org>
67095         Unify tests that set gl_cv_func_ldexpl_no_libm.
67096         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
67097         gl_FUNC_LDEXPL.
67098         (gl_FUNC_LDEXPL): Invoke it.
67099         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67101 2010-07-12  Bruno Haible  <bruno@clisp.org>
67103         Unify tests that set gl_cv_func_ldexp_no_libm.
67104         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
67105         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
67106         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
67107         (configure.ac): Simply invoke gl_FUNC_LDEXP.
67108         * modules/strtod (Files): Add m4/ldexp.m4.
67110 2010-07-12  Bruno Haible  <bruno@clisp.org>
67112         Unify tests that set gl_cv_func_frexpl_no_libm.
67113         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
67114         gl_FUNC_FREXPL_NO_LIBM.
67115         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
67116         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67118 2010-07-12  Bruno Haible  <bruno@clisp.org>
67120         Unify tests that set gl_cv_func_frexp_no_libm.
67121         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
67122         gl_FUNC_FREXP_NO_LIBM.
67123         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
67124         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
67126 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67128         memcoll: clarify sizes versus lengths, document better, and tweak perf
67129         * lib/memcoll.c (strcoll_loop, memcoll0):
67130         Improve quality of descriptive comments.  Name variables
67131         consistently as to whether they are lengths (which do not include
67132         terminating null) versus sizes (which do).
67133         * lib/xmemcoll.c (xmemcoll0): Likewise.
67134         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
67135         returned when s1size == 0; this is easier to compile and saves
67136         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
67138 2010-07-12  Bruno Haible  <bruno@clisp.org>
67140         Tests for module '_Exit'.
67141         * modules/_Exit-tests: New file.
67142         * tests/test-_Exit.sh: New file.
67143         * tests/test-_Exit.c: New file.
67145         New module '_Exit'.
67146         * lib/stdlib.in.h (__attribute__): New macro.
67147         (_Exit): New declaration.
67148         * lib/_Exit.c: New file.
67149         * m4/_Exit.m4: New file.
67150         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
67151         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
67152         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
67153         * modules/_Exit: New file.
67154         * tests/test-stdlib-c++.cc (_Exit): Check signature.
67155         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
67157 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67159         strtod: make it more-accurate typically, and don't require libm
67160         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
67161         Include limits.h.  Don't include string.h.
67162         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
67163         (locale_isspace): New function, so that no casts are needed to
67164         check whether *s is a space.
67165         (ldexp): Provide an unused dummy if not available.
67166         (scale_radix_exp, parse_number, underlying_strtod): New functions.
67167         (strtod): Use them.  This implementation prefers to use the
67168         underlying strtod if available, falling back on our own code
67169         only to fix known bugs.  This is more likely to produce an
67170         accurate result.  Also, it avoids the use of libm functions.
67171         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
67172         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
67173         was absent, but it caused a test failure with coreutils.
67174         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
67175         with libm.
67176         * modules/strtod (Makefile.am, Link): libm is no longer needed.
67177         * modules/strtod-tests (Makefile.am): Likewise.
67179 2010-07-11  Pádraig Brady  <P@draigBrady.com>
67180             Bruno Haible  <bruno@clisp.org>
67182         unistr/u8-strchr: Optimize ASCII argument case.
67183         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
67185 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67187         (x)memcoll: minor tweaks
67188         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
67189         is after the type that it qualifies.
67190         (memcoll0): Likewise.
67191         * lib/memcoll.h (memcoll0): Likewise.
67192         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
67193         * lib/xmemcoll.h (xmemcoll0): Likewise.
67194         * lib/memcoll.c (memcoll0): Correct the comment.  This function
67195         differs from memcoll in that the NUL byte is part of the argument.
67196         Omit the abort-checks, as performance is a real issue here.  Plus,
67197         the checks were wrong anyway (an off-by-one error).  Omit local
67198         variable 'diff', as it's a bit clearer that way.
67199         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
67200         no longer needed.
67202 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
67204         (x)memcoll: speedup when input is known to be NUL delimited
67205         * lib/memcoll.c: Include stdlib.
67206         (memcoll0): New function.
67207         (strcoll_loop): New function, refactored for use in both memcoll
67208         and memcoll0.
67209         * lib/memcoll.h (memcoll0): Add prototype.
67210         * lib/xmemcoll.c (xmemcoll0): New function.
67211         (collate_error): New function, refactored for use in both xmemcoll
67212         and xmemcoll0.
67213         * lib/xmemcoll.h (xmemcoll0): Add prototype.
67214         * m4/memcoll.m4: add inline invocation.
67216 2010-07-06  Pádraig Brady  <P@draigBrady.com>
67218         * build-aux/bootstrap: Remove any local translations
67219         from the translation project synchronization directory,
67220         so that local only translations are not distributed.
67222 2010-07-04  Bruno Haible  <bruno@clisp.org>
67224         fsusage: Clarify which code applies to which platforms.
67225         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
67226         platform.
67227         * lib/fsusage.c (get_fs_usage): Likewise.
67229 2010-07-04  Bruno Haible  <bruno@clisp.org>
67231         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
67232         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
67233         Reported by Martin Lambers <marlam@marlam.de>.
67235 2010-07-04  Jim Meyering  <meyering@redhat.com>
67237         hash: once again explicitly disallow insertion of NULL
67238         * lib/hash.c (hash_insert0): Reinstate just-removed test:
67239         inserting a NULL pointer cannot work with these functions.
67240         Add a comment with details.
67241         This reverts part of the 2010-07-01 commit, 5bef1a35
67242         "hash: extend module to deal with non-pointer keys".
67244 2010-07-01  Bruno Haible  <bruno@clisp.org>
67246         stdbool: Update doc.
67247         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
67248         Info from Christian Weisgerber <naddy@mips.inka.de>.
67250 2010-07-01  Jim Meyering  <meyering@redhat.com>
67252         hash: extend module to deal with non-pointer keys
67253         * lib/hash.c (hash_insert0): New interface, much like hash_insert
67254         but that allows insertion of non-pointer entries.
67255         Do not disallow an ENTRY value of NULL.
67256         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
67257         * lib/hash.h (hash_insert0): Declare.
67259 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
67261         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
67262         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
67263         not present (i.e. with autoconf 2.59 and when using gettextize, not
67264         gnulib), require AC_GNU_SOURCE instead.
67266 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
67268         idpriv-drop: Fix tests.
67269         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
67270         not to the test-idpriv-droptemp program.
67272 2010-06-29  Bruno Haible  <bruno@clisp.org>
67274         string: Fix syntax error with g++ 2.96.
67275         * lib/string.in.h (__pure__): Remove definition.
67276         (_GL_ATTRIBUTE_PURE): New macro.
67277         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
67278         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
67279         Reported by Christian Weisgerber <naddy@mips.inka.de>.
67281 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
67283         unitypes: Fix bug introduced on 2010-05-18.
67284         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
67286 2010-06-22  Eric Blake  <eblake@redhat.com>
67288         memmem: slight optimization
67289         * lib/str-two-way.h (critical_factorization): Update comments.
67290         Reduce work during factorization phase.
67291         Reported by Carlos Bueno <carlos@bueno.org>.
67293 2010-06-21  Bruno Haible  <bruno@clisp.org>
67295         Fix HAVE_CALLOC_POSIX misnomer.
67296         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
67297         !HAVE_CALLOC_POSIX.
67298         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
67299         HAVE_CALLOC_POSIX.
67300         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
67301         instead of HAVE_CALLOC_POSIX.
67302         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
67303         HAVE_CALLOC_POSIX.
67305         Use modern idiom for calloc() replacement.
67306         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
67307         AC_FUNC_CALLOC.
67308         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
67309         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
67310         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67311         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
67312         (gl_REPLACE_CALLOC): New macro.
67314 2010-06-21  Bruno Haible  <bruno@clisp.org>
67316         Fix HAVE_REALLOC_POSIX misnomer.
67317         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
67318         !HAVE_REALLOC_POSIX.
67319         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
67320         HAVE_REALLOC_POSIX.
67321         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
67322         instead of HAVE_REALLOC_POSIX.
67323         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
67324         HAVE_REALLOC_POSIX.
67326         Use modern idiom for realloc() replacement.
67327         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
67328         AC_FUNC_REALLOC.
67329         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
67330         Autoconf's AC_FUNC_REALLOC.
67331         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67332         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
67333         (gl_REPLACE_REALLOC): New macro.
67334         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67336 2010-06-21  Bruno Haible  <bruno@clisp.org>
67338         Fix HAVE_MALLOC_POSIX misnomer.
67339         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
67340         !HAVE_MALLOC_POSIX.
67341         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
67342         HAVE_MALLOC_POSIX.
67343         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
67344         instead of HAVE_MALLOC_POSIX.
67345         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
67346         HAVE_MALLOC_POSIX.
67348         Use modern idiom for malloc() replacement.
67349         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
67350         AC_FUNC_MALLOC.
67351         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
67352         Autoconf's AC_FUNC_MALLOC.
67353         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67354         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
67355         (gl_REPLACE_MALLOC): New macro.
67356         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67358 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
67360         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
67361         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
67362         This macro takes 3 arguments, not 4.
67364 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
67366         ipv6: fix detection under mingw
67367         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
67368         in6_addr.
67370 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
67372         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
67373         that strtod() works when cross-compiling to a glibc version known
67374         to work.
67376 2010-06-15  Bruno Haible  <bruno@clisp.org>
67378         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
67380 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
67382         select: Correct timeout.
67383         * lib/select.c (rpl_select): Compute wait_timeout correctly.
67385 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67387         git-version-gen: init shell var to avoid env var influence
67388         * build-aux/git-version-gen (v): Init shell var to empty.
67390 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
67392         priv-set: Don't assume that priv.h exists merely because getppriv does.
67393         See Jan Andersen's bug report about AIX 5L in
67394         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
67395         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
67396         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
67397         * lib/priv-set.h: Likewise.
67398         * tests/test-priv-set.c: Likewise.
67400 2010-06-13  Bruno Haible  <bruno@clisp.org>
67402         relocatable: Make it easier to test whether to install wrappers.
67403         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
67404         RELOCATABLE_VIA_WRAPPER.
67406 2010-06-13  Bruno Haible  <bruno@clisp.org>
67408         gnulib-tool: Display specified modules and dependencies differently.
67409         * gnulib-tool (func_show_module_list): New function.
67410         (func_import, func_create_testdir): Invoke it.
67411         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
67413 2010-06-13  Bruno Haible  <bruno@clisp.org>
67415         gnulib-tool: Align code of func_import and func_create_testdir.
67416         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
67417         specified_modules.
67419 2010-06-12  Jim Meyering  <meyering@redhat.com>
67421         test-inttostr: avoid spurious failure on Solaris 9
67422         * tests/test-inttostr.c (main): Skip the test when snprintf fails
67423         to accept "%ju".  Reported by Bruno Haible.
67425 2010-06-11  Jim Meyering  <meyering@redhat.com>
67427         test-sys_socket: mark variables as used more readably
67428         * tests/test-sys_socket.c (main): Mark otherwise unused variables
67429         as "used" explicitly via (void) statement casts.  This is more
67430         readable than using them in an artificial return expression.
67431         Suggestion from Bruno Haible.
67433 2010-06-11  Bruno Haible  <bruno@clisp.org>
67435         Avoid some more warnings from "gcc -Wwrite-strings".
67436         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
67437         to 'const char *'.
67438         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
67439         * tests/test-c-strcasestr.c (main): Likewise.
67440         * tests/test-mbscasestr1.c (main): Likewise.
67441         * tests/test-mbscasestr2.c (main): Likewise.
67442         * tests/test-memmem.c (main): Likewise.
67443         * tests/test-strstr.c (main): Likewise.
67444         * tests/test-strcasestr.c (main): Likewise.
67446 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67448         init.sh: change framework_failure_ to fail with status 99, not 1
67449         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
67450         automake's parallel-tests rule that this is an unexpected failure,
67451         even if the test is listed in XFAIL_TESTS.
67453 2010-06-11  Jim Meyering  <meyering@redhat.com>
67455         test-inttostr: avoid warnings about 4-6KB literal strings
67456         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
67457         Include "macros.h", for its definition of ASSERT.
67458         (CK): s/assert/ASSERT/
67459         * modules/inttostr-tests (Files): Add macros.h.
67461         init.sh: don't use $ME_ or skip_ before they are defined
67462         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
67463         their first uses.  Also hoist their companions: warn_, fail_,
67464         framework_failure_, $stderr_fileno.  Prompted by a patch from
67465         Stefano Lattarini.
67467         test-sys_socket: avoid set-but-not-used warnings from gcc
67468         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
67469         avoid warning about set-but-not-used variables.
67471         test-xvasprintf: avoid 'const' discard warnings
67472         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
67473         "const" when assigning from literal strings.
67474         (test_xasprintf): Add "void" in function argument list to placate
67475         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
67477         tests: avoid compilation warnings in argmatch and exclude tests...
67478         in packages that define ARGMATCH_DIE_DECL, like coreutils.
67479         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
67480         Since it always exits, declare with the "noreturn" attribute.
67481         * tests/test-argmatch.c: Likewise.
67483         tests: avoid 'const' discard warnings in mbsstr tests
67484         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
67485         * tests/test-mbsstr2.c (main): Likewise.
67487         test-verify: avoid warning from gcc's -Wmissing-declarations
67488         * tests/test-verify.c (function): Declare to be static.
67490         test-inttostr.c: include <string.h> for use of strcmp
67491         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
67493         test-linkat: avoid failed assertion on "other" architectures
67494         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
67495         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
67496         sparc: https://bugs.launchpad.net/bugs/591968
67498 2010-06-11  Jim Meyering  <meyering@redhat.com>
67500         printf.m4: avoid autoconf's "Expanded Before Required" warning
67501         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
67502         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
67503         autoconf warning.
67505 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
67507         Replacement header templates are now named with ".in", not "_".
67508         * doc/gnulib-intro.texi: Correct.
67510 2010-06-10  Jim Meyering  <meyering@redhat.com>
67512         inttostr-tests: depend on snprintf, not snprintf-posix
67513         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
67514         snprintf-posix, to avoid this aclocal failure:
67515           missing file gnulib-tests/vasnprintf.c
67516           configure.ac:45: error: expected source file, required through \
67517           AC_LIBSOURCES, not found
67519 2010-06-10  Jim Meyering  <meyering@redhat.com>
67521         inttostr: add a new function, inttostr, and tests
67522         The namesake function was not available.  The existence of the
67523         template file, inttostr.c makes its addition nontrivial.
67524         * lib/anytostr.c: Rename from inttostr.c.
67525         (anytostr): Rename from inttostr.
67526         * lib/inttostr.c: New file.
67527         * modules/inttostr (Files): Add anytostr.c.
67528         (Makefile.am): Set lib_SOURCES instead of ...
67529         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
67530         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
67531         * lib/offtostr.c: Likewise.
67532         * lib/uinttostr.c: Likewise.
67533         * lib/umaxtostr.c: Likewise.
67534         * modules/inttostr-tests: New file.
67535         * tests/test-inttostr.c: New file.  Test these functions.
67537 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
67538             Bruno Haible  <bruno@clisp.org>
67540         Add "Extending Gnulib" chapter to manual.
67541         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
67542         chapter.
67543         (Extending Gnulib): New chapter.
67544         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
67545         chapter.
67547 2010-06-09  Bruno Haible  <bruno@clisp.org>
67549         Avoid relocwrapper link errors due to gnulib replacement functions.
67550         * lib/areadlink.c: Use the system's malloc, realloc functions.
67551         (areadlink): Set errno to ENOMEM explicitly.
67552         * modules/areadlink (Depends-on): Remove malloc-posix.
67553         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67555 2010-06-09  Bruno Haible  <bruno@clisp.org>
67557         Avoid relocwrapper link errors due to gnulib replacement functions.
67558         * lib/canonicalize-lgpl.c: Use the system's malloc function.
67559         * lib/malloca.c: Likewise.
67560         * lib/relocatable.c: Likewise.
67561         * lib/progreloc.c: Use the system's malloc, sprintf functions.
67562         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
67563         * lib/setenv.c: Use the system's malloc, realloc functions.
67564         * lib/strerror.c: Use the system's sprintf function.
67565         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67567 2010-06-04  Bruno Haible  <bruno@clisp.org>
67569         Prefer documented low-level autoconf macro names.
67570         * m4/lib-link.m4: Use m4_translit instead of translit.
67571         * m4/environ.m4: Likewise.
67572         * m4/mathfunc.m4: Likewise.
67573         * m4/onceonly.m4: Likewise.
67574         * m4/stdint.m4: Likewise.
67575         Suggested by Eric Blake.
67577 2010-06-04  Martin Lambers  <marlam@marlam.de>
67578             Bruno Haible  <bruno@clisp.org>
67580         havelib: Allow library names with '+' characters.
67581         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
67582         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
67584 2010-06-09  Bruno Haible  <bruno@clisp.org>
67586         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
67587         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
67588         realloc failed.
67590 2010-06-08  Peter Simons  <simons@cryp.to>
67592         maint.mk: make the news-check rule more configurable
67593         * top/maint.mk (news-check-lines-spec): New variable.
67594         (news-check): Use "sed -n 1,10p" in place of "head".
67596 2010-06-07  Jim Meyering  <meyering@redhat.com>
67598         do-release-commit-and-tag: fix typo in --help
67599         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
67601         regex: avoid new dead-code warning with gcc-4.6.0
67602         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
67603         if-block containing a while-loop.  It's been unused for at least
67604         5 years.
67606 2010-06-05  Bruno Haible  <bruno@clisp.org>
67608         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
67609         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
67611 2010-06-04  Bruno Haible  <bruno@clisp.org>
67613         Update to GNU gettext 0.18.1.
67614         * modules/gettext (configure.ac): Require gettext infrastructure from
67615         version 0.18.1.
67617 2010-06-03  Bruno Haible  <bruno@clisp.org>
67619         Don't use AC_LIBOBJ with file names in subdirectories.
67620         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
67621         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
67622         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
67623         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
67624         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
67625         gl_LIBUNISTRING_LIBSOURCE.
67626         (Makefile.am): Augment lib_SOURCES here, conditionally.
67627         * NEWS: Drop requirement for Automake option 'subdir-objects'.
67629 2010-06-03  Bruno Haible  <bruno@clisp.org>
67631         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
67632         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
67633         expansion does not end with a newline.
67634         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
67635         unnecessary newline.
67637 2010-06-03  Bruno Haible  <bruno@clisp.org>
67639         Reduce dependencies.
67640         * tests/test-quotearg.h: New file, extracted from
67641         tests/test-quotearg.c.
67642         * tests/test-quotearg-simple.c: New file, extracted from
67643         tests/test-quotearg.c.
67644         * tests/test-quotearg.c: Don't include <ctype.h>.
67645         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
67646         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
67647         use_quote_double_quotes, use_quotearg_colon): Moved to
67648         tests/test-quotearg.h.
67649         (results_g, flag_results, custom_quotes, custom_results): Moved
67650         to tests/test-quotearg-simple.c.
67651         (main): Moved the part that does not depend on gettext to
67652         tests/test-quotearg-simple.c. Return 77 if the test cannot be
67653         performed.
67654         * modules/quotearg-simple: New file.
67655         * modules/quotearg-simple-tests: New file.
67656         * modules/quotearg (Depends-on): Add quotearg-simple.
67657         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
67658         (Files): Add tests/test-quotearg.h.
67659         Reported by Paolo Bonzini.
67661 2010-06-03  Bruno Haible  <bruno@clisp.org>
67663         Reduce dependencies.
67664         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
67666 2010-06-03  Bruno Haible  <bruno@clisp.org>
67668         time: Undefine more broken macros.
67669         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
67670         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
67671         Reported by Eric Blake.
67673 2010-06-03  Bruno Haible  <bruno@clisp.org>
67675         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
67676         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
67677         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
67678         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
67679         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
67680         Reported by Ludovic Courtès <ludo@gnu.org>.
67682 2010-06-02  Eric Blake  <eblake@redhat.com>
67684         time: work with mingw + pthreads-win32 library
67685         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
67686         if timespec is defined only in pthread.h.
67687         * modules/time (Makefile.am): Substitute it.
67688         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
67689         <pthread.h>, when needed.
67690         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
67691         from the library.
67693 2010-05-31  Bruno Haible  <bruno@clisp.org>
67695         Avoid expanding two macros in the wrong order.
67696         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
67697         gl_LIBUNISTRING if it is defined.
67698         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
67699         autoconf >= 2.64.
67700         Reported by Ludovic Courtès <ludo@gnu.org>.
67702 2010-05-27  Jim Meyering  <meyering@redhat.com>
67704         maint.mk: also prohibit "#undef" of always-defined symbols
67705         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
67706         Allow more than one space before the symbol name.
67707         (sc_prohibit_always-defined_macros): Use grep's -E, now that
67708         the regexp uses alternation.
67710 2010-05-26  Eric Blake  <eblake@redhat.com>
67712         maint.mk: avoid echo -e
67713         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
67714         Convert all uses of echo -* to printf.
67715         Reported by Matthias Bolte.
67717 2010-05-25  Bruno Haible  <bruno@clisp.org>
67719         Update to GNU gettext 0.18, part 2.
67720         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
67721         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
67723 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67725         Add missing include in test-pwrite.c.
67726         * tests/test-pwrite.c: Include string.h, for strcmp.
67728 2010-05-24  Bruno Haible  <bruno@clisp.org>
67730         * NEWS: Mention requirement for Automake option 'subdir-objects'.
67732 2010-05-24  Bruno Haible  <bruno@clisp.org>
67734         Don't use conversion with transliteration in u{8,16,32}_strcoll.
67735         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
67736         iconveh_error argument.
67737         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
67738         U_STRCONV_TO_LOCALE.
67739         * lib/unistr/u16-strcoll.c: Likewise.
67740         * lib/unistr/u32-strcoll.c: Likewise.
67741         * modules/unistr/u8-strcoll (Depends-on): Add
67742         uniconv/u8-strconv-to-enc, localcharset. Remove
67743         uniconv/u8-strconv-to-locale.
67744         (configure.ac): Bump version number.
67745         * modules/unistr/u16-strcoll (Depends-on): Add
67746         uniconv/u16-strconv-to-enc, localcharset. Remove
67747         uniconv/u16-strconv-to-locale.
67748         (configure.ac): Bump version number.
67749         * modules/unistr/u32-strcoll (Depends-on): Add
67750         uniconv/u32-strconv-to-enc, localcharset. Remove
67751         uniconv/u32-strconv-to-locale.
67752         (configure.ac): Bump version number.
67754 2010-05-24  Bruno Haible  <bruno@clisp.org>
67756         Avoid a test failure on NetBSD 5.0.
67757         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
67758         an iconv() bug.
67760 2010-05-24  Bruno Haible  <bruno@clisp.org>
67762         Adjust #include directive style.
67763         * modules/regex (Includes): Recommend to write <regex.h>.
67765 2010-05-24  Bruno Haible  <bruno@clisp.org>
67767         regex: Don't require alloca.
67768         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
67769         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
67770         only inside if (0).
67772 2010-05-23  Jim Meyering  <meyering@redhat.com>
67774         test-renameat.c: include <sys/stat.h>
67775         * tests/test-renameat.c: Include <sys/stat.h>; required for
67776         definition of S_IS* macros.
67778 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
67780         Update maintainer documentation for 'relocatable-prog' module.
67781         * doc/relocatable-maint.texi: Update.
67782         Comments by Bruno Haible.
67784 2010-05-23  Bruno Haible  <bruno@clisp.org>
67786         git-merge-changelog: Enable --split-merged-entry by default.
67787         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
67788         (usage): Don't mention this option any more.
67789         Reported by Ralf Wildenhues.
67791 2010-05-23  Jim Meyering  <meyering@redhat.com>
67793         test-pwrite: do not leave behind a test file named "out"
67794         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
67795         The trivial-looking use of init.sh is really necessary.
67796         It ensures that the temporary file, "out", is created in
67797         a temporary directory, and removed upon termination.
67798         * tests/test-pwrite.sh: Re-add file.
67799         * modules/pwrite-tests: Reference it.
67801 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67803         Fix output redirection buglet in init.sh.
67804         * tests/init.sh: Fix redirection of stderr.
67806 2010-05-20  Simon Josefsson  <simon@josefsson.org>
67808         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
67810 2010-05-17  Simon Josefsson  <simon@josefsson.org>
67812         * modules/valgrind-tests: New file.
67813         * m4/valgrind-tests.m4: New file.
67814         * doc/valgrind-tests.texi: New file.
67815         * doc/gnulib.texi (Running self-tests under valgrind): New
67816         section.
67818 2010-05-19  Bruno Haible  <bruno@clisp.org>
67820         Clean up dead code in recent commit.
67821         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
67822         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
67823         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
67824         Suggested by Paolo Bonzini.
67826 2010-05-19  Bruno Haible  <bruno@clisp.org>
67828         Avoid valgrind error reports from libunistring.
67829         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
67830         * modules/libunistring (Files): Add it.
67831         * modules/libunistring-optional (Files): Likewise.
67833 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
67834             Bruno Haible  <bruno@clisp.org>
67836         New module 'libunistring-optional'.
67837         * modules/libunistring-optional: New file.
67838         * m4/libunistring-base.m4: New file.
67839         * m4/libunistring-optional.m4: New file.
67840         * lib/unicase.in.h: Renamed from lib/unicase.h.
67841         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
67842         * lib/unictype.in.h: Renamed from lib/unictype.h.
67843         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
67844         * lib/uniname.in.h: Renamed from lib/uniname.h.
67845         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
67846         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
67847         * lib/unistr.in.h: Renamed from lib/unistr.h.
67848         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
67849         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
67850         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
67851         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
67852         gl_LIBUNISTRING. If the library was found, determine the installed
67853         version and set LIBUNISTRING_VERSION.
67854         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
67855         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
67856         handle a configuration option --with-included-libunistring.
67857         * modules/libunistring (Files): Add m4/absolute-header.m4.
67858         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
67859         Add m4/libunistring-base.m4.
67860         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67861         (Makefile.am): Build unicase.h from unicase.in.h.
67862         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
67863         Add m4/libunistring-base.m4.
67864         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67865         (Makefile.am): Build uniconv.h from uniconv.in.h.
67866         * modules/unictype/base (Files): Use unictype.in.h instead of
67867         unictype.h. Add m4/libunistring-base.m4.
67868         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67869         (Makefile.am): Build unictype.h from unictype.in.h.
67870         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
67871         Add m4/libunistring-base.m4.
67872         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67873         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
67874         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
67875         Add m4/libunistring-base.m4.
67876         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67877         (Makefile.am): Build uniname.h from uniname.in.h.
67878         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
67879         Add m4/libunistring-base.m4.
67880         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67881         (Makefile.am): Build uninorm.h from uninorm.in.h.
67882         * modules/unistdio/base (Files): Use unistdio.in.h instead of
67883         unistdio.h. Add m4/libunistring-base.m4.
67884         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67885         (Makefile.am): Build unistdio.h from unistdio.in.h.
67886         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
67887         Add m4/libunistring-base.m4.
67888         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67889         (Makefile.am): Build unistr.h from unistr.in.h.
67890         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
67891         Add m4/libunistring-base.m4.
67892         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67893         (Makefile.am): Build unitypes.h from unitypes.in.h.
67894         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
67895         Add m4/libunistring-base.m4.
67896         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67897         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
67898         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
67899         uniwidth.h. Add m4/libunistring-base.m4.
67900         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67901         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
67902         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
67903         instead of augmenting lib_SOURCES.
67904         * modules/unicase/empty-suffix-context: Likewise.
67905         * modules/unicase/locale-language: Likewise.
67906         * modules/unicase/tolower: Likewise.
67907         * modules/unicase/totitle: Likewise.
67908         * modules/unicase/toupper: Likewise.
67909         * modules/unicase/u8-casecmp: Likewise.
67910         * modules/unicase/u8-casecoll: Likewise.
67911         * modules/unicase/u8-casefold: Likewise.
67912         * modules/unicase/u8-casexfrm: Likewise.
67913         * modules/unicase/u8-ct-casefold: Likewise.
67914         * modules/unicase/u8-ct-tolower: Likewise.
67915         * modules/unicase/u8-ct-totitle: Likewise.
67916         * modules/unicase/u8-ct-toupper: Likewise.
67917         * modules/unicase/u8-is-cased: Likewise.
67918         * modules/unicase/u8-is-casefolded: Likewise.
67919         * modules/unicase/u8-is-lowercase: Likewise.
67920         * modules/unicase/u8-is-titlecase: Likewise.
67921         * modules/unicase/u8-is-uppercase: Likewise.
67922         * modules/unicase/u8-prefix-context: Likewise.
67923         * modules/unicase/u8-suffix-context: Likewise.
67924         * modules/unicase/u8-tolower: Likewise.
67925         * modules/unicase/u8-totitle: Likewise.
67926         * modules/unicase/u8-toupper: Likewise.
67927         * modules/unicase/u16-casecmp: Likewise.
67928         * modules/unicase/u16-casecoll: Likewise.
67929         * modules/unicase/u16-casefold: Likewise.
67930         * modules/unicase/u16-casexfrm: Likewise.
67931         * modules/unicase/u16-ct-casefold: Likewise.
67932         * modules/unicase/u16-ct-tolower: Likewise.
67933         * modules/unicase/u16-ct-totitle: Likewise.
67934         * modules/unicase/u16-ct-toupper: Likewise.
67935         * modules/unicase/u16-is-cased: Likewise.
67936         * modules/unicase/u16-is-casefolded: Likewise.
67937         * modules/unicase/u16-is-lowercase: Likewise.
67938         * modules/unicase/u16-is-titlecase: Likewise.
67939         * modules/unicase/u16-is-uppercase: Likewise.
67940         * modules/unicase/u16-prefix-context: Likewise.
67941         * modules/unicase/u16-suffix-context: Likewise.
67942         * modules/unicase/u16-tolower: Likewise.
67943         * modules/unicase/u16-totitle: Likewise.
67944         * modules/unicase/u16-toupper: Likewise.
67945         * modules/unicase/u32-casecmp: Likewise.
67946         * modules/unicase/u32-casecoll: Likewise.
67947         * modules/unicase/u32-casefold: Likewise.
67948         * modules/unicase/u32-casexfrm: Likewise.
67949         * modules/unicase/u32-ct-casefold: Likewise.
67950         * modules/unicase/u32-ct-tolower: Likewise.
67951         * modules/unicase/u32-ct-totitle: Likewise.
67952         * modules/unicase/u32-ct-toupper: Likewise.
67953         * modules/unicase/u32-is-cased: Likewise.
67954         * modules/unicase/u32-is-casefolded: Likewise.
67955         * modules/unicase/u32-is-lowercase: Likewise.
67956         * modules/unicase/u32-is-titlecase: Likewise.
67957         * modules/unicase/u32-is-uppercase: Likewise.
67958         * modules/unicase/u32-prefix-context: Likewise.
67959         * modules/unicase/u32-suffix-context: Likewise.
67960         * modules/unicase/u32-tolower: Likewise.
67961         * modules/unicase/u32-totitle: Likewise.
67962         * modules/unicase/u32-toupper: Likewise.
67963         * modules/unicase/ulc-casecmp: Likewise.
67964         * modules/unicase/ulc-casecoll: Likewise.
67965         * modules/unicase/ulc-casexfrm: Likewise.
67966         * modules/uniconv/u8-conv-from-enc: Likewise.
67967         * modules/uniconv/u8-conv-to-enc: Likewise.
67968         * modules/uniconv/u8-strconv-from-enc: Likewise.
67969         * modules/uniconv/u8-strconv-from-locale: Likewise.
67970         * modules/uniconv/u8-strconv-to-enc: Likewise.
67971         * modules/uniconv/u8-strconv-to-locale: Likewise.
67972         * modules/uniconv/u16-conv-from-enc: Likewise.
67973         * modules/uniconv/u16-conv-to-enc: Likewise.
67974         * modules/uniconv/u16-strconv-from-enc: Likewise.
67975         * modules/uniconv/u16-strconv-from-locale: Likewise.
67976         * modules/uniconv/u16-strconv-to-enc: Likewise.
67977         * modules/uniconv/u16-strconv-to-locale: Likewise.
67978         * modules/uniconv/u32-conv-from-enc: Likewise.
67979         * modules/uniconv/u32-conv-to-enc: Likewise.
67980         * modules/uniconv/u32-strconv-from-enc: Likewise.
67981         * modules/uniconv/u32-strconv-from-locale: Likewise.
67982         * modules/uniconv/u32-strconv-to-enc: Likewise.
67983         * modules/uniconv/u32-strconv-to-locale: Likewise.
67984         * modules/unictype/bidicategory-byname: Likewise.
67985         * modules/unictype/bidicategory-name: Likewise.
67986         * modules/unictype/bidicategory-of: Likewise.
67987         * modules/unictype/bidicategory-test: Likewise.
67988         * modules/unictype/block-list: Likewise.
67989         * modules/unictype/block-test: Likewise.
67990         * modules/unictype/category-C: Likewise.
67991         * modules/unictype/category-Cc: Likewise.
67992         * modules/unictype/category-Cf: Likewise.
67993         * modules/unictype/category-Cn: Likewise.
67994         * modules/unictype/category-Co: Likewise.
67995         * modules/unictype/category-Cs: Likewise.
67996         * modules/unictype/category-L: Likewise.
67997         * modules/unictype/category-Ll: Likewise.
67998         * modules/unictype/category-Lm: Likewise.
67999         * modules/unictype/category-Lo: Likewise.
68000         * modules/unictype/category-Lt: Likewise.
68001         * modules/unictype/category-Lu: Likewise.
68002         * modules/unictype/category-M: Likewise.
68003         * modules/unictype/category-Mc: Likewise.
68004         * modules/unictype/category-Me: Likewise.
68005         * modules/unictype/category-Mn: Likewise.
68006         * modules/unictype/category-N: Likewise.
68007         * modules/unictype/category-Nd: Likewise.
68008         * modules/unictype/category-Nl: Likewise.
68009         * modules/unictype/category-No: Likewise.
68010         * modules/unictype/category-P: Likewise.
68011         * modules/unictype/category-Pc: Likewise.
68012         * modules/unictype/category-Pd: Likewise.
68013         * modules/unictype/category-Pe: Likewise.
68014         * modules/unictype/category-Pf: Likewise.
68015         * modules/unictype/category-Pi: Likewise.
68016         * modules/unictype/category-Po: Likewise.
68017         * modules/unictype/category-Ps: Likewise.
68018         * modules/unictype/category-S: Likewise.
68019         * modules/unictype/category-Sc: Likewise.
68020         * modules/unictype/category-Sk: Likewise.
68021         * modules/unictype/category-Sm: Likewise.
68022         * modules/unictype/category-So: Likewise.
68023         * modules/unictype/category-Z: Likewise.
68024         * modules/unictype/category-Zl: Likewise.
68025         * modules/unictype/category-Zp: Likewise.
68026         * modules/unictype/category-Zs: Likewise.
68027         * modules/unictype/category-and: Likewise.
68028         * modules/unictype/category-and-not: Likewise.
68029         * modules/unictype/category-byname: Likewise.
68030         * modules/unictype/category-name: Likewise.
68031         * modules/unictype/category-none: Likewise.
68032         * modules/unictype/category-of: Likewise.
68033         * modules/unictype/category-or: Likewise.
68034         * modules/unictype/category-test: Likewise.
68035         * modules/unictype/combining-class: Likewise.
68036         * modules/unictype/ctype-alnum: Likewise.
68037         * modules/unictype/ctype-alpha: Likewise.
68038         * modules/unictype/ctype-blank: Likewise.
68039         * modules/unictype/ctype-cntrl: Likewise.
68040         * modules/unictype/ctype-digit: Likewise.
68041         * modules/unictype/ctype-graph: Likewise.
68042         * modules/unictype/ctype-lower: Likewise.
68043         * modules/unictype/ctype-print: Likewise.
68044         * modules/unictype/ctype-punct: Likewise.
68045         * modules/unictype/ctype-space: Likewise.
68046         * modules/unictype/ctype-upper: Likewise.
68047         * modules/unictype/ctype-xdigit: Likewise.
68048         * modules/unictype/decimal-digit: Likewise.
68049         * modules/unictype/digit: Likewise.
68050         * modules/unictype/mirror: Likewise.
68051         * modules/unictype/numeric: Likewise.
68052         * modules/unictype/property-alphabetic: Likewise.
68053         * modules/unictype/property-ascii-hex-digit: Likewise.
68054         * modules/unictype/property-bidi-arabic-digit: Likewise.
68055         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
68056         * modules/unictype/property-bidi-block-separator: Likewise.
68057         * modules/unictype/property-bidi-boundary-neutral: Likewise.
68058         * modules/unictype/property-bidi-common-separator: Likewise.
68059         * modules/unictype/property-bidi-control: Likewise.
68060         * modules/unictype/property-bidi-embedding-or-override: Likewise.
68061         * modules/unictype/property-bidi-eur-num-separator: Likewise.
68062         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
68063         * modules/unictype/property-bidi-european-digit: Likewise.
68064         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
68065         * modules/unictype/property-bidi-left-to-right: Likewise.
68066         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
68067         * modules/unictype/property-bidi-other-neutral: Likewise.
68068         * modules/unictype/property-bidi-pdf: Likewise.
68069         * modules/unictype/property-bidi-segment-separator: Likewise.
68070         * modules/unictype/property-bidi-whitespace: Likewise.
68071         * modules/unictype/property-byname: Likewise.
68072         * modules/unictype/property-combining: Likewise.
68073         * modules/unictype/property-composite: Likewise.
68074         * modules/unictype/property-currency-symbol: Likewise.
68075         * modules/unictype/property-dash: Likewise.
68076         * modules/unictype/property-decimal-digit: Likewise.
68077         * modules/unictype/property-default-ignorable-code-point: Likewise.
68078         * modules/unictype/property-deprecated: Likewise.
68079         * modules/unictype/property-diacritic: Likewise.
68080         * modules/unictype/property-extender: Likewise.
68081         * modules/unictype/property-format-control: Likewise.
68082         * modules/unictype/property-grapheme-base: Likewise.
68083         * modules/unictype/property-grapheme-extend: Likewise.
68084         * modules/unictype/property-grapheme-link: Likewise.
68085         * modules/unictype/property-hex-digit: Likewise.
68086         * modules/unictype/property-hyphen: Likewise.
68087         * modules/unictype/property-id-continue: Likewise.
68088         * modules/unictype/property-id-start: Likewise.
68089         * modules/unictype/property-ideographic: Likewise.
68090         * modules/unictype/property-ids-binary-operator: Likewise.
68091         * modules/unictype/property-ids-trinary-operator: Likewise.
68092         * modules/unictype/property-ignorable-control: Likewise.
68093         * modules/unictype/property-iso-control: Likewise.
68094         * modules/unictype/property-join-control: Likewise.
68095         * modules/unictype/property-left-of-pair: Likewise.
68096         * modules/unictype/property-line-separator: Likewise.
68097         * modules/unictype/property-logical-order-exception: Likewise.
68098         * modules/unictype/property-lowercase: Likewise.
68099         * modules/unictype/property-math: Likewise.
68100         * modules/unictype/property-non-break: Likewise.
68101         * modules/unictype/property-not-a-character: Likewise.
68102         * modules/unictype/property-numeric: Likewise.
68103         * modules/unictype/property-other-alphabetic: Likewise.
68104         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
68105         * modules/unictype/property-other-grapheme-extend: Likewise.
68106         * modules/unictype/property-other-id-continue: Likewise.
68107         * modules/unictype/property-other-id-start: Likewise.
68108         * modules/unictype/property-other-lowercase: Likewise.
68109         * modules/unictype/property-other-math: Likewise.
68110         * modules/unictype/property-other-uppercase: Likewise.
68111         * modules/unictype/property-paired-punctuation: Likewise.
68112         * modules/unictype/property-paragraph-separator: Likewise.
68113         * modules/unictype/property-pattern-syntax: Likewise.
68114         * modules/unictype/property-pattern-white-space: Likewise.
68115         * modules/unictype/property-private-use: Likewise.
68116         * modules/unictype/property-punctuation: Likewise.
68117         * modules/unictype/property-quotation-mark: Likewise.
68118         * modules/unictype/property-radical: Likewise.
68119         * modules/unictype/property-sentence-terminal: Likewise.
68120         * modules/unictype/property-soft-dotted: Likewise.
68121         * modules/unictype/property-space: Likewise.
68122         * modules/unictype/property-terminal-punctuation: Likewise.
68123         * modules/unictype/property-test: Likewise.
68124         * modules/unictype/property-titlecase: Likewise.
68125         * modules/unictype/property-unassigned-code-value: Likewise.
68126         * modules/unictype/property-unified-ideograph: Likewise.
68127         * modules/unictype/property-uppercase: Likewise.
68128         * modules/unictype/property-variation-selector: Likewise.
68129         * modules/unictype/property-white-space: Likewise.
68130         * modules/unictype/property-xid-continue: Likewise.
68131         * modules/unictype/property-xid-start: Likewise.
68132         * modules/unictype/property-zero-width: Likewise.
68133         * modules/unictype/scripts: Likewise.
68134         * modules/unictype/syntax-c-ident: Likewise.
68135         * modules/unictype/syntax-c-whitespace: Likewise.
68136         * modules/unictype/syntax-java-ident: Likewise.
68137         * modules/unictype/syntax-java-whitespace: Likewise.
68138         * modules/unilbrk/u8-possible-linebreaks: Likewise.
68139         * modules/unilbrk/u8-width-linebreaks: Likewise.
68140         * modules/unilbrk/u16-possible-linebreaks: Likewise.
68141         * modules/unilbrk/u16-width-linebreaks: Likewise.
68142         * modules/unilbrk/u32-possible-linebreaks: Likewise.
68143         * modules/unilbrk/u32-width-linebreaks: Likewise.
68144         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
68145         * modules/unilbrk/ulc-width-linebreaks: Likewise.
68146         * modules/uniname/uniname: Likewise.
68147         * modules/uninorm/canonical-decomposition: Likewise.
68148         * modules/uninorm/composition: Likewise.
68149         * modules/uninorm/decomposing-form: Likewise.
68150         * modules/uninorm/decomposition: Likewise.
68151         * modules/uninorm/filter: Likewise.
68152         * modules/uninorm/nfc: Likewise.
68153         * modules/uninorm/nfd: Likewise.
68154         * modules/uninorm/nfkc: Likewise.
68155         * modules/uninorm/nfkd: Likewise.
68156         * modules/uninorm/u8-normalize: Likewise.
68157         * modules/uninorm/u8-normcmp: Likewise.
68158         * modules/uninorm/u8-normcoll: Likewise.
68159         * modules/uninorm/u8-normxfrm: Likewise.
68160         * modules/uninorm/u16-normalize: Likewise.
68161         * modules/uninorm/u16-normcmp: Likewise.
68162         * modules/uninorm/u16-normcoll: Likewise.
68163         * modules/uninorm/u16-normxfrm: Likewise.
68164         * modules/uninorm/u32-normalize: Likewise.
68165         * modules/uninorm/u32-normcmp: Likewise.
68166         * modules/uninorm/u32-normcoll: Likewise.
68167         * modules/uninorm/u32-normxfrm: Likewise.
68168         * modules/unistdio/u8-asnprintf: Likewise.
68169         * modules/unistdio/u8-asprintf: Likewise.
68170         * modules/unistdio/u8-snprintf: Likewise.
68171         * modules/unistdio/u8-sprintf: Likewise.
68172         * modules/unistdio/u8-u8-asnprintf: Likewise.
68173         * modules/unistdio/u8-u8-asprintf: Likewise.
68174         * modules/unistdio/u8-u8-snprintf: Likewise.
68175         * modules/unistdio/u8-u8-sprintf: Likewise.
68176         * modules/unistdio/u8-u8-vasnprintf: Likewise.
68177         * modules/unistdio/u8-u8-vasprintf: Likewise.
68178         * modules/unistdio/u8-u8-vsnprintf: Likewise.
68179         * modules/unistdio/u8-u8-vsprintf: Likewise.
68180         * modules/unistdio/u8-vasnprintf: Likewise.
68181         * modules/unistdio/u8-vasprintf: Likewise.
68182         * modules/unistdio/u8-vsnprintf: Likewise.
68183         * modules/unistdio/u8-vsprintf: Likewise.
68184         * modules/unistdio/u16-asnprintf: Likewise.
68185         * modules/unistdio/u16-asprintf: Likewise.
68186         * modules/unistdio/u16-snprintf: Likewise.
68187         * modules/unistdio/u16-sprintf: Likewise.
68188         * modules/unistdio/u16-u16-asnprintf: Likewise.
68189         * modules/unistdio/u16-u16-asprintf: Likewise.
68190         * modules/unistdio/u16-u16-snprintf: Likewise.
68191         * modules/unistdio/u16-u16-sprintf: Likewise.
68192         * modules/unistdio/u16-u16-vasnprintf: Likewise.
68193         * modules/unistdio/u16-u16-vasprintf: Likewise.
68194         * modules/unistdio/u16-u16-vsnprintf: Likewise.
68195         * modules/unistdio/u16-u16-vsprintf: Likewise.
68196         * modules/unistdio/u16-vasnprintf: Likewise.
68197         * modules/unistdio/u16-vasprintf: Likewise.
68198         * modules/unistdio/u16-vsnprintf: Likewise.
68199         * modules/unistdio/u16-vsprintf: Likewise.
68200         * modules/unistdio/u32-asnprintf: Likewise.
68201         * modules/unistdio/u32-asprintf: Likewise.
68202         * modules/unistdio/u32-snprintf: Likewise.
68203         * modules/unistdio/u32-sprintf: Likewise.
68204         * modules/unistdio/u32-u32-asnprintf: Likewise.
68205         * modules/unistdio/u32-u32-asprintf: Likewise.
68206         * modules/unistdio/u32-u32-snprintf: Likewise.
68207         * modules/unistdio/u32-u32-sprintf: Likewise.
68208         * modules/unistdio/u32-u32-vasnprintf: Likewise.
68209         * modules/unistdio/u32-u32-vasprintf: Likewise.
68210         * modules/unistdio/u32-u32-vsnprintf: Likewise.
68211         * modules/unistdio/u32-u32-vsprintf: Likewise.
68212         * modules/unistdio/u32-vasnprintf: Likewise.
68213         * modules/unistdio/u32-vasprintf: Likewise.
68214         * modules/unistdio/u32-vsnprintf: Likewise.
68215         * modules/unistdio/u32-vsprintf: Likewise.
68216         * modules/unistdio/ulc-asnprintf: Likewise.
68217         * modules/unistdio/ulc-asprintf: Likewise.
68218         * modules/unistdio/ulc-fprintf: Likewise.
68219         * modules/unistdio/ulc-snprintf: Likewise.
68220         * modules/unistdio/ulc-sprintf: Likewise.
68221         * modules/unistdio/ulc-vasnprintf: Likewise.
68222         * modules/unistdio/ulc-vasprintf: Likewise.
68223         * modules/unistdio/ulc-vfprintf: Likewise.
68224         * modules/unistdio/ulc-vsnprintf: Likewise.
68225         * modules/unistdio/ulc-vsprintf: Likewise.
68226         * modules/unistr/u8-check: Likewise.
68227         * modules/unistr/u8-chr: Likewise.
68228         * modules/unistr/u8-cmp: Likewise.
68229         * modules/unistr/u8-cmp2: Likewise.
68230         * modules/unistr/u8-cpy: Likewise.
68231         * modules/unistr/u8-cpy-alloc: Likewise.
68232         * modules/unistr/u8-endswith: Likewise.
68233         * modules/unistr/u8-mblen: Likewise.
68234         * modules/unistr/u8-mbsnlen: Likewise.
68235         * modules/unistr/u8-mbtouc: Likewise.
68236         * modules/unistr/u8-mbtouc-unsafe: Likewise.
68237         * modules/unistr/u8-mbtoucr: Likewise.
68238         * modules/unistr/u8-move: Likewise.
68239         * modules/unistr/u8-next: Likewise.
68240         * modules/unistr/u8-prev: Likewise.
68241         * modules/unistr/u8-set: Likewise.
68242         * modules/unistr/u8-startswith: Likewise.
68243         * modules/unistr/u8-stpcpy: Likewise.
68244         * modules/unistr/u8-stpncpy: Likewise.
68245         * modules/unistr/u8-strcat: Likewise.
68246         * modules/unistr/u8-strchr: Likewise.
68247         * modules/unistr/u8-strcmp: Likewise.
68248         * modules/unistr/u8-strcoll: Likewise.
68249         * modules/unistr/u8-strcpy: Likewise.
68250         * modules/unistr/u8-strcspn: Likewise.
68251         * modules/unistr/u8-strdup: Likewise.
68252         * modules/unistr/u8-strlen: Likewise.
68253         * modules/unistr/u8-strmblen: Likewise.
68254         * modules/unistr/u8-strmbtouc: Likewise.
68255         * modules/unistr/u8-strncat: Likewise.
68256         * modules/unistr/u8-strncmp: Likewise.
68257         * modules/unistr/u8-strncpy: Likewise.
68258         * modules/unistr/u8-strnlen: Likewise.
68259         * modules/unistr/u8-strpbrk: Likewise.
68260         * modules/unistr/u8-strrchr: Likewise.
68261         * modules/unistr/u8-strspn: Likewise.
68262         * modules/unistr/u8-strstr: Likewise.
68263         * modules/unistr/u8-strtok: Likewise.
68264         * modules/unistr/u8-to-u16: Likewise.
68265         * modules/unistr/u8-to-u32: Likewise.
68266         * modules/unistr/u8-uctomb: Likewise.
68267         * modules/unistr/u16-check: Likewise.
68268         * modules/unistr/u16-chr: Likewise.
68269         * modules/unistr/u16-cmp: Likewise.
68270         * modules/unistr/u16-cmp2: Likewise.
68271         * modules/unistr/u16-cpy: Likewise.
68272         * modules/unistr/u16-cpy-alloc: Likewise.
68273         * modules/unistr/u16-endswith: Likewise.
68274         * modules/unistr/u16-mblen: Likewise.
68275         * modules/unistr/u16-mbsnlen: Likewise.
68276         * modules/unistr/u16-mbtouc: Likewise.
68277         * modules/unistr/u16-mbtouc-unsafe: Likewise.
68278         * modules/unistr/u16-mbtoucr: Likewise.
68279         * modules/unistr/u16-move: Likewise.
68280         * modules/unistr/u16-next: Likewise.
68281         * modules/unistr/u16-prev: Likewise.
68282         * modules/unistr/u16-set: Likewise.
68283         * modules/unistr/u16-startswith: Likewise.
68284         * modules/unistr/u16-stpcpy: Likewise.
68285         * modules/unistr/u16-stpncpy: Likewise.
68286         * modules/unistr/u16-strcat: Likewise.
68287         * modules/unistr/u16-strchr: Likewise.
68288         * modules/unistr/u16-strcmp: Likewise.
68289         * modules/unistr/u16-strcoll: Likewise.
68290         * modules/unistr/u16-strcpy: Likewise.
68291         * modules/unistr/u16-strcspn: Likewise.
68292         * modules/unistr/u16-strdup: Likewise.
68293         * modules/unistr/u16-strlen: Likewise.
68294         * modules/unistr/u16-strmblen: Likewise.
68295         * modules/unistr/u16-strmbtouc: Likewise.
68296         * modules/unistr/u16-strncat: Likewise.
68297         * modules/unistr/u16-strncmp: Likewise.
68298         * modules/unistr/u16-strncpy: Likewise.
68299         * modules/unistr/u16-strnlen: Likewise.
68300         * modules/unistr/u16-strpbrk: Likewise.
68301         * modules/unistr/u16-strrchr: Likewise.
68302         * modules/unistr/u16-strspn: Likewise.
68303         * modules/unistr/u16-strstr: Likewise.
68304         * modules/unistr/u16-strtok: Likewise.
68305         * modules/unistr/u16-to-u32: Likewise.
68306         * modules/unistr/u16-to-u8: Likewise.
68307         * modules/unistr/u16-uctomb: Likewise.
68308         * modules/unistr/u32-check: Likewise.
68309         * modules/unistr/u32-chr: Likewise.
68310         * modules/unistr/u32-cmp: Likewise.
68311         * modules/unistr/u32-cmp2: Likewise.
68312         * modules/unistr/u32-cpy: Likewise.
68313         * modules/unistr/u32-cpy-alloc: Likewise.
68314         * modules/unistr/u32-endswith: Likewise.
68315         * modules/unistr/u32-mblen: Likewise.
68316         * modules/unistr/u32-mbsnlen: Likewise.
68317         * modules/unistr/u32-mbtouc: Likewise.
68318         * modules/unistr/u32-mbtouc-unsafe: Likewise.
68319         * modules/unistr/u32-mbtoucr: Likewise.
68320         * modules/unistr/u32-move: Likewise.
68321         * modules/unistr/u32-next: Likewise.
68322         * modules/unistr/u32-prev: Likewise.
68323         * modules/unistr/u32-set: Likewise.
68324         * modules/unistr/u32-startswith: Likewise.
68325         * modules/unistr/u32-stpcpy: Likewise.
68326         * modules/unistr/u32-stpncpy: Likewise.
68327         * modules/unistr/u32-strcat: Likewise.
68328         * modules/unistr/u32-strchr: Likewise.
68329         * modules/unistr/u32-strcmp: Likewise.
68330         * modules/unistr/u32-strcoll: Likewise.
68331         * modules/unistr/u32-strcpy: Likewise.
68332         * modules/unistr/u32-strcspn: Likewise.
68333         * modules/unistr/u32-strdup: Likewise.
68334         * modules/unistr/u32-strlen: Likewise.
68335         * modules/unistr/u32-strmblen: Likewise.
68336         * modules/unistr/u32-strmbtouc: Likewise.
68337         * modules/unistr/u32-strncat: Likewise.
68338         * modules/unistr/u32-strncmp: Likewise.
68339         * modules/unistr/u32-strncpy: Likewise.
68340         * modules/unistr/u32-strnlen: Likewise.
68341         * modules/unistr/u32-strpbrk: Likewise.
68342         * modules/unistr/u32-strrchr: Likewise.
68343         * modules/unistr/u32-strspn: Likewise.
68344         * modules/unistr/u32-strstr: Likewise.
68345         * modules/unistr/u32-strtok: Likewise.
68346         * modules/unistr/u32-to-u16: Likewise.
68347         * modules/unistr/u32-to-u8: Likewise.
68348         * modules/unistr/u32-uctomb: Likewise.
68349         * modules/uniwbrk/u8-wordbreaks: Likewise.
68350         * modules/uniwbrk/u16-wordbreaks: Likewise.
68351         * modules/uniwbrk/u32-wordbreaks: Likewise.
68352         * modules/uniwbrk/ulc-wordbreaks: Likewise.
68353         * modules/uniwbrk/wordbreak-property: Likewise.
68354         * modules/uniwidth/u8-strwidth: Likewise.
68355         * modules/uniwidth/u8-width: Likewise.
68356         * modules/uniwidth/u16-strwidth: Likewise.
68357         * modules/uniwidth/u16-width: Likewise.
68358         * modules/uniwidth/u32-strwidth: Likewise.
68359         * modules/uniwidth/u32-width: Likewise.
68360         * modules/uniwidth/width: Likewise.
68361         * modules/unicase/cased-tests (Makefile.am): Link all test programs
68362         with $(LIBUNISTRING).
68363         * modules/unicase/ignorable-tests: Likewise.
68364         * modules/unicase/locale-language-tests: Likewise.
68365         * modules/unicase/tolower-tests: Likewise.
68366         * modules/unicase/totitle-tests: Likewise.
68367         * modules/unicase/toupper-tests: Likewise.
68368         * modules/unicase/u8-casecmp-tests: Likewise.
68369         * modules/unicase/u8-casecoll-tests: Likewise.
68370         * modules/unicase/u8-casefold-tests: Likewise.
68371         * modules/unicase/u8-is-cased-tests: Likewise.
68372         * modules/unicase/u8-is-casefolded-tests: Likewise.
68373         * modules/unicase/u8-is-lowercase-tests: Likewise.
68374         * modules/unicase/u8-is-titlecase-tests: Likewise.
68375         * modules/unicase/u8-is-uppercase-tests: Likewise.
68376         * modules/unicase/u8-tolower-tests: Likewise.
68377         * modules/unicase/u8-totitle-tests: Likewise.
68378         * modules/unicase/u8-toupper-tests: Likewise.
68379         * modules/unicase/u16-casecmp-tests: Likewise.
68380         * modules/unicase/u16-casecoll-tests: Likewise.
68381         * modules/unicase/u16-casefold-tests: Likewise.
68382         * modules/unicase/u16-is-cased-tests: Likewise.
68383         * modules/unicase/u16-is-casefolded-tests: Likewise.
68384         * modules/unicase/u16-is-lowercase-tests: Likewise.
68385         * modules/unicase/u16-is-titlecase-tests: Likewise.
68386         * modules/unicase/u16-is-uppercase-tests: Likewise.
68387         * modules/unicase/u16-tolower-tests: Likewise.
68388         * modules/unicase/u16-totitle-tests: Likewise.
68389         * modules/unicase/u16-toupper-tests: Likewise.
68390         * modules/unicase/u32-casecmp-tests: Likewise.
68391         * modules/unicase/u32-casecoll-tests: Likewise.
68392         * modules/unicase/u32-casefold-tests: Likewise.
68393         * modules/unicase/u32-is-cased-tests: Likewise.
68394         * modules/unicase/u32-is-casefolded-tests: Likewise.
68395         * modules/unicase/u32-is-lowercase-tests: Likewise.
68396         * modules/unicase/u32-is-titlecase-tests: Likewise.
68397         * modules/unicase/u32-is-uppercase-tests: Likewise.
68398         * modules/unicase/u32-tolower-tests: Likewise.
68399         * modules/unicase/u32-totitle-tests: Likewise.
68400         * modules/unicase/u32-toupper-tests: Likewise.
68401         * modules/unicase/ulc-casecmp-tests: Likewise.
68402         * modules/unicase/ulc-casecoll-tests: Likewise.
68403         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
68404         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
68405         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
68406         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
68407         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
68408         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
68409         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
68410         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
68411         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
68412         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
68413         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
68414         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
68415         * modules/unictype/bidicategory-byname-tests: Likewise.
68416         * modules/unictype/bidicategory-name-tests: Likewise.
68417         * modules/unictype/bidicategory-of-tests: Likewise.
68418         * modules/unictype/bidicategory-test-tests: Likewise.
68419         * modules/unictype/block-list-tests: Likewise.
68420         * modules/unictype/block-of-tests: Likewise.
68421         * modules/unictype/block-test-tests: Likewise.
68422         * modules/unictype/category-C-tests: Likewise.
68423         * modules/unictype/category-Cc-tests: Likewise.
68424         * modules/unictype/category-Cf-tests: Likewise.
68425         * modules/unictype/category-Cn-tests: Likewise.
68426         * modules/unictype/category-Co-tests: Likewise.
68427         * modules/unictype/category-Cs-tests: Likewise.
68428         * modules/unictype/category-L-tests: Likewise.
68429         * modules/unictype/category-Ll-tests: Likewise.
68430         * modules/unictype/category-Lm-tests: Likewise.
68431         * modules/unictype/category-Lo-tests: Likewise.
68432         * modules/unictype/category-Lt-tests: Likewise.
68433         * modules/unictype/category-Lu-tests: Likewise.
68434         * modules/unictype/category-M-tests: Likewise.
68435         * modules/unictype/category-Mc-tests: Likewise.
68436         * modules/unictype/category-Me-tests: Likewise.
68437         * modules/unictype/category-Mn-tests: Likewise.
68438         * modules/unictype/category-N-tests: Likewise.
68439         * modules/unictype/category-Nd-tests: Likewise.
68440         * modules/unictype/category-Nl-tests: Likewise.
68441         * modules/unictype/category-No-tests: Likewise.
68442         * modules/unictype/category-P-tests: Likewise.
68443         * modules/unictype/category-Pc-tests: Likewise.
68444         * modules/unictype/category-Pd-tests: Likewise.
68445         * modules/unictype/category-Pe-tests: Likewise.
68446         * modules/unictype/category-Pf-tests: Likewise.
68447         * modules/unictype/category-Pi-tests: Likewise.
68448         * modules/unictype/category-Po-tests: Likewise.
68449         * modules/unictype/category-Ps-tests: Likewise.
68450         * modules/unictype/category-S-tests: Likewise.
68451         * modules/unictype/category-Sc-tests: Likewise.
68452         * modules/unictype/category-Sk-tests: Likewise.
68453         * modules/unictype/category-Sm-tests: Likewise.
68454         * modules/unictype/category-So-tests: Likewise.
68455         * modules/unictype/category-Z-tests: Likewise.
68456         * modules/unictype/category-Zl-tests: Likewise.
68457         * modules/unictype/category-Zp-tests: Likewise.
68458         * modules/unictype/category-Zs-tests: Likewise.
68459         * modules/unictype/category-and-not-tests: Likewise.
68460         * modules/unictype/category-and-tests: Likewise.
68461         * modules/unictype/category-byname-tests: Likewise.
68462         * modules/unictype/category-name-tests: Likewise.
68463         * modules/unictype/category-none-tests: Likewise.
68464         * modules/unictype/category-of-tests: Likewise.
68465         * modules/unictype/category-or-tests: Likewise.
68466         * modules/unictype/category-test-withtable-tests: Likewise.
68467         * modules/unictype/combining-class-tests: Likewise.
68468         * modules/unictype/ctype-alnum-tests: Likewise.
68469         * modules/unictype/ctype-alpha-tests: Likewise.
68470         * modules/unictype/ctype-blank-tests: Likewise.
68471         * modules/unictype/ctype-cntrl-tests: Likewise.
68472         * modules/unictype/ctype-digit-tests: Likewise.
68473         * modules/unictype/ctype-graph-tests: Likewise.
68474         * modules/unictype/ctype-lower-tests: Likewise.
68475         * modules/unictype/ctype-print-tests: Likewise.
68476         * modules/unictype/ctype-punct-tests: Likewise.
68477         * modules/unictype/ctype-space-tests: Likewise.
68478         * modules/unictype/ctype-upper-tests: Likewise.
68479         * modules/unictype/ctype-xdigit-tests: Likewise.
68480         * modules/unictype/decimal-digit-tests: Likewise.
68481         * modules/unictype/digit-tests: Likewise.
68482         * modules/unictype/mirror-tests: Likewise.
68483         * modules/unictype/numeric-tests: Likewise.
68484         * modules/unictype/property-alphabetic-tests: Likewise.
68485         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
68486         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
68487         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
68488         * modules/unictype/property-bidi-block-separator-tests: Likewise.
68489         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
68490         * modules/unictype/property-bidi-common-separator-tests: Likewise.
68491         * modules/unictype/property-bidi-control-tests: Likewise.
68492         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
68493         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
68494         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
68495         * modules/unictype/property-bidi-european-digit-tests: Likewise.
68496         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
68497         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
68498         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
68499         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
68500         * modules/unictype/property-bidi-pdf-tests: Likewise.
68501         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
68502         * modules/unictype/property-bidi-whitespace-tests: Likewise.
68503         * modules/unictype/property-byname-tests: Likewise.
68504         * modules/unictype/property-combining-tests: Likewise.
68505         * modules/unictype/property-composite-tests: Likewise.
68506         * modules/unictype/property-currency-symbol-tests: Likewise.
68507         * modules/unictype/property-dash-tests: Likewise.
68508         * modules/unictype/property-decimal-digit-tests: Likewise.
68509         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
68510         * modules/unictype/property-deprecated-tests: Likewise.
68511         * modules/unictype/property-diacritic-tests: Likewise.
68512         * modules/unictype/property-extender-tests: Likewise.
68513         * modules/unictype/property-format-control-tests: Likewise.
68514         * modules/unictype/property-grapheme-base-tests: Likewise.
68515         * modules/unictype/property-grapheme-extend-tests: Likewise.
68516         * modules/unictype/property-grapheme-link-tests: Likewise.
68517         * modules/unictype/property-hex-digit-tests: Likewise.
68518         * modules/unictype/property-hyphen-tests: Likewise.
68519         * modules/unictype/property-id-continue-tests: Likewise.
68520         * modules/unictype/property-id-start-tests: Likewise.
68521         * modules/unictype/property-ideographic-tests: Likewise.
68522         * modules/unictype/property-ids-binary-operator-tests: Likewise.
68523         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
68524         * modules/unictype/property-ignorable-control-tests: Likewise.
68525         * modules/unictype/property-iso-control-tests: Likewise.
68526         * modules/unictype/property-join-control-tests: Likewise.
68527         * modules/unictype/property-left-of-pair-tests: Likewise.
68528         * modules/unictype/property-line-separator-tests: Likewise.
68529         * modules/unictype/property-logical-order-exception-tests: Likewise.
68530         * modules/unictype/property-lowercase-tests: Likewise.
68531         * modules/unictype/property-math-tests: Likewise.
68532         * modules/unictype/property-non-break-tests: Likewise.
68533         * modules/unictype/property-not-a-character-tests: Likewise.
68534         * modules/unictype/property-numeric-tests: Likewise.
68535         * modules/unictype/property-other-alphabetic-tests: Likewise.
68536         * modules/unictype/property-other-default-ignorable-code-point-tests:
68537         Likewise.
68538         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
68539         * modules/unictype/property-other-id-continue-tests: Likewise.
68540         * modules/unictype/property-other-id-start-tests: Likewise.
68541         * modules/unictype/property-other-lowercase-tests: Likewise.
68542         * modules/unictype/property-other-math-tests: Likewise.
68543         * modules/unictype/property-other-uppercase-tests: Likewise.
68544         * modules/unictype/property-paired-punctuation-tests: Likewise.
68545         * modules/unictype/property-paragraph-separator-tests: Likewise.
68546         * modules/unictype/property-pattern-syntax-tests: Likewise.
68547         * modules/unictype/property-pattern-white-space-tests: Likewise.
68548         * modules/unictype/property-private-use-tests: Likewise.
68549         * modules/unictype/property-punctuation-tests: Likewise.
68550         * modules/unictype/property-quotation-mark-tests: Likewise.
68551         * modules/unictype/property-radical-tests: Likewise.
68552         * modules/unictype/property-sentence-terminal-tests: Likewise.
68553         * modules/unictype/property-soft-dotted-tests: Likewise.
68554         * modules/unictype/property-space-tests: Likewise.
68555         * modules/unictype/property-terminal-punctuation-tests: Likewise.
68556         * modules/unictype/property-test-tests: Likewise.
68557         * modules/unictype/property-titlecase-tests: Likewise.
68558         * modules/unictype/property-unassigned-code-value-tests: Likewise.
68559         * modules/unictype/property-unified-ideograph-tests: Likewise.
68560         * modules/unictype/property-uppercase-tests: Likewise.
68561         * modules/unictype/property-variation-selector-tests: Likewise.
68562         * modules/unictype/property-white-space-tests: Likewise.
68563         * modules/unictype/property-xid-continue-tests: Likewise.
68564         * modules/unictype/property-xid-start-tests: Likewise.
68565         * modules/unictype/property-zero-width-tests: Likewise.
68566         * modules/unictype/scripts-tests: Likewise.
68567         * modules/unictype/syntax-c-ident-tests: Likewise.
68568         * modules/unictype/syntax-c-whitespace-tests: Likewise.
68569         * modules/unictype/syntax-java-ident-tests: Likewise.
68570         * modules/unictype/syntax-java-whitespace-tests: Likewise.
68571         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
68572         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
68573         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
68574         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
68575         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
68576         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
68577         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
68578         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
68579         * modules/uniname/uniname-tests: Likewise.
68580         * modules/uninorm/canonical-decomposition-tests: Likewise.
68581         * modules/uninorm/compat-decomposition-tests: Likewise.
68582         * modules/uninorm/composition-tests: Likewise.
68583         * modules/uninorm/decomposing-form-tests: Likewise.
68584         * modules/uninorm/decomposition-tests: Likewise.
68585         * modules/uninorm/filter-tests: Likewise.
68586         * modules/uninorm/nfc-tests: Likewise.
68587         * modules/uninorm/nfd-tests: Likewise.
68588         * modules/uninorm/nfkc-tests: Likewise.
68589         * modules/uninorm/nfkd-tests: Likewise.
68590         * modules/uninorm/u8-normcmp-tests: Likewise.
68591         * modules/uninorm/u8-normcoll-tests: Likewise.
68592         * modules/uninorm/u16-normcmp-tests: Likewise.
68593         * modules/uninorm/u16-normcoll-tests: Likewise.
68594         * modules/uninorm/u32-normcmp-tests: Likewise.
68595         * modules/uninorm/u32-normcoll-tests: Likewise.
68596         * modules/unistdio/u8-asnprintf-tests: Likewise.
68597         * modules/unistdio/u8-vasnprintf-tests: Likewise.
68598         * modules/unistdio/u8-vasprintf-tests: Likewise.
68599         * modules/unistdio/u8-vsnprintf-tests: Likewise.
68600         * modules/unistdio/u8-vsprintf-tests: Likewise.
68601         * modules/unistdio/u16-asnprintf-tests: Likewise.
68602         * modules/unistdio/u16-vasnprintf-tests: Likewise.
68603         * modules/unistdio/u16-vasprintf-tests: Likewise.
68604         * modules/unistdio/u16-vsnprintf-tests: Likewise.
68605         * modules/unistdio/u16-vsprintf-tests: Likewise.
68606         * modules/unistdio/u32-asnprintf-tests: Likewise.
68607         * modules/unistdio/u32-vasnprintf-tests: Likewise.
68608         * modules/unistdio/u32-vasprintf-tests: Likewise.
68609         * modules/unistdio/u32-vsnprintf-tests: Likewise.
68610         * modules/unistdio/u32-vsprintf-tests: Likewise.
68611         * modules/unistdio/ulc-asnprintf-tests: Likewise.
68612         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
68613         * modules/unistdio/ulc-vasprintf-tests: Likewise.
68614         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
68615         * modules/unistdio/ulc-vsprintf-tests: Likewise.
68616         * modules/unistr/u8-check-tests: Likewise.
68617         * modules/unistr/u8-chr-tests: Likewise.
68618         * modules/unistr/u8-cmp-tests: Likewise.
68619         * modules/unistr/u8-cmp2-tests: Likewise.
68620         * modules/unistr/u8-cpy-alloc-tests: Likewise.
68621         * modules/unistr/u8-cpy-tests: Likewise.
68622         * modules/unistr/u8-mblen-tests: Likewise.
68623         * modules/unistr/u8-mbsnlen-tests: Likewise.
68624         * modules/unistr/u8-mbtouc-tests: Likewise.
68625         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
68626         * modules/unistr/u8-mbtoucr-tests: Likewise.
68627         * modules/unistr/u8-move-tests: Likewise.
68628         * modules/unistr/u8-next-tests: Likewise.
68629         * modules/unistr/u8-prev-tests: Likewise.
68630         * modules/unistr/u8-set-tests: Likewise.
68631         * modules/unistr/u8-stpcpy-tests: Likewise.
68632         * modules/unistr/u8-stpncpy-tests: Likewise.
68633         * modules/unistr/u8-strcat-tests: Likewise.
68634         * modules/unistr/u8-strcmp-tests: Likewise.
68635         * modules/unistr/u8-strcoll-tests: Likewise.
68636         * modules/unistr/u8-strcpy-tests: Likewise.
68637         * modules/unistr/u8-strdup-tests: Likewise.
68638         * modules/unistr/u8-strlen-tests: Likewise.
68639         * modules/unistr/u8-strmblen-tests: Likewise.
68640         * modules/unistr/u8-strmbtouc-tests: Likewise.
68641         * modules/unistr/u8-strncat-tests: Likewise.
68642         * modules/unistr/u8-strncmp-tests: Likewise.
68643         * modules/unistr/u8-strncpy-tests: Likewise.
68644         * modules/unistr/u8-strnlen-tests: Likewise.
68645         * modules/unistr/u8-to-u16-tests: Likewise.
68646         * modules/unistr/u8-to-u32-tests: Likewise.
68647         * modules/unistr/u8-uctomb-tests: Likewise.
68648         * modules/unistr/u16-check-tests: Likewise.
68649         * modules/unistr/u16-chr-tests: Likewise.
68650         * modules/unistr/u16-cmp-tests: Likewise.
68651         * modules/unistr/u16-cmp2-tests: Likewise.
68652         * modules/unistr/u16-cpy-alloc-tests: Likewise.
68653         * modules/unistr/u16-cpy-tests: Likewise.
68654         * modules/unistr/u16-mblen-tests: Likewise.
68655         * modules/unistr/u16-mbsnlen-tests: Likewise.
68656         * modules/unistr/u16-mbtouc-tests: Likewise.
68657         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
68658         * modules/unistr/u16-mbtoucr-tests: Likewise.
68659         * modules/unistr/u16-move-tests: Likewise.
68660         * modules/unistr/u16-next-tests: Likewise.
68661         * modules/unistr/u16-prev-tests: Likewise.
68662         * modules/unistr/u16-set-tests: Likewise.
68663         * modules/unistr/u16-stpcpy-tests: Likewise.
68664         * modules/unistr/u16-stpncpy-tests: Likewise.
68665         * modules/unistr/u16-strcat-tests: Likewise.
68666         * modules/unistr/u16-strcmp-tests: Likewise.
68667         * modules/unistr/u16-strcoll-tests: Likewise.
68668         * modules/unistr/u16-strcpy-tests: Likewise.
68669         * modules/unistr/u16-strdup-tests: Likewise.
68670         * modules/unistr/u16-strlen-tests: Likewise.
68671         * modules/unistr/u16-strmblen-tests: Likewise.
68672         * modules/unistr/u16-strmbtouc-tests: Likewise.
68673         * modules/unistr/u16-strncat-tests: Likewise.
68674         * modules/unistr/u16-strncmp-tests: Likewise.
68675         * modules/unistr/u16-strncpy-tests: Likewise.
68676         * modules/unistr/u16-strnlen-tests: Likewise.
68677         * modules/unistr/u16-to-u32-tests: Likewise.
68678         * modules/unistr/u16-to-u8-tests: Likewise.
68679         * modules/unistr/u16-uctomb-tests: Likewise.
68680         * modules/unistr/u32-check-tests: Likewise.
68681         * modules/unistr/u32-chr-tests: Likewise.
68682         * modules/unistr/u32-cmp-tests: Likewise.
68683         * modules/unistr/u32-cmp2-tests: Likewise.
68684         * modules/unistr/u32-cpy-alloc-tests: Likewise.
68685         * modules/unistr/u32-cpy-tests: Likewise.
68686         * modules/unistr/u32-mblen-tests: Likewise.
68687         * modules/unistr/u32-mbsnlen-tests: Likewise.
68688         * modules/unistr/u32-mbtouc-tests: Likewise.
68689         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
68690         * modules/unistr/u32-mbtoucr-tests: Likewise.
68691         * modules/unistr/u32-move-tests: Likewise.
68692         * modules/unistr/u32-next-tests: Likewise.
68693         * modules/unistr/u32-prev-tests: Likewise.
68694         * modules/unistr/u32-set-tests: Likewise.
68695         * modules/unistr/u32-stpcpy-tests: Likewise.
68696         * modules/unistr/u32-stpncpy-tests: Likewise.
68697         * modules/unistr/u32-strcat-tests: Likewise.
68698         * modules/unistr/u32-strcmp-tests: Likewise.
68699         * modules/unistr/u32-strcoll-tests: Likewise.
68700         * modules/unistr/u32-strcpy-tests: Likewise.
68701         * modules/unistr/u32-strdup-tests: Likewise.
68702         * modules/unistr/u32-strlen-tests: Likewise.
68703         * modules/unistr/u32-strmblen-tests: Likewise.
68704         * modules/unistr/u32-strmbtouc-tests: Likewise.
68705         * modules/unistr/u32-strncat-tests: Likewise.
68706         * modules/unistr/u32-strncmp-tests: Likewise.
68707         * modules/unistr/u32-strncpy-tests: Likewise.
68708         * modules/unistr/u32-strnlen-tests: Likewise.
68709         * modules/unistr/u32-to-u16-tests: Likewise.
68710         * modules/unistr/u32-to-u8-tests: Likewise.
68711         * modules/unistr/u32-uctomb-tests: Likewise.
68712         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
68713         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
68714         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
68715         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
68716         * modules/uniwidth/u8-strwidth-tests: Likewise.
68717         * modules/uniwidth/u8-width-tests: Likewise.
68718         * modules/uniwidth/u16-strwidth-tests: Likewise.
68719         * modules/uniwidth/u16-width-tests: Likewise.
68720         * modules/uniwidth/u32-strwidth-tests: Likewise.
68721         * modules/uniwidth/u32-width-tests: Likewise.
68722         * modules/uniwidth/width-tests: Likewise.
68724 2010-05-18  Richard Jones  <rjones@redhat.com>
68726         doc: users.txt: list hivex
68727         * users.txt: Add hivex.
68729 2010-05-18  Richard Jones  <rjones@redhat.com>
68731         doc: users.txt: list febootstrap
68732         * users.txt: Add febootstrap.
68734 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
68736         bootstrap: fix an error when gnulib is not used as a git submodule
68737         * build-aux/bootstrap (gnulib_path): If its length is zero then
68738         assign "gnulib" to it.
68739         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
68741 2010-05-16  Bruno Haible  <bruno@clisp.org>
68743         Avoid autoconf warnings about AM_ICONV.
68744         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
68745         2.64.
68747 2010-05-16  Bruno Haible  <bruno@clisp.org>
68749         absolute-header: Make the macro usable in more situations.
68750         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
68751         from gl_ABSOLUTE_HEADER.
68752         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
68754 2010-05-16  James Youngman  <jay@gnu.org>
68756         doc: update users.txt
68757         * users.txt: Add CSSC.
68759 2010-05-16  Jim Meyering  <meyering@redhat.com>
68761         init.sh: fix an error in the previous change; add more comments
68762         * tests/init.sh: Compare exit code in loop against 9, not 2.
68763         Patch by Bruno Haible.
68764         Make the two tests more similar by adding an empty "then" clause.
68765         Add comments.
68767         init.sh: avoid unnecessary shell re-exec
68768         * tests/init.sh: Improve the re-exec-required check to first test the
68769         current shell.  If it passes the test, do not search for a shell that
68770         does pass, and do not re-exec.  This test is particularly contorted to
68771         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
68772         of $(...) evokes a syntax error and causes immediate shell exit with
68773         status 2.  Bruno Haible reported that the re-exec made it impossible
68774         to single-step through any init.sh-using script.
68776 2010-05-16  Bruno Haible  <bruno@clisp.org>
68778         Fix collision between gnulib's and libintl's printf replacements.
68779         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
68780         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
68781         (printf): When using GNU C, map the __printf__ function to rpl_printf
68782         via __asm__. When not using GNU C, define rpl_printf instead of
68783         __printf__.
68784         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
68785         commit.
68786         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
68787         commit.
68788         * m4/asm-underscore.m4: New file.
68789         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
68790         * modules/stdio (Files): Add m4/asm-underscore.m4.
68791         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
68792         Reported by Ben Pfaff.
68794 2010-05-16  Bruno Haible  <bruno@clisp.org>
68796         verify: Avoid skipping the test on openSUSE 11.0.
68797         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
68799 2010-05-13  Bruno Haible  <bruno@clisp.org>
68801         Avoid useless warnings from G++.
68802         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
68803         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
68804         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68806 2010-05-11  Jim Meyering  <meyering@redhat.com>
68808         maint.mk: tweak preceding change
68809         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
68810         regexps tighter by anchoring at EOL, and make the new group "shy"
68811         for slightly decreased overhead.
68813 2010-05-11  Eric Blake  <eblake@redhat.com>
68815         maint.mk: gnulib doesn't guarantee NSIG
68816         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
68818 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68820         test-pwrite.c: Remove unused variable declaration.
68821         * tests/test-pwrite.c (main): Remove read_buf declaration.
68823         Remove useless test-pwrite.sh file.
68824         * tests/test-pwrite.sh: Delete file.
68825         * modules/pwrite-tests: Remove references.
68826         Reported by Bruno Haible.
68828 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68830         init.sh: fix a typo
68831         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
68833 2010-05-10  Jim Meyering  <meyering@redhat.com>
68835         maint.mk: avoid using a temporary file in the always-defined-macros check
68836         * top/maint.mk (.re-defmac): Remove rule.
68837         (gl_trap_): Remove definition.
68838         (sc_prohibit_always-defined_macros): Rewrite not to create and
68839         depend on a temporary file.  Instead, depend on GNU grep's ability
68840         to read a list of regular expressions from stdin when given "-f -".
68842 2010-05-09  Bruno Haible  <bruno@clisp.org>
68844         Update to GNU gettext 0.18, part 1.
68845         * m4/gettext.m4: Update to GNU gettext 0.18.
68846         * m4/intl.m4: Likewise.
68847         * m4/po.m4: Likewise.
68848         * modules/gettext (Files): Add m4/fcntl-o.m4.
68849         (configure.ac): Require gettext infrastructure from version 0.18.
68851 2010-05-09  Jim Meyering  <meyering@redhat.com>
68853         init.sh: enable MALLOC_PERTURB_
68854         * tests/init.sh: Enable glibc's malloc-perturbing option.
68856         maint.mk: improve sc_cross_check_PATH_usage_in_tests
68857         With my recent change in init.sh from the two-line form:
68858             -#   : ${srcdir=.}
68859             -#   . "$srcdir/init.sh"; path_prepend_ .
68860             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
68861         I noticed that using the one-line form would cause this test
68862         to fail with a false-positive, or to stop working altogether,
68863         depending on whether help-version changed or all the tests did.
68864         * top/maint.mk (_hv_regex): Remove this definition.
68865         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
68866         (_hv_regex_strong): Use a stronger regex to check for conformance.
68867         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
68868         Give a separate diagnostic for lack of conforming use.
68870         maint.mk: prohibit definition of symbols defined by gnulib
68871         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
68872         definition of symbols defined by gnulib.
68874 2010-05-09  Bruno Haible  <bruno@clisp.org>
68876         acl: Avoid test failure on Cygwin-hosted mingw.
68877         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
68879 2010-05-09  Bruno Haible  <bruno@clisp.org>
68881         error: Use system's fcntl function.
68882         * lib/error.c (fcntl): Undefine.
68884 2010-05-09  Jim Meyering  <meyering@redhat.com>
68886         verify: adjust formatting to be more consistent
68887         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
68888         argument-list '('s, and after one comma.
68890 2010-05-09  Bruno Haible  <bruno@clisp.org>
68892         error: More reliable output on mingw.
68893         * lib/error.c: Include <windows.h>.
68894         (is_open): New function.
68895         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
68896         defined.
68898 2010-05-09  Bruno Haible  <bruno@clisp.org>
68900         vasnprintf: Fix syntax errors in libintl build on mingw.
68901         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
68902         pad_ourselves and prec_ourselves after use.
68904 2010-05-08  Bruno Haible  <bruno@clisp.org>
68906         * lib/config.charset: Update comments for Cygwin 1.7.
68907         * lib/localcharset.c: Likewise.
68909 2010-05-07  Jim Meyering  <meyering@redhat.com>
68911         init.sh: improve comments
68912         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
68913         . "${srcdir=.}/init.sh"; path_prepend_ .
68914         Add a note about path_prepend_ and the alternative of using
68915         TESTS_ENVIRONMENT.
68917 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
68919         exclude: Unescape hashed patterns in wildcard mode.
68920         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
68921         to the hash list.
68922         * tests/test-exclude8.sh: New test case.
68923         * modules/exclude-tests: Add new test.
68925 2010-05-05  Eric Blake  <eblake@redhat.com>
68927         verify: automate tests
68928         * modules/verify-tests: New module.
68929         * tests/test-verify.sh: New file.
68930         * tests/test-verify.c: Guard each negative test with a unique id.
68931         Also avoid warning about unused left hand of comma expressions.
68933 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68935         Further improvements to verify.h, suggested by Eric Blake.
68936         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
68937         the GL_* versions, to avoid collision with OpenGL.
68938         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
68939         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
68940         than testing merely whether it's defined.
68942         Modify verify.h to pacify gcc -Wredundant_decls.
68943         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
68944         These use the prefix "GL_" since they're likely to be useful elsewhere.
68945         We may need to break them out into a different .h file.
68946         (__COUNTER__): Define to 0 if the compiler doesn't support it.
68947         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
68948         of verify_function__.
68950 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68952         Tests for module pwrite.
68953         * modules/pwrite-tests: New file.
68954         * tests/test-pwrite.sh: New file.
68955         * tests/test-pwrite.c: New file.
68957         New module pwrite.
68958         * lib/unistd.in.h (pwrite): New declaration.
68959         * lib/pwrite.c: New file, from glibc with modifications.
68960         * m4/pwrite.m4: New file.
68961         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
68962         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
68963         REPLACE_PWRITE.
68964         * modules/pwrite: New file.
68965         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
68966         REPLACE_PWRITE.
68967         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
68968         * doc/posix-functions/pwrite.texi: Mention the new module.
68970 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68972         pread: Update documentation.
68973         * doc/posix-functions/pread.texi: Mention the 'pread' module.
68975 2010-05-04  Eric Blake  <eblake@redhat.com>
68977         docs: update cygwin progress
68978         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
68979         this bug.
68980         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
68981         Added in cygwin 1.7.2.
68982         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
68983         Likewise.
68984         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
68985         Likewise.
68986         * doc/glibc-functions/dup3.texi (dup3): Likewise.
68987         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
68988         * doc/glibc-functions/accept4.texi (accept4): Likewise.
68989         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
68990         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
68991         Mention nproc module.
68992         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
68993         bug in cygwin 1.7.5 addition.
68994         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
68995         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
68996         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
68997         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
68998         1.7.5.
68999         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
69000         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
69001         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
69002         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
69003         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
69004         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
69005         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
69006         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
69007         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
69008         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
69009         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
69010         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
69011         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
69012         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
69013         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
69014         Likewise.
69015         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
69016         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
69017         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
69018         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
69019         Likewise.
69020         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
69021         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
69022         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
69023         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
69024         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
69025         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
69026         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
69027         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
69028         Likewise.
69029         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
69030         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
69031         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
69032         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
69033         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
69034         Likewise.
69035         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
69036         Likewise.
69037         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
69038         Likewise.
69039         * doc/glibc-functions/xdrrec_endofrecord.texi
69040         (xdrrec_endofrecord): Likewise.
69041         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
69042         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
69043         Likewise.
69044         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
69045         Likewise.
69047 2010-05-04  Jim Meyering  <meyering@redhat.com>
69049         gendocs.sh: make its "-s FILE" option more useful
69050         * build-aux/gendocs.sh: When honoring the -s FILE option, update
69051         $PACKAGE to reflect the probably-different basename of "FILE".
69053 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
69055         bootstrap: don't ignore download_po_files failure
69056         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
69057         failure.
69059 2010-05-03  Jim Meyering  <meyering@redhat.com>
69061         maint.mk: allow to pass options to gendocs.sh
69062         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
69063         (gendocs_options_): New overridable variable.
69065         gnu-web-doc-update: don't ignore configure or build failure
69066         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
69068         announce-gen: backslash-escape '@'s in --help output
69069         * build-aux/announce-gen: Fix syntax errors.
69071         maint.mk, announce-gen: allow project-specific announcement mail headers
69072         * top/maint.mk (translation_project_): Define default.
69073         (announcement_Cc_, announcement_mail_headers_): Likewise.
69074         (announcement): Invoke announce-gen with new --mail-headers option.
69075         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
69077         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
69078         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
69079         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
69080         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
69081         line in the "err2" output file when running "make check" in verbose
69082         mode (i.e., with set -x enabled).
69084 2010-05-03  Bruno Haible  <bruno@clisp.org>
69086         wctob: Fix for weird platforms.
69087         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
69088         argument value.
69090 2010-05-03  Jim Meyering  <meyering@redhat.com>
69092         maint.mk: prohibit unwarranted use of <strings.h>
69093         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
69094         strings.h in a file that does not also use strcasecmp, strncasecmp,
69095         ffs or ffsll.
69097         maint.mk: remove obsolete comments
69098         * top/maint.mk: Remove stale, commented-out rules.
69100 2010-05-02  Bruno Haible  <bruno@clisp.org>
69102         wcwidth: Declare also when it's aliased.
69103         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
69104         macro.
69106 2010-05-02  Bruno Haible  <bruno@clisp.org>
69108         Fix regression from 2010-04-25.
69109         * gnulib-tool (func_modules_transitive_closure): Check the status of
69110         all modules, not only of the tests that are of the form foo-tests where
69111         foo is a module.
69113 2010-05-02  Bruno Haible  <bruno@clisp.org>
69115         wctob: Work around nasty Cygwin 1.7.2 bug.
69116         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
69117         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
69119 2010-05-01  Bruno Haible  <bruno@clisp.org>
69121         fpurge: Sharper test.
69122         * tests/test-fpurge.c (main): Add one more ftell check.
69123         * modules/fpurge-tests (Depends-on): Add ftell.
69124         Suggested by Eric Blake.
69126 2010-05-01  Bruno Haible  <bruno@clisp.org>
69128         ftello: Another test.
69129         * tests/test-ftello3.c: New file.
69130         * modules/ftello-tests (Files): Add it.
69131         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69132         MOSTLYCLEANFILES.
69134         ftell: Another test.
69135         * tests/test-ftell3.c: New file.
69136         * modules/ftell-tests (Files): Add it.
69137         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
69138         MOSTLYCLEANFILES.
69140 2010-05-01  Bruno Haible  <bruno@clisp.org>
69142         ftell, ftello: Work around Solaris bug.
69143         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
69144         * lib/ftello.c: Include stdio-impl.h.
69145         (ftello): On Solaris, when _IOWRT is set, compute the result without
69146         looking at _IOREAD.
69147         * modules/ftello (Files): Add lib/stdio-impl.h.
69148         * doc/posix-functions/ftell.texi: Mention Solaris bug.
69149         * doc/posix-functions/ftello.texi: Likewise.
69150         Reported by Eric Blake.
69152 2010-05-01  Bruno Haible  <bruno@clisp.org>
69154         freading: Adapt to special meaning of _IOREAD flag on Solaris.
69155         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
69156         the _IOWRT flag is also set.
69158 2010-05-01  Bruno Haible  <bruno@clisp.org>
69160         Fix doc about a HP-UX stdio bug.
69161         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
69162         * doc/posix-functions/ftello.texi: Likewise.
69164 2010-05-01  Bruno Haible  <bruno@clisp.org>
69166         lseek test: Fix failure on Solaris.
69167         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
69168         output.
69170 2010-04-30  Jim Meyering  <meyering@redhat.com>
69172         bootstrap: don't ignore failure to generate po*/Makevars
69173         * build-aux/bootstrap (with_gettext): Don't ignore failure
69174         to create po/Makevars or runtime-po/Makevars.
69176 2010-04-29  Eric Blake  <eblake@redhat.com>
69178         headers: relax license to LGPLv2+
69179         * modules/fcntl-h (License): Relax license.
69180         * modules/getopt-posix (License): Likewise.
69181         * modules/locale (License): Likewise.
69182         * modules/math (License): Likewise.
69183         * modules/pty (License): Likewise.
69184         * modules/sched (License): Likewise.
69185         * modules/search (License): Likewise.
69186         * modules/spawn (License): Likewise.
69187         * modules/stdarg (License): Likewise.
69188         * modules/sysexits (License): Likewise.
69190 2010-04-29  Jim Meyering  <meyering@redhat.com>
69192         inttypes: relax license to LGPLv2+
69193         * modules/inttypes (License): Relax license.
69195 2010-04-29  Simon Josefsson  <simon@josefsson.org>
69197         * top/maint.mk (indent): Run twice to produce idempotent results.
69199 2010-04-28  Bruno Haible  <bruno@clisp.org>
69201         getdate: Generate getdate.c in the source directory.
69202         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
69203         MOSTLYCLEANFILES.
69204         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
69206 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
69208         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
69209         is not declared as a const *; avoid warnings in that case.
69211 2010-04-28  Eric Blake  <eblake@redhat.com>
69213         canonicalize-lgpl: avoid compiler warning
69214         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
69215         declaration' / 'extraneous semicolon' warning with some compilers.
69216         Reported by Andreas Gruenbacher.
69218 2010-04-28  Jim Meyering  <meyering@redhat.com>
69220         init.sh: ensure a more reliable exit status when exiting via trap
69221         * tests/init.sh (setup_): Don't rely on $? in signal handler.
69222         Inspired by patches from Dmitry V. Levin.
69223         Also trap on signal 3 (SIGQUIT).
69225 2010-04-27  Bruno Haible  <bruno@clisp.org>
69227         Update doc about utimes().
69228         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
69229         'utimens' module.
69230         Reported by Andreas Gruenbacher <agruen@suse.de>.
69232 2010-04-27  Eric Blake  <eblake@redhat.com>
69234         full-read, full-write: relax license
69235         * modules/full-read (License): Drop to LGPLv2+.
69236         * modules/full-write (License): Likewise.
69237         * modules/safe-read (License): Likewise.
69238         * modules/safe-write (License): Likewise.
69240         pthread: mention library for linking
69241         * modules/pthread (Link): Mention $(LIB_PTHREAD).
69243 2010-04-27  Jim Meyering  <meyering@redhat.com>
69245         maint.mk: fix a bug introduced in last change
69246         * top/maint.mk (gl_assured_headers_): Now that all names are on
69247         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
69248         is not anchored to end of word, it should be adequate.
69250         maint.mk: avoid side-effect in latest syntax-check
69251         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
69252         to run commands via $(shell...), and hence to incur cost only when
69253         the new rule is actually run.
69255         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
69256         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
69257         and use that to create a regexp used to detect all #if HAVE_..._H uses.
69258         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
69259         (gl_assured_headers_, az_, AZ_): Define.
69260         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
69262 2010-04-26  Jim Meyering  <jim@meyering.net>
69263             Bruno Haible  <bruno@clisp.org>
69265         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
69266         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
69267         Prompted by an exchange with Gilles Espinasse.
69269 2010-04-26  Jim Meyering  <meyering@redhat.com>
69271         git-version-gen: aesthetic tweak
69272         * build-aux/git-version-gen: Use "$nl" rather than a literal,
69273         so that the command remains on a single line.
69275 2010-04-26  Eric Blake  <eblake@redhat.com>
69277         git-version-gen: allow use on EBCDIC hosts
69278         * build-aux/git-version-gen (dirty): Use literal rather than tying
69279         ourselves to ascii.
69280         Reported by Steve Goetze.
69282 2010-04-25  Bruno Haible  <bruno@clisp.org>
69284         netdb: Add support for GNULIB_POSIXCHECK.
69285         * lib/netdb.in.h: Include warn-on-use.h.
69286         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
69287         functions are used when GNULIB_POSIXCHECK is defined and the
69288         getaddrinfo module is not in use.
69289         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
69290         freeaddrinfo, gai_strerror, getnameinfo are declared.
69291         * modules/netdb (Depends-on): Add warn-on-use.
69292         (Makefile.am): Include warn-on-use.h in netdb.h.
69294 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
69296         build: avoid "make check" failure without .git/ directory
69297         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
69298         there is no .git/ directory.
69300 2010-04-25  Bruno Haible  <bruno@clisp.org>
69302         ptsname: Fix misuse of ttyname_r.
69303         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
69304         of errno.
69306 2010-04-25  Bruno Haible  <bruno@clisp.org>
69308         ttyname_r: Make it work on Solaris 10.
69309         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
69310         if the system function has the POSIX declaration. Test whether the
69311         function fails if the buffer is less than 128 bytes large.
69312         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
69313         system's ttyname_r function. Provide a reasonably large buffer.
69314         * modules/ttyname_r (Depends-on): Add extensions.
69315         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
69317 2010-04-25  Bruno Haible  <bruno@clisp.org>
69319         Use the 'extensions' module for some more functions on Solaris.
69320         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
69321         module.
69322         * doc/posix-functions/ctime_r.texi: Likewise.
69323         * doc/posix-functions/getgrgid_r.texi: Likewise.
69324         * doc/posix-functions/getgrnam_r.texi: Likewise.
69325         * doc/posix-functions/getpwnam_r.texi: Likewise.
69326         * doc/posix-functions/getpwuid_r.texi: Likewise.
69327         * doc/posix-functions/readdir_r.texi: Likewise.
69328         * doc/posix-functions/sigwait.texi: Likewise.
69329         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
69330         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
69332 2010-04-25  Bruno Haible  <bruno@clisp.org>
69334         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
69335         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
69336         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
69337         * lib/ttyname_r.c: Include <limits.h>.
69338         (ttyname_r): Define using the system's ttyname_r function, if it exists
69339         and not on Solaris.
69340         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
69341         set.
69342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
69343         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
69344         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
69345         Reported by Simon Josefsson.
69347 2010-04-25  Bruno Haible  <bruno@clisp.org>
69349         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
69350         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
69351         * doc/posix-functions/ctime_r.texi: Likewise.
69352         * doc/posix-functions/getgrgid_r.texi: Likewise.
69353         * doc/posix-functions/getgrnam_r.texi: Likewise.
69354         * doc/posix-functions/getlogin_r.texi: Likewise.
69355         * doc/posix-functions/getpwnam_r.texi: Likewise.
69356         * doc/posix-functions/getpwuid_r.texi: Likewise.
69357         * doc/posix-functions/readdir_r.texi: Likewise.
69358         * doc/posix-functions/sigwait.texi: Likewise.
69359         * doc/posix-functions/ttyname_r.texi: Likewise.
69360         Reported by Simon Josefsson.
69362 2010-04-25  Bruno Haible  <bruno@clisp.org>
69364         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
69365         * gnulib-tool (func_usage): Document that --with-*-tests options apply
69366         also to --create-testdir.
69367         (func_acceptable): Don't consider the status of *-tests modules here.
69368         (func_modules_transitive_closure): Consider it here, before including a
69369         test module.
69370         (func_import, func_create_testdir): Set inc_all_direct_tests,
69371         inc_all_indirect_tests.
69372         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
69373         --create-testdir and --create-megatestdir.
69375 2010-04-25  Bruno Haible  <bruno@clisp.org>
69377         gnulib-tool: Add --without-*-tests options.
69378         * gnulib-tool (func_usage): Document the --without-*-tests options.
69379         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
69380         excl_unportable_tests): New variables.
69381         Fail if they are specified with --import or --update.
69382         (func_acceptable): Respect the excl_*_tests variables.
69383         (func_import): Set the excl_*_tests variables to empty.
69385 2010-04-25  Simon Josefsson  <simon@josefsson.org>
69386             Bruno Haible  <bruno@clisp.org>
69388         Work around a MacOS X 10.4 bug with openpty.
69389         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
69390         * tests/test-openpty.c (main): Close the master side explicitly.
69392 2010-04-25  Bruno Haible  <bruno@clisp.org>
69394         strnlen: Fix a C++ test error on MacOS X and Solaris.
69395         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
69396         the function is not declared.
69397         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
69398         Simon Josefsson.
69400 2010-04-24  Bruno Haible  <bruno@clisp.org>
69402         Avoid a gcc warning.
69403         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
69404         of correct type for %08lx directive.
69405         Reported by Eric Blake.
69407 2010-04-24  Bruno Haible  <bruno@clisp.org>
69409         vasnprintf: Correct errno value in case of out-of-memory.
69410         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
69411         or sprintf. Use the errno value from SNPRINTF or sprintf.
69412         Reported by Ian Beckwith <ianb@erislabs.net>.
69414 2010-04-24  Bruno Haible  <bruno@clisp.org>
69416         ansi-c++-opt: Find correct compiler when cross-compiling.
69417         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
69418         AC_CHECK_PROGS.
69419         Reported by Simon Josefsson.
69421 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
69423         vc-list-files: Add support for subversion
69424         * build-aux/vc-list-files: Use "svn list" to generate the list of
69425         files controlled by subversion.
69427 2010-04-23  Jim Meyering  <meyering@redhat.com>
69429         vc-list-files tests: convert to use init.sh
69430         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
69431         path_prepend_.
69432         Use Exit, not exit.
69433         Use skip_ rather than open coding it.
69434         Remove trap set-up and compare definitions.
69435         * tests/test-vc-list-files-git.sh: Likewise.
69436         * modules/vc-list-files-tests (Files): Add tests/init.sh.
69438 2010-04-22  Simon Josefsson  <simon@josefsson.org>
69440         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
69441         backup files.
69443 2010-04-21  Simon Josefsson  <simon@josefsson.org>
69445         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
69447 2010-04-20  Eric Blake  <eblake@redhat.com>
69449         tests: be robust to ignored SIGPIPE
69450         * tests/test-select-in.sh: Consume all output.
69451         * tests/test-lseek.sh: Check correct exit status, while avoiding
69452         EPIPE.
69454 2010-04-20  Simon Josefsson  <simon@josefsson.org>
69455             Bruno Haible  <bruno@clisp.org>
69457         visibility: Don't use -fvisibility if it leads to a warning.
69458         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
69459         yes, don't pretend that visibility works if it leads to a warning.
69460         Reported by Mike Gran <spk121@yahoo.com>.
69462 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
69464         * build-aux/bootstrap: Use "git -h" for testing for supported options
69465         instead of "git --help".  The short-form option only shows a summary,
69466         and doesn't layout the full man page.  Grep for the full option name
69467         in the summary, too.
69469 2010-04-19  Bruno Haible  <bruno@clisp.org>
69471         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
69472         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
69473         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
69474         mention of RELOCATABLE_STRIP.
69475         Reported by Sylvain Beucler <beuc@beuc.net>.
69477 2010-04-19  Bruno Haible  <bruno@clisp.org>
69479         * lib/diffseq.h: Fix typo in comment.
69480         Reported by Eric Blake.
69482 2010-04-19  Bruno Haible  <bruno@clisp.org>
69484         ioctl: Move autoconf macro to a .m4 file.
69485         * m4/ioctl.m4: New file, extracted from modules/ioctl.
69486         * modules/ioctl (Files): Add it.
69487         (configure.ac): Simply invoke gl_FUNC_IOCTL.
69488         Reported by Ian Beckwith <ianb@erislabs.net>.
69490 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
69491             Bruno Haible  <bruno@clisp.org>
69493         diffseq: Accommodate use-case with abstract arrays.
69494         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
69495         is not defined.
69496         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
69497         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
69499 2010-04-18  Bruno Haible  <bruno@clisp.org>
69501         * doc/posix-headers/stdbool.texi: More precise wording.
69503 2010-04-17  Jim Meyering  <meyering@redhat.com>
69505         maint.mk: use gnu-style indentation in an embedded perl script
69506         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
69507         Rename variable: s/two/last_two_bytes/
69509 2010-04-16  Eric Blake  <eblake@redhat.com>
69511         test-stdbool: skip test that fails with Solaris CC
69512         * tests/test-stdbool.c (f): Skip test that causes compilation
69513         error under buggy C++ compiler.
69514         * lib/stdbool.in.h: Document the limitation.
69515         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
69517         setenv: allow compilation with C++
69518         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
69519         register keyword.
69521         stdint: allow test to pass with C++
69522         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
69524         getopt: allow compilation with C++
69525         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
69526         struct.
69527         * lib/getopt.c (_getopt_internal_r): Use correct type.
69528         Reported by Dagobert Michelson, via Joel E. Denny.
69530 2010-04-16  Bruno Haible  <bruno@clisp.org>
69532         Override netdb.h always.
69533         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
69534         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
69535         Reported by Ludovic Courtès <ludo@gnu.org>.
69537 2010-04-15  Bruno Haible  <bruno@clisp.org>
69539         openpty: Fix mistake from 2010-03-21.
69540         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
69541         Reported by Simon Josefsson.
69543 2010-04-15  Eric Blake  <eblake@redhat.com>
69545         test-forkpty: fix expected signature
69546         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
69547         Reported by Simon Josefsson.
69549 2010-04-15  Jim Meyering  <meyering@redhat.com>
69551         maint.mk: texinfo_suffix_re_: correct the default regexp
69552         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
69554         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
69555         make it configurable via texinfo_suffix_re_.
69557 2010-04-14  Eric Blake  <eblake@redhat.com>
69559         strtok_r: relax license to LGPLv2+
69560         * modules/strtok_r (License): Relax license.
69561         Reported by Matthias Bolte.
69563 2010-04-14  Simon Josefsson  <simon@josefsson.org>
69565         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
69566         version 1.4.4 by default instead of requiring the libgcrypt
69567         version used during build.  This makes it possible to use the
69568         application with older but still binary compatible libgcrypt
69569         versions.
69571 2010-04-13  Eric Blake  <eblake@redhat.com>
69573         getopt-gnu: match recent glibc fixes and posix ruling
69574         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
69575         '+' handling, when requesting extensions.
69576         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
69577         'W;' handling.
69578         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
69579         * doc/posix-functions/getopt.texi (getopt): Document this.
69580         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69581         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69582         Likewise.
69584         getopt: merge bug fixes from glibc
69585         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
69586         diagnostics.  Honor '+:' correctly.  Reject ';'.
69588         getopt-posix: detect MacOS bug
69589         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
69590         optind when missing a required argument.
69591         * doc/posix-functions/getopt.texi (getopt): Document the bug.
69592         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69593         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69594         Likewise.
69596         getopt-posix: avoid spurious failure on Solaris
69597         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
69598         an indicator that setting optind=1 is sufficient for reset.
69600         getopt-posix: avoid spurious failure on FreeBSD
69601         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
69602         in POSIX mode, since the m4 test uses it.
69604         gnulib-tool: silence warning on BSD sh
69605         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
69607 2010-04-13  Jim Meyering  <meyering@redhat.com>
69609         doc: users.txt: GNU patch now uses gnulib
69610         * users.txt: Add patch.
69612 2010-04-12  Jim Meyering  <meyering@redhat.com>
69614         maint.mk: generate more concise timing data for syntax-check rules
69615         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
69616         " done" from each line that reports a syntax-check test duration.
69618 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
69620         git-version-gen: use "git update-index..." rather than "git status"
69621         * build-aux/git-version-gen: Use git update-index --refresh, not
69622         "git status".  With some versions of git, "git status" would fail
69623         to update the index and result in an unwarranted "-dirty" suffix.
69625 2010-04-11  Jim Meyering  <meyering@redhat.com>
69627         openat: correct formatting (no semantic change)
69628         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
69629         Suggested by Bruno Haible.
69631 2010-04-11  Bruno Haible  <bruno@clisp.org>
69633         Stricter declaration checking in testdirs.
69634         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69635         If for_tests is true, augment AM_CPPFLAGS to define
69636         GNULIB_STRICT_CHECKING.
69637         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
69638         GNULIB_STRICT_CHECKING is defined, verify that the function is
69639         declared.
69641 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
69642             Bruno Haible  <bruno@clisp.org>
69644         libunistring: Improve configure output.
69645         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
69646         Don't say "consider installing GNU libunistring" when checking again
69647         with libiconv.
69649 2010-04-11  Bruno Haible  <bruno@clisp.org>
69651         libunistring: Correct value of $LTLIBUNISTRING.
69652         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
69653         correct the value of $LTLIBUNISTRING.
69655 2010-04-11  Bruno Haible  <bruno@clisp.org>
69657         havelib: Add static libraries to LIBS in the right order.
69658         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
69659         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
69661 2010-04-11  Bruno Haible  <bruno@clisp.org>
69663         libunistring: Detect libunistring also when it depends on libiconv.
69664         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
69665         the second AC_LIB_HAVE_LINKFLAGS invocation.
69667 2010-04-11  James Youngman  <jay@gnu.org>
69669         close-stream: declare local scalars to be "const"
69670         * lib/close-stream.c (close_stream): Make boolean variables const
69671         to document the fact that we set but do not change them.
69673 2010-04-11  Bruno Haible  <bruno@clisp.org>
69675         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
69677 2010-04-11  Jim Meyering  <meyering@redhat.com>
69679         maint.mk: don't include dist-check.mk
69680         * top/maint.mk: Remove bogus include directive.
69682         maint.mk: improve empty-line-at-EOF check
69683         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
69684         solution, rather than tail+Perl-based one.  The latter would read
69685         a few kilobytes from the end of each file, and did not handle empty
69686         files properly.
69688         maint.mk: print the elapsed time for each syntax-check rule
69689         * top/maint.mk (sc_m_rules_): Save start time in a file.
69690         (sc_z_rules_): New rules: remove temp file and print elapsed time.
69691         (local-check): Interpose the .z rules
69693 2010-04-11  Jim Meyering  <meyering@redhat.com>
69695         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
69696         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
69697         empty file with one that ends in an empty line.
69699 2010-04-10  Bruno Haible  <bruno@clisp.org>
69701         mkdir: Make it work on mingw64.
69702         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
69703         * lib/mkdir.c: Update comment.
69704         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
69706 2010-04-10  Bruno Haible  <bruno@clisp.org>
69708         Don't override improved macro from newer autoconf.
69709         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
69710         autoconf >= 2.62.
69711         Reported by Joel E. Denny <jdenny@clemson.edu>.
69713 2010-04-10  Jim Meyering  <meyering@redhat.com>
69715         maint.mk: new syntax-check rule: prohibit empty lines at end of file
69716         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
69718         maint.mk: correct a diagnostic
69719         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
69720         in diagnostic; now use $prohibit.
69722 2010-04-10  Bruno Haible  <address@hidden>
69724         fchownat: Fix a C++ test error on Solaris 8.
69725         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
69726         the function does not exist.
69728 2010-04-10  Bruno Haible  <bruno@clisp.org>
69730         vasnprintf: Add more tests.
69731         * tests/test-vasnprintf-posix.c: Include <errno.h>.
69732         (test_function): Test converting an invalid wide string.
69734         vasnprintf: Correct handling of unconvertible wide string arguments.
69735         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
69736         VASNPRINTF.
69737         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
69738         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
69739         smaller than the expected maximum need for the directive. Set errno to
69740         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
69741         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
69742         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
69743         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
69744         * modules/vasnprintf (Files): Add m4/printf.m4.
69745         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69747 2010-04-10  Bruno Haible  <bruno@clisp.org>
69749         vasnprintf: Fix crash in %ls directive.
69750         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
69751         string is passed as argument to %ls, with no precision and no width.
69752         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69754 2010-04-10  Bruno Haible  <bruno@clisp.org>
69756         vasnprintf: Fix multiple test failures on mingw.
69757         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
69758         _snprintf, or snwprintf, not _snwprintf.
69760 2010-04-10  Bruno Haible  <bruno@clisp.org>
69762         write: Fix a C++ test error on mingw.
69763         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
69765 2010-04-10  Bruno Haible  <bruno@clisp.org>
69767         vasnprintf test: Reduce code duplication.
69768         * tests/test-vasnprintf.c (test_function): New function, extracted from
69769         test_vasnprintf.
69770         (test_vasnprintf, test_asnprintf): Invoke it.
69772 2010-04-10  Bruno Haible  <bruno@clisp.org>
69774         strnlen: Fix warning in C++ mode on MacOS X.
69775         * lib/string.in.h (strnlen): Use the modern idiom.
69776         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
69777         defining strnlen as a macro already in <config.h>.
69778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69779         REPLACE_STRNLEN.
69780         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
69781         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69783 2010-04-08  James Youngman  <jay@gnu.org>
69785         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
69786         the example.
69788 2010-04-09  Jim Meyering  <meyering@redhat.com>
69790         maint.mk: print better diagnostic when there is no $(_hv_file)
69791         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
69792         announce that when $(_hv_file) (aka help-version) does not exist.
69794         init.sh: run tr in the "C" locale to avoid multibyte interpretation
69795         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
69796         not try to interpret its random input bytes.  Jarno Rajahalme reported
69797         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
69798         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
69799         (mktempd_): Likewise, just in case.
69801         ftruncate: add two years to projected module removal date: 2012
69802         * m4/ftruncate.m4: Adjust comments.
69804         ftruncate: mark module as obsolete; even MinGW provides it, now
69805         * modules/ftruncate (Status): Obsolete.
69806         (Notice): Say that.
69807         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
69808         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
69810 2010-04-08  Bruno Haible  <bruno@clisp.org>
69812         Fix side effects from tests-related modules.
69813         * modules/dprintf-posix (Comment): New section.
69814         * modules/fprintf-posix (Comment): Likewise.
69815         * modules/obstack-printf-posix (Comment): Likewise.
69816         * modules/printf-posix (Comment): Likewise.
69817         * modules/snprintf-posix (Comment): Likewise.
69818         * modules/sprintf-posix (Comment): Likewise.
69819         * modules/vasnprintf-posix (Comment): Likewise.
69820         * modules/vasprintf-posix (Comment): Likewise.
69821         * modules/vdprintf-posix (Comment): Likewise.
69822         * modules/vfprintf-posix (Comment): Likewise.
69823         * modules/vprintf-posix (Comment): Likewise.
69824         * modules/vsnprintf-posix (Comment): Likewise.
69825         * modules/vsprintf-posix (Comment): Likewise.
69826         * modules/xprintf-posix (Comment): Likewise.
69827         * modules/xvasprintf-posix (Comment): Likewise.
69828         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
69829         * modules/floorf-tests (Depends-on): Likewise.
69830         * modules/round-tests (Depends-on): Likewise.
69831         * modules/roundf-tests (Depends-on): Likewise.
69832         * modules/trunc-tests (Depends-on): Likewise.
69833         * modules/truncf-tests (Depends-on): Likewise.
69834         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
69835         'fprintf-posix' module is not present.
69836         * tests/test-floorf2.c (check): Likewise.
69837         * tests/test-trunc2.c (check): Likewise.
69838         * tests/test-truncf2.c (check): Likewise.
69839         * tests/test-round2.c (equal): Likewise.
69840         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69842 2010-04-07  Karl Berry  <karl@gnu.org>
69844         * config/srclist.txt,
69845         * config/srclistvars.sh,
69846         * config/srclist-update: doc fixes.
69848 2010-04-07  Jim Meyering  <meyering@redhat.com>
69850         maint.mk: add a PATH crosschecking syntax-check rule
69851         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
69852         Useful if you use a test like the one in help-version (coreutils,
69853         diffutils, grep, gzip) that ensures $(VERSION) matches what is
69854         printed by prog --version.
69856 2010-04-06  Bruno Haible  <bruno@clisp.org>
69858         Fix link error on mingw.
69859         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
69860         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
69862 2010-04-06  Bruno Haible  <bruno@clisp.org>
69864         Assume rmdir exists.
69865         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
69867 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
69869         doc: update users.txt
69870         * users.txt: Add gcal.
69872 2010-04-06  Jim Meyering  <meyering@redhat.com>
69874         init.sh: simply unset TMPDIR rather than risking env -i
69875         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
69876         although it probably works fine on all Unix-based systems, some
69877         systems (Cygwin?) cannot tolerate a totally cleared environment.
69878         Suggestion from Eric Blake.
69880 2010-04-06  Jim Meyering  <meyering@redhat.com>
69882         init.sh: portability fix: use env's POSIX-specified -i option not -u
69883         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
69884         than unportable env -u.  Solaris 5.11's env lacks support for -u.
69886 2010-04-05  Bruno Haible  <bruno@clisp.org>
69888         btowc: Work around Cygwin 1.7.2 bug.
69889         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
69890         does not map NUL to 0.
69891         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
69893 2010-04-05  Bruno Haible  <bruno@clisp.org>
69895         Make the multithread modules work on Cygwin 1.7.2.
69896         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
69897         imported symbols can be declared weak, so that it returns "no" on
69898         Cygwin 1.7.2.
69900 2010-04-05  Bruno Haible  <bruno@clisp.org>
69902         Use the module 'strncat'.
69903         * modules/unistr/u8-strncat (Depends-on): Add strncat.
69905         Tests for module 'strncat'.
69906         * modules/strncat-tests: New file.
69907         * tests/test-strncat.c: New file.
69909         New module 'strncat'.
69910         * lib/string.in.h (strncat): New declaration.
69911         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
69912         * m4/strncat.m4: New file, based on m4/memchr.m4.
69913         * modules/strncat: New file.
69914         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
69915         is declared.
69916         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
69917         REPLACE_STRNCAT.
69918         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
69919         REPLACE_STRNCAT.
69920         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
69921         module.
69922         * tests/test-string-c++.cc: Check signature of strncat.
69924 2010-04-05  Jim Meyering  <meyering@redhat.com>
69926         xstrtoumax-tests: convert to use init.sh
69927         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
69928         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69929         Use Exit, not exit.
69930         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69932         xstrtoimax-tests: convert to use init.sh
69933         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
69934         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69935         Use Exit, not exit.
69936         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69938 2010-04-05  Bruno Haible  <bruno@clisp.org>
69940         sys_socket: Avoid #define replacements in C++ mode.
69941         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
69942         warning to the function if possible, rather than #defining the symbol
69943         to a dysfunctional alias.
69945 2010-04-05  Bruno Haible  <bruno@clisp.org>
69947         fseeko: Fix C++ test error on mingw.
69948         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
69949         gl_FUNC_FSEEKO.
69950         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
69951         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
69952         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
69953         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
69955 2010-04-05  Bruno Haible  <bruno@clisp.org>
69957         duplocale: Improve test output.
69958         * tests/test-duplocale.c (main): Print reason for skipped test.
69960 2010-04-05  Bruno Haible  <bruno@clisp.org>
69962         Assume rmdir exists.
69963         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
69964         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
69966 2010-04-05  Bruno Haible  <bruno@clisp.org>
69968         Fix link error on Solaris 8 with cc.
69969         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
69971 2010-04-05  Bruno Haible  <bruno@clisp.org>
69973         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69974         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
69976 2010-04-05  Bruno Haible  <bruno@clisp.org>
69978         vasprintf: Update documentation.
69979         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
69981 2010-04-05  Bruno Haible  <bruno@clisp.org>
69983         ptsname: Improve test.
69984         * tests/test-ptsname.c (main): Also try the various master names of BSD
69985         systems.
69987 2010-04-05  Bruno Haible  <bruno@clisp.org>
69989         memchr: Avoid a possible C++ test error.
69990         * lib/string.in.h (memchr): Provide declaration if function is missing.
69991         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
69992         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
69993         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
69994         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
69996 2010-04-05  Bruno Haible  <bruno@clisp.org>
69998         strtok_r: Improve idiom.
69999         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
70000         AC_LIBOBJ is used.
70002 2010-04-05  Bruno Haible  <bruno@clisp.org>
70004         strdup: Improve idiom.
70005         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
70006         AC_LIBOBJ is used.
70007         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
70008         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
70009         when AC_LIBOBJ is used.
70011 2010-04-05  Bruno Haible  <bruno@clisp.org>
70013         mbsinit, mbrtowc, wcrtomb: Improve idioms.
70014         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
70015         don't set REPLACE_MBSINIT to 1.
70016         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
70017         don't set REPLACE_MBRTOWC to 1.
70018         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
70019         exist, don't set REPLACE_MBSRTOWCS to 1.
70020         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
70021         exist, don't set REPLACE_MBSNRTOWCS to 1.
70022         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
70023         don't set REPLACE_WCRTOMB to 1.
70024         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
70025         exist, don't set REPLACE_WCSRTOMBS to 1.
70026         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
70027         exist, don't set REPLACE_WCSNRTOMBS to 1.
70029 2010-04-05  Bruno Haible  <bruno@clisp.org>
70031         ldexpl: Improve idiom.
70032         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
70033         make sure to set HAVE_DECL_LDEXPL to 0.
70035 2010-04-05  Jim Meyering  <meyering@redhat.com>
70037         xstrtol-tests: convert to use init.sh
70038         * modules/xstrtol-tests (Files): Add tests/init.sh.
70039         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70040         Use Exit, not exit.
70041         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70043         atexit-tests: convert to use init.sh
70044         * modules/atexit-tests (Files): Add tests/init.sh.
70045         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
70046         Use Exit, not exit.
70047         Remove uses of $EXEEXT and "./" to run a program in the current dir.
70049         init.sh: fix typo
70050         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
70052         init.sh: make it easier for a test script to write to the tty, ...
70053         when using automake's parallel-tests mode.
70054         * tests/init.sh (stderr_fileno_): Define overridable variable.
70055         (warn_): New function, to use it.
70056         (fail_, skip_, framework_failure_): Use warn_.
70058 2010-04-04  Bruno Haible  <bruno@clisp.org>
70060         btowc: Avoid warning.
70061         * lib/btowc.c: Include <stdlib.h>.
70062         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
70064 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70065             Bruno Haible  <bruno@clisp.org>
70067         wchar: Port to NetBSD 1.5.
70068         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
70069         * lib/wctype.in.h (WEOF): Likewise.
70071 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
70072             Bruno Haible  <bruno@clisp.org>
70074         Port extended stdio to NetBSD 1.5.
70075         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
70076         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
70077         older.
70079 2010-04-04  Bruno Haible  <bruno@clisp.org>
70081         string: Remove unused substitution.
70082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70083         HAVE_DECL_STRERROR.
70084         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
70086 2010-04-04  Bruno Haible  <bruno@clisp.org>
70088         strtod: Avoid a possible C++ test error.
70089         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
70090         set REPLACE_STRTOD.
70092 2010-04-04  Bruno Haible  <bruno@clisp.org>
70094         strerror: Update documentation.
70095         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
70097 2010-04-04  Bruno Haible  <bruno@clisp.org>
70099         stdio: Fix some C++ test errors on Solaris 8 with GCC.
70100         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
70101         _GL_CXXALIAS_SYS_CAST.
70103 2010-04-04  Bruno Haible  <bruno@clisp.org>
70105         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
70106         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
70107         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
70108         REPLACE_FREXPL to 1.
70109         * doc/posix-functions/frexpl.texi: Update documentation.
70111 2010-04-04  Bruno Haible  <bruno@clisp.org>
70113         math: Fix some C++ test errors on Solaris 8 and Cygwin.
70114         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
70116 2010-04-04  Bruno Haible  <bruno@clisp.org>
70118         Implement nanosleep for native Windows.
70119         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
70121 2010-04-04  Bruno Haible  <bruno@clisp.org>
70123         math: Fix some C++ test errors on Solaris 8.
70124         * lib/math.in.h (truncf, trunc): Use simpler idiom.
70126 2010-04-04  Bruno Haible  <bruno@clisp.org>
70128         math: Fix some C++ test errors on Cygwin.
70129         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
70130         truncl): Provide declaration if the system does not have it.
70131         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
70132         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
70133         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
70134         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
70135         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
70136         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
70137         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
70138         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
70139         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
70140         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
70141         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
70142         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
70143         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
70144         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
70145         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
70146         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
70147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
70148         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70149         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70150         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
70151         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
70152         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
70154 2010-04-04  Bruno Haible  <bruno@clisp.org>
70156         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
70157         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
70158         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
70159         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
70160         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
70161         * m4/isinf.m4 (gl_ISINF): Likewise.
70162         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
70164 2010-04-04  Bruno Haible  <bruno@clisp.org>
70166         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
70167         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
70169 2010-04-04  Bruno Haible  <bruno@clisp.org>
70171         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
70172         * modules/tmpfile (configure.ac): Update.
70174         tmpfile: Fix C++ test error on mingw.
70175         * lib/stdio.in.h (tmpfile): New declaration.
70176         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
70177         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
70178         * modules/tmpfile (Depends-on): Add stdio.
70179         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70180         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
70181         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
70182         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
70183         REPLACE_TMPFILE.
70184         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
70186 2010-04-04  Bruno Haible  <bruno@clisp.org>
70188         ioctl: Fix C++ test error on mingw.
70189         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
70190         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
70191         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
70193 2010-04-03  Bruno Haible  <bruno@clisp.org>
70195         wcwidth: Fix C++ test error on mingw.
70196         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
70197         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
70198         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
70200 2010-04-03  Bruno Haible  <bruno@clisp.org>
70202         nanosleep: Fix C++ test error on mingw.
70203         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
70204         * lib/time.in.h (nanosleep): Use modern idiom.
70205         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
70206         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
70207         REPLACE_NANOSLEEP to 1.
70208         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
70209         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
70211 2010-04-03  Bruno Haible  <bruno@clisp.org>
70213         strptime: Fix C++ test error on mingw.
70214         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
70215         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
70216         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
70217         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
70218         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
70219         not REPLACE_STRPTIME.
70220         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
70221         REPLACE_STRPTIME.
70223 2010-04-03  Bruno Haible  <bruno@clisp.org>
70225         timegm: Fix C++ test error on mingw.
70226         * lib/time.in.h (timegm): Use modern idiom.
70227         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
70228         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
70229         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
70230         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
70232 2010-04-03  Bruno Haible  <bruno@clisp.org>
70234         timegm: Assume declaration if function exists.
70235         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
70236         if it exists. Don't clobber ac_cv_func_timegm.
70238 2010-04-03  Bruno Haible  <bruno@clisp.org>
70240         time_r: Fix C++ test error on mingw.
70241         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
70242         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
70243         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
70244         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
70245         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
70247 2010-04-03  Bruno Haible  <bruno@clisp.org>
70249         time_r: Minor updates.
70250         * modules/time_r (Description): Mention the provided functions.
70251         * lib/time_r.c: Don't include <string.h>.
70252         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
70253         * doc/posix-functions/localtime_r.texi: Likewise.
70255 2010-04-03  Bruno Haible  <bruno@clisp.org>
70257         time: Fix regression introduced on 2010-03-08.
70258         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
70259         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
70261 2010-04-03  Jim Meyering  <meyering@redhat.com>
70263         maint.mk: don't silently disable project-specific syntax-check rules
70264         * top/maint.mk (_prohibit_regexp): Define, to help people realize
70265         that they need to convert their project-specific syntax-check rules
70266         to use the new _sc_search_regexp.
70268 2010-04-03  Bruno Haible  <bruno@clisp.org>
70270         fchdir: Fix regression introduced on 2010-03-08.
70271         * lib/unistd.in.h (fchdir): Fix declaration.
70272         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
70273         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
70274         REPLACE_FCHDIR.
70275         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
70276         REPLACE_FCHDIR.
70278 2010-04-03  Bruno Haible  <bruno@clisp.org>
70280         getpagesize: Fix C++ test error on mingw.
70281         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
70282         system does not declare the function.
70283         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
70284         declared.
70285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70286         HAVE_DECL_GETPAGESIZE.
70287         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
70289 2010-04-03  Bruno Haible  <bruno@clisp.org>
70291         stdio: Make C++ tests work on mingw.
70292         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
70293         does not declare the function.
70295 2010-04-03  Bruno Haible  <bruno@clisp.org>
70297         ftello: Fix C++ test error on mingw.
70298         * lib/stdio.in.h (ftello): Use modern idiom.
70299         * lib/ftello.c (ftello): Renamed from rpl_ftello.
70300         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
70301         is missing and that it needs to be replaced.
70302         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
70303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
70304         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
70306 2010-04-03  Bruno Haible  <bruno@clisp.org>
70308         fseeko: Fix C++ test error on mingw.
70309         * lib/stdio.in.h (fseeko): Use modern idiom.
70310         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
70311         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
70312         is missing and that it needs to be replaced.
70313         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
70314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
70315         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
70317 2010-04-03  Bruno Haible  <bruno@clisp.org>
70319         mkstemp: Fix C++ test error on mingw.
70320         * lib/stdlib.in.h (mkstemp): Use modern idiom.
70321         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
70322         function is missing and that it needs to be replaced.
70323         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
70324         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
70326 2010-04-03  Bruno Haible  <bruno@clisp.org>
70328         stpncpy: Fix C++ test error on mingw.
70329         * lib/string.in.h (stpncpy): Use modern idiom.
70330         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
70331         function is missing and that it needs to be replaced.
70332         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70333         REPLACE_STPNCPY.
70334         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
70336 2010-04-03  Bruno Haible  <bruno@clisp.org>
70338         sys_stat: Fix C++ test error on mingw.
70339         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
70340         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
70342 2010-04-03  Bruno Haible  <bruno@clisp.org>
70344         pty: Update doc.
70345         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
70347 2010-04-03  Bruno Haible  <bruno@clisp.org>
70349         unistd: Fix C++ test error on mingw.
70350         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
70352 2010-04-03  Bruno Haible  <bruno@clisp.org>
70354         Update doc regarding mingw.
70355         * doc/glibc-functions/openpty.texi: Update regarding mingw.
70356         * doc/glibc-functions/login_tty.texi: Likewise.
70357         * doc/glibc-functions/forkpty.texi: Likewise.
70359 2010-04-03  Bruno Haible  <bruno@clisp.org>
70361         stdlib: Avoid compilation failure of c-strtold on mingw.
70362         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
70364 2010-04-03  Bruno Haible  <bruno@clisp.org>
70366         locale: Make C++ tests work on Cygwin and mingw.
70367         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
70368         cannot provide the function.
70369         Reported by Simon Josefsson.
70371 2010-04-03  Bruno Haible  <bruno@clisp.org>
70373         localename: Port to MacOS X 10.6.
70374         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
70375         memory layout of the locales in MacOS X 10.6 as well.
70376         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
70378 2010-04-02  Bruno Haible  <bruno@clisp.org>
70380         gnulib-tool: Ensure that long-running tests are executed last.
70381         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
70382         running tests after the one for the other tests.
70384 2010-04-02  Bruno Haible  <bruno@clisp.org>
70386         gnulib-tool: Ensure the tests in the main directory are executed first.
70387         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
70388         start with the current directory.
70390 2010-04-02  Bruno Haible  <bruno@clisp.org>
70392         Tests for module 'havelib', moved here from GNU gettext.
70393         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
70394         modifications.
70395         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
70396         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
70397         with modifications.
70398         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
70399         modifications.
70400         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
70401         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
70402         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
70403         with modifications.
70404         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
70405         with modifications.
70406         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
70407         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
70408         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
70409         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
70410         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
70411         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
70412         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
70413         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
70414         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
70415         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
70416         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
70417         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
70418         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
70419         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
70420         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
70421         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
70422         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
70423         with modifications.
70424         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
70425         with modifications.
70426         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
70427         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
70428         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
70429         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
70430         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
70431         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
70432         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
70433         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
70434         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
70435         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
70436         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
70437         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
70438         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
70439         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
70440         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
70441         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
70442         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
70443         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
70444         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
70445         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
70446         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
70447         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
70448         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
70449         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
70450         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
70451         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
70452         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
70453         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
70454         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
70455         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
70456         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
70457         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
70458         * tests/havelib/rpathx/rpathx.c: New file, from
70459         gettext/autoconf-lib-link.
70460         * tests/havelib/rpathx/Makefile.am: New file, from
70461         gettext/autoconf-lib-link.
70462         * tests/havelib/rpathx/configure.ac: New file, from
70463         gettext/autoconf-lib-link with modifications.
70464         * tests/havelib/rpathy/rpathy.c: New file, from
70465         gettext/autoconf-lib-link.
70466         * tests/havelib/rpathy/Makefile.am: New file, from
70467         gettext/autoconf-lib-link.
70468         * tests/havelib/rpathy/configure.ac: New file, from
70469         gettext/autoconf-lib-link with modifications.
70470         * tests/havelib/rpathz/rpathz.c: New file, from
70471         gettext/autoconf-lib-link.
70472         * tests/havelib/rpathz/Makefile.am: New file, from
70473         gettext/autoconf-lib-link.
70474         * tests/havelib/rpathz/configure.ac: New file, from
70475         gettext/autoconf-lib-link with modifications.
70476         * tests/havelib/rpathlx/usex.c: New file, from
70477         gettext/autoconf-lib-link.
70478         * tests/havelib/rpathlx/Makefile.am: New file, from
70479         gettext/autoconf-lib-link.
70480         * tests/havelib/rpathlx/configure.ac: New file, from
70481         gettext/autoconf-lib-link with modifications.
70482         * tests/havelib/rpathly/usey.c: New file, from
70483         gettext/autoconf-lib-link.
70484         * tests/havelib/rpathly/Makefile.am: New file, from
70485         gettext/autoconf-lib-link.
70486         * tests/havelib/rpathly/configure.ac: New file, from
70487         gettext/autoconf-lib-link with modifications.
70488         * tests/havelib/rpathlz/usez.c: New file, from
70489         gettext/autoconf-lib-link.
70490         * tests/havelib/rpathlz/Makefile.am: New file, from
70491         gettext/autoconf-lib-link.
70492         * tests/havelib/rpathlz/configure.ac: New file, from
70493         gettext/autoconf-lib-link with modifications.
70494         * tests/havelib/rpathlyx/usey.c: New file, from
70495         gettext/autoconf-lib-link.
70496         * tests/havelib/rpathlyx/Makefile.am: New file, from
70497         gettext/autoconf-lib-link.
70498         * tests/havelib/rpathlyx/configure.ac: New file, from
70499         gettext/autoconf-lib-link with modifications.
70500         * tests/havelib/rpathlzyx/usez.c: New file, from
70501         gettext/autoconf-lib-link.
70502         * tests/havelib/rpathlzyx/Makefile.am: New file, from
70503         gettext/autoconf-lib-link.
70504         * tests/havelib/rpathlzyx/configure.ac: New file, from
70505         gettext/autoconf-lib-link with modifications.
70506         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
70507         with modifications.
70509 2010-04-02  Bruno Haible  <bruno@clisp.org>
70511         gnulib-tool: Create distributed built sources also for the tests.
70512         * gnulib-tool (func_create_testdir): Also generate distributed built
70513         sources in the tests directory.
70515 2010-04-02  Bruno Haible  <bruno@clisp.org>
70517         gnulib-tool: Obey user's environment variables.
70518         * gnulib-tool (func_create_testdir): When creating built sources,
70519         respect the environment variables for autoconf, automake, etc. given by
70520         the user.
70522 2010-04-02  Bruno Haible  <bruno@clisp.org>
70524         gnulib-tool: Provide the value of --m4-base to modules.
70525         * gnulib-tool (func_import, func_create_testdir): Emit a definition
70526         of gl_m4_base.
70528 2010-04-02  Eric Blake  <eblake@redhat.com>
70530         maint.mk: fix some fallout
70531         * NEWS: Document the incompatible change, and its effect on cfg.mk.
70532         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
70534 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70536         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
70537         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
70538         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
70539         (sc_cast_of_x_alloc_return_value): Likewise.
70540         (sc_cast_of_alloca_return_value): Likewise.
70541         (sc_space_tab): Likewise.
70542         (sc_prohibit_atoi_atof): Likewise.
70543         (sc_prohibit_magic_number_exit): Likewise.
70544         (sc_error_exit_success): Likewise.
70545         (sc_file_system): Likewise.
70546         (sc_prohibit_have_config_h): Likewise.
70547         (sc_require_config_h): Likewise.
70548         (sc_prohibit_HAVE_MBRTOWC): Likewise.
70549         (sc_obsolete_symbols): Likewise.
70550         (sc_changelog): Likewise.
70551         (sc_program_name): Likewise.
70552         (sc_the_the): Likewise.
70553         (sc_trailing_blank): Likewise.
70554         (sc_two_space_separator_in_usage): Likewise.
70555         (sc_useless_cpp_parens): Likewise.
70556         (sc_GPL_version): Likewise.
70557         (sc_GFDL_version): Likewise.
70558         (sc_texinfo_acronym): Likewise.
70559         (sc_prohibit_cvs_keyword): Likewise.
70560         (sc_prohibit_stat_st_blocks): Likewise.
70561         (sc_prohibit_S_IS_definition): Likewise.
70562         (sc_redundant_const): Likewise.
70563         (sc_makefile_TAB_only_indentation): Likewise.
70564         (sc_m4_quote_check): Likewise.
70565         (sc_makefile_path_separator_check): Likewise.
70566         (sc_copyright_check): Likewise.
70567         (sc_Wundef_boolean): Likewise.
70568         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
70570         maint.mk: match 0 or more whitespace-before-function-call '('
70571         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
70572         that have zero or two-and-more spaces between the function name
70573         and the open parenthesis.
70574         (sc_error_message_warn_fatal): Likewise.
70575         (sc_error_message_uppercase): Likewise.
70576         (sc_error_message_period): Likewise.
70578 2010-03-31  Eric Blake  <eblake@redhat.com>
70580         maint.mk: check for [ as well as test
70581         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
70582         Based on a libvirt report by Matthias Bolte.
70584         gnumakefile: don't squelch _version output
70585         * top/GNUmakefile (_version): Create one-shot dependency rather
70586         than using $(shell) when version must be regenerated.
70587         (_autoreconf): Run verbosely, by default.
70589         sys_time: avoid compiler warnings
70590         * lib/sys_time.in.h (includes): Ensure gcc pragma is
70591         unconditional, fixing regression from 2010-03-29.
70592         Reported by Simon Josefsson.
70594 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70596         maint.mk: s/_header_without_use/_sc_header_without_use/
70597         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
70598         (sc_prohibit_assert_without_use): Use the new name.
70599         (sc_prohibit_close_stream_without_use): Likewise.
70600         (sc_prohibit_getopt_without_use): Likewise.
70601         (sc_prohibit_quotearg_without_use): Likewise.
70602         (sc_prohibit_quote_without_use): Likewise.
70603         (sc_prohibit_long_options_without_use): Likewise.
70604         (sc_prohibit_inttostr_without_use): Likewise.
70605         (sc_prohibit_ignore_value_without_use): Likewise.
70606         (sc_prohibit_error_without_use): Likewise.
70607         (sc_prohibit_xalloc_without_use): Likewise.
70608         (sc_prohibit_hash_without_use): Likewise.
70609         (sc_prohibit_hash_pjw_without_use): Likewise.
70610         (sc_prohibit_safe_read_without_use): Likewise.
70611         (sc_prohibit_argmatch_without_use): Likewise.
70612         (sc_prohibit_canonicalize_without_use): Likewise.
70613         (sc_prohibit_root_dev_ino_without_use): Likewise.
70614         (sc_prohibit_openat_without_use): Likewise.
70615         (sc_prohibit_c_ctype_without_use): Likewise.
70616         (sc_prohibit_signal_without_use): Likewise.
70617         (sc_prohibit_intprops_without_use): Likewise.
70619 2010-03-30  Eric Blake  <eblake@redhat.com>
70621         maint: improve module indicators
70622         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
70623         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
70624         columns, and avoid extra macro expansion.
70626         fdopendir: work around FreeBSD bug
70627         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
70628         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
70629         * modules/dirent (Makefile.am): Substitute it.
70630         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
70631         declaration.
70632         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
70633         fix.
70634         Reported by Christian Weisgerber <naddy@mips.inka.de>.
70636 2010-03-29  Bruno Haible  <bruno@clisp.org>
70638         Emit #pragma system_header after the inclusion guard, not before.
70639         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
70640         guard that spans the entire file, not before. This enables an
70641         optimization in GCC's preprocessor.
70642         * lib/ctype.in.h: Likewise.
70643         * lib/dirent.in.h: Likewise.
70644         * lib/errno.in.h: Likewise.
70645         * lib/float.in.h: Likewise.
70646         * lib/getopt.in.h: Likewise.
70647         * lib/iconv.in.h: Likewise.
70648         * lib/langinfo.in.h: Likewise.
70649         * lib/locale.in.h: Likewise.
70650         * lib/math.in.h: Likewise.
70651         * lib/netdb.in.h: Likewise.
70652         * lib/netinet_in.in.h: Likewise.
70653         * lib/pty.in.h: Likewise.
70654         * lib/sched.in.h: Likewise.
70655         * lib/se-selinux.in.h: Likewise.
70656         * lib/search.in.h: Likewise.
70657         * lib/spawn.in.h: Likewise.
70658         * lib/stdarg.in.h: Likewise.
70659         * lib/stdint.in.h: Likewise.
70660         * lib/string.in.h: Likewise.
70661         * lib/strings.in.h: Likewise.
70662         * lib/sys_file.in.h: Likewise.
70663         * lib/sys_ioctl.in.h: Likewise.
70664         * lib/sys_time.in.h: Likewise.
70665         * lib/sys_times.in.h: Likewise.
70666         * lib/sys_utsname.in.h: Likewise.
70667         * lib/sys_wait.in.h: Likewise.
70668         * lib/sysexits.in.h: Likewise.
70669         * lib/wctype.in.h: Likewise.
70671 2010-03-28  James Youngman  <jay@gnu.org>
70673         save-cwd: don't leak a file descriptor when the caller execs.
70674         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
70675         saved file descriptor.
70676         * modules/save-cwd (Depends-on): Depend on cloexec.
70678 2010-03-29  Bruno Haible  <bruno@clisp.org>
70680         Remove vestiges of fts-lgpl module.
70681         * lib/fts_.h: Assume GNULIB_FTS is 1.
70682         * lib/fts.c: Likewise.
70683         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70685 2010-03-28  Bruno Haible  <bruno@clisp.org>
70687         Fix definition of tests witness macro.
70688         * gnulib-tool (func_import): Fix definition of witness macro.
70690 2010-03-28  Bruno Haible  <bruno@clisp.org>
70692         Fix ioctl's protoype on glibc systems.
70693         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
70694         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
70695         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
70696         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
70697         signature. If not, arrange to replace the ioctl function.
70698         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
70699         REPLACE_IOCTL.
70700         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
70701         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
70702         Reported by Ludovic Courtès <ludo@gnu.org>.
70704 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
70706         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
70707         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
70708         made it so grep -r --include=GLOB* ... did not work.
70710 2010-03-26  Jim Meyering  <meyering@redhat.com>
70711             Eric Blake  <eblake@redhat.com>
70713         maint.mk: prohibit use of test's -o and -a operators
70714         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
70716 2010-03-28  Bruno Haible  <bruno@clisp.org>
70718         Remove unused GNULIB_XYZ macro definitions.
70719         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
70720         invocation.
70722 2010-03-28  Bruno Haible  <bruno@clisp.org>
70724         Mark privileged tests modules.
70725         * modules/idpriv-drop-tests (Status): New section.
70726         * modules/idpriv-droptemp-tests (Status): New section.
70728 2010-03-28  Bruno Haible  <bruno@clisp.org>
70730         Split C++ tests into separate tests modules.
70731         * modules/dirent-c++-tests: New file, extracted from
70732         modules/dirent-tests.
70733         * modules/dirent-tests: Depend on it.
70734         * modules/fcntl-h-c++-tests: New file, extracted from
70735         modules/fcntl-h-tests.
70736         * modules/fcntl-h-tests: Depend on it.
70737         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
70738         * modules/glob-tests: Depend on it.
70739         * modules/iconv-h-c++-tests: New file, extracted from
70740         modules/iconv-h-tests.
70741         * modules/iconv-h-tests: Depend on it.
70742         * modules/langinfo-c++-tests: New file, extracted from
70743         modules/langinfo-tests.
70744         * modules/langinfo-tests: Depend on it.
70745         * modules/locale-c++-tests: New file, extracted from
70746         modules/locale-tests.
70747         * modules/locale-tests: Depend on it.
70748         * modules/math-c++-tests: New file, extracted from modules/math-tests.
70749         * modules/math-tests: Depend on it.
70750         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
70751         * modules/pty-tests: Depend on it.
70752         * modules/search-c++-tests: New file, extracted from
70753         modules/search-tests.
70754         * modules/search-tests: Depend on it.
70755         * modules/signal-c++-tests: New file, extracted from
70756         modules/signal-tests.
70757         * modules/signal-tests: Depend on it.
70758         * modules/spawn-c++-tests: New file, extracted from
70759         modules/spawn-tests.
70760         * modules/spawn-tests: Depend on it.
70761         * modules/stdio-c++-tests: New file, extracted from
70762         modules/stdio-tests.
70763         * modules/stdio-tests: Depend on it.
70764         * modules/stdlib-c++-tests: New file, extracted from
70765         modules/stdlib-tests.
70766         * modules/stdlib-tests: Depend on it.
70767         * modules/string-c++-tests: New file, extracted from
70768         modules/string-tests.
70769         * modules/string-tests: Depend on it.
70770         * modules/sys_ioctl-c++-tests: New file, extracted from
70771         modules/sys_ioctl-tests.
70772         * modules/sys_ioctl-tests: Depend on it.
70773         * modules/sys_select-c++-tests: New file, extracted from
70774         modules/sys_select-tests.
70775         * modules/sys_select-tests: Depend on it.
70776         * modules/sys_socket-c++-tests: New file, extracted from
70777         modules/sys_socket-tests.
70778         * modules/sys_socket-tests: Depend on it.
70779         * modules/sys_stat-c++-tests: New file, extracted from
70780         modules/sys_stat-tests.
70781         * modules/sys_stat-tests: Depend on it.
70782         * modules/sys_time-c++-tests: New file, extracted from
70783         modules/sys_time-tests.
70784         * modules/sys_time-tests: Depend on it.
70785         * modules/time-c++-tests: New file, extracted from modules/time-tests.
70786         * modules/time-tests: Depend on it.
70787         * modules/unistd-c++-tests: New file, extracted from
70788         modules/unistd-tests.
70789         * modules/unistd-tests: Depend on it.
70790         * modules/wchar-c++-tests: New file, extracted from
70791         modules/wchar-tests.
70792         * modules/wchar-tests: Depend on it.
70793         * modules/wctype-c++-tests: New file, extracted from
70794         modules/wctype-tests.
70795         * modules/wctype-tests: Depend on it.
70796         Reported by Simon Josefsson.
70798 2010-03-28  Bruno Haible  <bruno@clisp.org>
70800         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
70801         * gnulib-tool (func_exists_module): New function, extracted from
70802         func_verify_module.
70803         (func_verify_module): Use it.
70804         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
70805         'foo' only if 'foo' exists.
70806         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
70807         module.
70809 2010-03-28  Bruno Haible  <bruno@clisp.org>
70811         gnulib-tool: Add support for special categories of tests.
70812         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
70813         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
70814         (func_usage): Document them.
70815         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
70816         inc_unportable_tests, inc_all_tests): New variables.
70817         (func_acceptable): Consider these variables.
70818         (func_modules_transitive_closure): Make it work when the 'Status' field
70819         consists of multiple words.
70820         (func_import): Store and restore the values of inc_cxx_tests,
70821         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
70822         inc_all_tests in gnulib-comp.m4.
70823         (func_create_testdir): Set inc_all_tests to true.
70824         * doc/gnulib.texi (Extra tests modules): New section.
70825         Suggested by Jim Meyering.
70827 2010-03-28  Bruno Haible  <bruno@clisp.org>
70829         ansi-c++-opt: Allow turning off the C++ build by default.
70830         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
70831         gl_CXX_CHOICE_DEFAULT_NO is defined.
70832         Requested by Eric Blake.
70834 2010-03-28  Bruno Haible  <bruno@clisp.org>
70836         unistd: Avoid #define replacements in C++ mode.
70837         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
70838         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
70839         setsockopt, shutdown, select): In C++, attach a warning to the function
70840         if possible, rather than #defining the symbol to a dysfunctional alias.
70841         Reported by John W. Eaton <jwe@gnu.org>.
70843 2010-03-28  Bruno Haible  <bruno@clisp.org>
70845         Fix link errors on mingw.
70846         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
70847         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
70848         $(LIBSOCKET).
70849         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
70850         $(LIBSOCKET).
70852 2010-03-28  Bruno Haible  <bruno@clisp.org>
70853             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70855         lib-ignore: Determine different options for different compilers.
70856         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
70857         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
70858         Add comments.
70859         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
70860         * NEWS: Mention the change.
70862 2010-03-27  Bruno Haible  <bruno@clisp.org>
70864         Remove unused GNULIB_XYZ macro definitions.
70865         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70866         * modules/fseek (configure.ac): Likewise.
70867         * modules/ioctl (configure.ac): Likewise.
70868         * modules/open (configure.ac): Likewise.
70869         * modules/stdlib-safer (configure.ac): Likewise.
70871 2010-03-27  Bruno Haible  <bruno@clisp.org>
70873         Add a remark about certain modules.
70874         * modules/malloc (Comment): New section.
70875         * modules/realloc (Comment): Likewise.
70876         * modules/sigpipe (Comment): Likewise.
70878 2010-03-27  Bruno Haible  <bruno@clisp.org>
70880         Resolve conflict between the two kinds of module indicators.
70881         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
70882         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
70883         * modules/canonicalize (configure.ac): Invoke
70884         gl_MODULE_INDICATOR_FOR_TESTS.
70885         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
70886         GNULIB_XYZ.
70887         * tests/test-dirent-c++.cc: Likewise.
70888         * tests/test-dirent-safer.c: Likewise.
70889         * tests/test-dup2.c: Likewise.
70890         * tests/test-fchdir.c: Likewise.
70891         * tests/test-fcntl-h-c++.cc: Likewise.
70892         * tests/test-getopt.c: Likewise.
70893         * tests/test-getopt.h: Likewise.
70894         * tests/test-langinfo-c++.cc: Likewise.
70895         * tests/test-locale-c++.cc: Likewise.
70896         * tests/test-math-c++.cc: Likewise.
70897         * tests/test-pty-c++.cc: Likewise.
70898         * tests/test-search-c++.cc: Likewise.
70899         * tests/test-signal-c++.cc: Likewise.
70900         * tests/test-spawn-c++.cc: Likewise.
70901         * tests/test-stdio-c++.cc: Likewise.
70902         * tests/test-stdlib-c++.cc: Likewise.
70903         * tests/test-string-c++.cc: Likewise.
70904         * tests/test-sys_ioctl-c++.cc: Likewise.
70905         * tests/test-sys_select-c++.cc: Likewise.
70906         * tests/test-sys_socket-c++.cc: Likewise.
70907         * tests/test-sys_stat-c++.cc: Likewise.
70908         * tests/test-sys_time-c++.cc: Likewise.
70909         * tests/test-time-c++.cc: Likewise.
70910         * tests/test-unistd-c++.cc: Likewise.
70911         * tests/test-wchar-c++.cc: Likewise.
70912         * tests/uninorm/test-u8-nfc.c: Likewise.
70913         * tests/uninorm/test-u8-nfd.c: Likewise.
70914         * tests/uninorm/test-u8-nfkc.c: Likewise.
70915         * tests/uninorm/test-u8-nfkd.c: Likewise.
70916         * tests/uninorm/test-u16-nfc.c: Likewise.
70917         * tests/uninorm/test-u16-nfd.c: Likewise.
70918         * tests/uninorm/test-u16-nfkc.c: Likewise.
70919         * tests/uninorm/test-u16-nfkd.c: Likewise.
70920         * tests/uninorm/test-u32-nfc.c: Likewise.
70921         * tests/uninorm/test-u32-nfc-big.c: Likewise.
70922         * tests/uninorm/test-u32-nfd.c: Likewise.
70923         * tests/uninorm/test-u32-nfd-big.c: Likewise.
70924         * tests/uninorm/test-u32-nfkc.c: Likewise.
70925         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
70926         * tests/uninorm/test-u32-nfkd.c: Likewise.
70927         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
70928         * tests/uninorm/test-u32-normalize-big.c: Likewise.
70930 2010-03-27  Bruno Haible  <bruno@clisp.org>
70932         Distinguish two kinds of module indicators.
70933         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
70934         gl_MODULE_INDICATOR.
70935         (gl_MODULE_INDICATOR): New macro.
70936         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
70937         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
70938         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70939         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70940         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70941         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70942         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70943         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70944         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70945         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70946         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70947         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70948         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70949         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70950         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70951         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70952         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70953         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70954         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70955         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70956         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70957         * modules/cloexec (configure.ac): Likewise.
70958         * modules/getopt-gnu (configure.ac): Likewise.
70959         * modules/uninorm/u8-normalize (configure.ac): Likewise.
70960         * modules/uninorm/u16-normalize (configure.ac): Likewise.
70961         * modules/uninorm/u32-normalize (configure.ac): Likewise.
70962         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
70964 2010-03-27  Bruno Haible  <bruno@clisp.org>
70966         New module description field 'Comment'.
70967         * gnulib-tool: New option --extract-comment.
70968         (func_usage): Document it.
70969         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
70970         (func_get_comment): New function.
70971         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
70973 2010-03-27  Bruno Haible  <bruno@clisp.org>
70975         Addendum to 2010-02-07 commit.
70976         * gnulib-tool (func_usage): Document --extract-applicability option.
70978 2010-03-27  Bruno Haible  <bruno@clisp.org>
70980         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
70981         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
70982         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
70983         rather than link errors.
70985 2010-03-27  Bruno Haible  <bruno@clisp.org>
70987         Avoid side effects from tests-related modules on the compilation of lib.
70988         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
70989         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
70990         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
70991         parameter. Emit into AM_CPPFLAGS a definition of the designated C
70992         macro.
70993         (func_import): Define a witness macro. Assign it a value that depends
70994         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
70995         tests-related modules.
70996         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
70997         Reported by Jim Meyering.
70999 2010-03-27  Bruno Haible  <bruno@clisp.org>
71001         Factorize common .m4 code.
71002         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
71003         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
71004         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
71005         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
71006         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
71007         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
71008         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
71009         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
71010         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
71011         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
71012         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
71013         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
71014         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
71015         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
71016         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
71017         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
71018         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
71019         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
71020         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
71021         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
71022         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
71023         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
71024         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
71025         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
71026         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
71027         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
71028         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
71029         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
71030         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
71031         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
71032         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
71033         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
71035 2010-03-27  Bruno Haible  <bruno@clisp.org>
71037         Fix a compilation error on Cygwin with g++ >= 4.3.
71038         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
71039         if it is undefined or if we alias it to chmod.
71040         (lstat): Don't warn about the use of this function if it is undefined
71041         or if we alias it to stat.
71042         Reported by Simon Josefsson.
71044 2010-03-27  Bruno Haible  <bruno@clisp.org>
71046         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
71047         * modules/getlogin (configure.ac): Update.
71049         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
71050         * modules/getlogin_r (configure.ac): Update.
71052         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
71053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
71054         * modules/inet_ntop (configure.ac): Update.
71056         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
71057         * modules/inet_pton (configure.ac): Update.
71059         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
71060         * modules/mbslen (configure.ac): Update.
71062         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
71063         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
71064         * modules/forkpty (configure.ac): Update.
71065         * modules/openpty (configure.ac): Update.
71067 2010-03-26  Simon Josefsson  <simon@josefsson.org>
71069         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
71070         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
71072 2010-03-25  Eric Blake  <eblake@redhat.com>
71074         maint: use pragma consistently across replacement headers
71075         * lib/ctype.in.h (system_header): Hoist for consistent placement.
71076         * lib/dirent.in.h (system_header): Likewise.
71077         * lib/errno.in.h (system_header): Likewise.
71078         * lib/float.in.h (system_header): Likewise.
71079         * lib/getopt.in.h (system_header): Likewise.
71080         * lib/iconv.in.h (system_header): Likewise.
71081         * lib/inttypes.in.h (system_header): Likewise.
71082         * lib/langinfo.in.h (system_header): Likewise.
71083         * lib/locale.in.h (system_header): Likewise.
71084         * lib/math.in.h (system_header): Likewise.
71085         * lib/netdb.in.h (system_header): Likewise.
71086         * lib/netinet_in.in.h (system_header): Likewise.
71087         * lib/pty.in.h (system_header): Likewise.
71088         * lib/sched.in.h (system_header): Likewise.
71089         * lib/se-selinux.in.h (system_header): Likewise.
71090         * lib/search.in.h (system_header): Likewise.
71091         * lib/spawn.in.h (system_header): Likewise.
71092         * lib/stdarg.in.h (system_header): Likewise.
71093         * lib/stdint.in.h (system_header): Likewise.
71094         * lib/string.in.h (system_header): Likewise.
71095         * lib/strings.in.h (system_header): Likewise.
71096         * lib/sys_file.in.h (system_header): Likewise.
71097         * lib/sys_ioctl.in.h (system_header): Likewise.
71098         * lib/sys_socket.in.h (system_header): Likewise.
71099         * lib/sys_times.in.h (system_header): Likewise.
71100         * lib/sys_utsname.in.h (system_header): Likewise.
71101         * lib/sys_wait.in.h (system_header): Likewise.
71102         * lib/sysexits.in.h (system_header): Likewise.
71103         * lib/unistd.in.h (system_header): Likewise.
71104         * lib/wctype.in.h (system_header): Likewise.
71106         arpa/inet: fix mingw compilation warning
71107         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
71108         Reported by Matthew Bolte.
71110 2010-03-25  Bruno Haible  <bruno@clisp.org>
71112         Avoid collision between gnulib wrapper and libintl wrapper.
71113         * lib/printf.c (printf): Don't define if a printf wrapper is already
71114         defined in intl/printf.c.
71115         Reported by Michel Boaventura <michel@michelboaventura.com>.
71117 2010-03-25  Bruno Haible  <bruno@clisp.org>
71119         Use ANSI C.
71120         * lib/readutmp.h (getutent): Provide ANSI C prototype.
71122 2010-03-25  Bruno Haible  <bruno@clisp.org>
71124         Minor formatting changes.
71125         * lib/acosl.c: Insert space before function argument list.
71126         * lib/argz.c: Likewise.
71127         * lib/asinl.c: Likewise.
71128         * lib/expl.c: Likewise.
71129         * lib/gen-uni-tables.c: Likewise.
71130         * lib/gettext.h: Likewise.
71131         * lib/glthread/lock.h: Likewise.
71132         * lib/tanl.c: Likewise.
71133         * lib/uniname/uniname.c: Likewise.
71134         * tests/test-idpriv-drop.c: Likewise.
71135         * tests/test-idpriv-droptemp.c: Likewise.
71136         * tests/test-lock.c: Likewise.
71137         * tests/test-tls.c: Likewise.
71138         * lib/argp-help.c: Insert space before function-like macro argument
71139         list.
71140         * lib/memcmp.c: Likewise.
71141         * tests/test-base64.c: Likewise.
71142         * lib/localename.c: Insert space before sizeof's argument list.
71143         * lib/safe-alloc.h: Likewise.
71144         * lib/file-set.h: Insert space before macro argument list.
71145         * tests/test-argp.c: Likewise.
71146         * lib/argp-namefrob.h: Insert space before function parameter list.
71147         * lib/getaddrinfo.c: Likewise.
71148         * lib/netdb.in.h: Likewise.
71149         * lib/parse-duration.h: Likewise.
71150         * lib/parse-duration.c: Likewise.
71151         * lib/poll.c: Likewise.
71152         * lib/select.c: Likewise.
71153         * lib/trim.h: Likewise.
71154         * tests/test-usleep.c: Likewise.
71155         * lib/ldexpl.c: Insert space before function parameter list and before
71156         function argument list.
71157         * lib/logl.c: Likewise.
71158         * lib/sqrtl.c: Likewise.
71159         * lib/trim.c: Likewise.
71160         * lib/cosl.c: Use GNU style indentation. Insert space before function
71161         argument list.
71162         * lib/sinl.c: Likewise.
71163         * lib/tsearch.c: Insert space after 'for'.
71164         Reported by Jim Meyering.
71166 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
71168         * maint.mk (sc_Wundef_boolean): Check for the presence of the
71169         config header before grepping, as it's not present before
71170         autoreconf/configure are run.  Reported by Simon Josefsson.
71172 2010-03-23  Bruno Haible  <bruno@clisp.org>
71174         pt_chown: Make it work with automake < 1.11.
71175         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
71176         Reported by Simon Josefsson.
71178 2010-03-23  Bruno Haible  <bruno@clisp.org>
71180         pt_chown: Don't depend on GPLed modules.
71181         * lib/pt_chown.c: Don't include idpriv.h.
71182         (main): Don't drop privileges.
71183         * modules/pt_chown (Depends-on): Remove idpriv-drop.
71184         Reported by Simon Josefsson.
71186 2010-03-24  Simon Josefsson  <simon@josefsson.org>
71188         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
71189         suggestions from karl@freefriends.org (Karl Berry).
71191 2010-03-22  Eric Blake  <eblake@redhat.com>
71193         gethostname: further tweaks
71194         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
71195         are overriding gethostname.
71196         Suggested by Bruno Haible.
71198 2010-03-21  Bruno Haible  <bruno@clisp.org>
71200         Fix comments.
71201         * lib/forkpty.c (rpl_forkpty): Fix comment.
71202         * lib/openpty.c (rpl_openpty): Likewise.
71203         Reported by Eric Blake.
71205 2010-03-22  Eric Blake  <eblake@redhat.com>
71207         gethostname: fix build on mingw
71208         * lib/unistd.in.h (includes): Work around fact that mingw
71209         <winsock2.h> re-includes <unistd.h>, by avoiding any
71210         redeclarations if we are being included by <winsock2.h>.
71211         Reported by Matthias Bolte.
71213 2010-03-21  Bruno Haible  <bruno@clisp.org>
71215         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71216         * lib/forkpty.c (forkpty): New replacement function, from glibc with
71217         modifications.
71218         * lib/pty.in.h (forkpty): Update declaration. Add comments.
71219         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
71220         provide the replacement.
71221         * modules/forkpty (Depends-on): Add openpty, login_tty.
71222         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
71223         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
71224         * doc/glibc-functions/forkpty.texi: More supported platforms.
71225         * config/srclist.txt: Add forkpty.c (commented).
71227 2010-03-21  Bruno Haible  <bruno@clisp.org>
71229         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
71230         (Makefile.am): Verify that PTY_LIB is defined.
71232         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
71234 2010-03-21  Bruno Haible  <bruno@clisp.org>
71236         Tests for module 'login_tty'.
71237         * modules/login_tty-tests: New file.
71238         * tests/test-login_tty.c: New file.
71240         New module 'login_tty'.
71241         * lib/login_tty.c: New file.
71242         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
71243         * modules/login_tty: New file.
71244         * doc/glibc-functions/login_tty.texi: Mention the new module.
71246 2010-03-21  Bruno Haible  <bruno@clisp.org>
71248         login_tty: Documentation.
71249         * doc/glibc-functions/login_tty.texi: New file.
71250         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
71252 2010-03-21  Bruno Haible  <bruno@clisp.org>
71254         pty: Consistent macro naming.
71255         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
71256         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
71257         * modules/pty (configure.ac): Update.
71259 2010-03-21  Bruno Haible  <bruno@clisp.org>
71261         Tests for openpty: Make stricter.
71262         * tests/test-openpty.c (main): Add test of canonical processing and
71263         erase.
71264         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
71266         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71267         * lib/openpty.c (openpty): New replacement function.
71268         * lib/pty.in.h: Include <termios.h>.
71269         (openpty): Update declaration. Add comments.
71270         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
71271         is not declared, arrange to provide the replacement. Check for _getpty
71272         and posix_openpt.
71273         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
71274         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
71275         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
71276         * modules/pty-tests (test_pty_c___LDADD): New variable.
71277         * doc/glibc-functions/openpty.texi: More supported platforms.
71279 2010-03-21  Bruno Haible  <bruno@clisp.org>
71281         setenv: Tweaks.
71282         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
71283         the test program.
71284         * doc/posix-functions/setenv.texi: Update platforms list.
71286 2010-03-21  Bruno Haible  <bruno@clisp.org>
71288         New module 'unlockpt'.
71289         * lib/unlockpt.c: New file, from glibc with modifications.
71290         * m4/unlockpt.m4: New file.
71291         * modules/unlockpt: New file.
71292         * lib/stdlib.in.h (unlockpt): New declaration.
71293         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
71294         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
71295         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
71296         HAVE_UNLOCKPT.
71297         * doc/posix-functions/unlockpt.texi: Mention the new module.
71298         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
71299         * config/srclist.txt: Add unlockpt.c (commented).
71301 2010-03-21  Jim Meyering  <meyering@redhat.com>
71303         maint.mk: prohibit inclusion of "intprops.h" without use
71304         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
71306 2010-03-21  Bruno Haible  <bruno@clisp.org>
71308         New module 'grantpt'.
71309         * lib/grantpt.c: New file, from glibc with modifications.
71310         * m4/grantpt.m4: New file.
71311         * modules/grantpt: New file.
71312         * lib/stdlib.in.h (grantpt): New declaration.
71313         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
71314         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
71315         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
71316         HAVE_GRANTPT.
71317         * doc/posix-functions/grantpt.texi: Mention the new module.
71318         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
71319         * config/srclist.txt: Add grantpt.c (commented).
71321 2010-03-21  Bruno Haible  <bruno@clisp.org>
71323         New module 'pt_chown'.
71324         * lib/pt_chown.c: New file, from glibc with modifications.
71325         * lib/pty-private.h: New file, from glibc with modifications.
71326         * modules/pt_chown: New file.
71327         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
71329 2010-03-21  Bruno Haible  <bruno@clisp.org>
71331         Tests for module 'ptsname'.
71332         * modules/ptsname-tests: New file.
71333         * tests/test-ptsname.c: New file.
71335         New module 'ptsname'.
71336         * lib/ptsname.c: New file, from glibc with modifications.
71337         * m4/ptsname.m4: New file.
71338         * modules/ptsname: New file.
71339         * lib/stdlib.in.h (ptsname): New declaration.
71340         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
71341         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
71342         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
71343         HAVE_PTSNAME.
71344         * doc/posix-functions/ptsname.texi: Mention the new module.
71345         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
71346         * config/srclist.txt: Add ptsname.c (commented).
71348 2010-03-21  Bruno Haible  <bruno@clisp.org>
71350         Tests for module 'ttyname_r'.
71351         * modules/ttyname_r-tests: New file.
71352         * tests/test-ttyname_r.c: New file.
71354         New module 'ttyname_r'.
71355         * lib/ttyname_r.c: New file.
71356         * m4/ttyname_r.m4: New file.
71357         * modules/ttyname_r: New file.
71358         * lib/unistd.in.h (ttyname_r): New declaration.
71359         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
71360         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
71361         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
71362         HAVE_TTYNAME_R.
71363         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
71364         * doc/posix-functions/ttyname_r.texi: Mention the new module.
71366 2010-03-20  Bruno Haible  <bruno@clisp.org>
71368         signal: Undefine macro definitions in C++ mode.
71369         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
71370         sigfillset): Undefine macro definitions from the system header in C++
71371         mode.
71372         Reported by John W. Eaton <jwe@gnu.org>.
71374 2010-03-20  Bruno Haible  <bruno@clisp.org>
71376         Ensure no #include statements inside extern "C" { ... }.
71377         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
71378         contain #include statements.
71379         * lib/time.in.h: Likewise.
71381 2010-03-20  Bruno Haible  <bruno@clisp.org>
71383         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
71384         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
71385         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
71386         Reported by John W. Eaton <jwe@gnu.org>.
71388 2010-03-20  Bruno Haible  <bruno@clisp.org>
71390         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
71391         Reported by Jim Meyering.
71393 2010-03-20  Bruno Haible  <bruno@clisp.org>
71395         pipe: Set errno upon failure.
71396         * lib/pipe.h: Specify that when -1 is returned, errno is set.
71397         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
71398         errno value in error message.
71400 2010-03-20  Bruno Haible  <bruno@clisp.org>
71401             Jim Meyering  <meyering@redhat.com>
71403         lchown: Avoid "unused variable" warning.
71404         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
71406 2010-03-20  Bruno Haible  <bruno@clisp.org>
71408         Work around unlink() bug on MacOS X 10.5.6.
71409         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
71410         attempting to unlink a parent directory.
71411         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
71412         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
71413         activate for the replacement function.
71414         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
71416 2010-03-20  Bruno Haible  <bruno@clisp.org>
71418         Fix link errors on Solaris 8.
71419         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
71420         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
71422 2010-03-19  Jim Meyering  <meyering@redhat.com>
71424         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
71425         The _LIBC implementation of build_range_exp correctly honors the
71426         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
71427         However, the non-_LIBC implementation would ignore that syntax-bit
71428         flag and return REG_ERANGE unconditionally.
71429         This change makes it honor that flag.
71430         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
71431         Make two pointer parameters "const".
71432         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
71433         (parse_bracket_exp): Update caller.
71435         regex.m4: correct the reversed range endpoint ([b-a]) test
71436         * m4/regex.m4: When requiring that [b-a] evoke failure,
71437         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
71438         test pass once again for x86-based systems.
71440 2010-03-19  Bruno Haible  <bruno@clisp.org>
71442         scandir: Fix link error on Solaris 8.
71443         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
71444         macros.
71446 2010-03-19  Bruno Haible  <bruno@clisp.org>
71448         getusershell: Fix documentation.
71449         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
71450         module.
71451         * doc/glibc-functions/setusershell.texi: Likewise.
71453         getusershell: Provide declaration, missing on Solaris 9.
71454         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
71455         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
71456         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
71457         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
71458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
71459         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
71460         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
71461         HAVE_GETUSERSHELL.
71462         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
71464 2010-03-19  Bruno Haible  <bruno@clisp.org>
71466         wctype: Provide iswblank function.
71467         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
71468         exists and is fine.
71469         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
71470         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
71471         * tests/test-wctype.c (main): Re-enable the iswblank tests.
71472         * doc/posix-functions/iswblank.texi: Update.
71474 2010-03-19  Bruno Haible  <bruno@clisp.org>
71476         Tests of module 'pty' in C++ mode.
71477         * modules/pty-tests: New file.
71478         * tests/test-pty-c++.cc: New file.
71479         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71481 2010-03-19  Eric Blake  <eblake@redhat.com>
71483         logb: fix documentation
71484         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
71485         1.5 declaration bug.
71487         forkpty, openpty: prefer glibc's const-safe prototype
71488         * lib/forkpty.c (rpl_forkpty): New file.
71489         * lib/openpty.c (rpl_openpty): Likewise.
71490         * modules/forkpty (Files): Distribute it.
71491         * modules/openpty (Files): Likewise.
71492         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
71493         check...
71494         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
71495         replacement for non-const BSD signature.
71496         * modules/pty (Makefile.am): Substitute witnesses.
71497         * lib/pty.in.h (forkpty, openpty): Declare replacements.
71498         * tests/test-forkpty.c: Update signature check.
71499         * tests/test-openpty.c: Likewise.
71500         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
71501         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71503         forkpty, openpty: split functions into new modules
71504         * modules/pty (Makefile.am): Substitute new witnesses.
71505         (Libraries): Move library detection...
71506         * modules/forkpty: ...into new module.
71507         * modules/openpty: Another new module.
71508         * modules/pty-tests: Rename and split...
71509         * modules/forkpty-tests: ...to this...
71510         * modules/openpty-tests: ...and this.
71511         * tests/test-pty.c: Rename and split...
71512         * tests/test-forkpty.c: ...to this...
71513         * tests/test-openpty.c: ...and this.
71514         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
71515         (gl_PTY): Split library searching...
71516         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
71517         (gl_FORKPTY, gl_OPENPTY): New macros.
71518         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
71519         * NEWS: Mention the split.
71520         * MODULES.html.sh (Misc): Document the modules.
71521         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
71522         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71524         pty: improve replacement header
71525         * lib/pty.in.h: New file.
71526         * modules/pty (Files): Ship it.
71527         (Makefile.am): Always build replacement.
71528         * m4/pty.m4: Rename...
71529         * m4/pty_h.m4: ...to this.
71530         (gl_PTY): Modernize setting of witness macros; update check of
71531         forkpty to take proper advantage of cache.
71532         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
71534         getopt: avoid compiler warning
71535         * lib/getopt.c (attribute_hidden): Remove unused macro.
71537 2010-03-18  Bruno Haible  <bruno@clisp.org>
71539         Fix link errors on Solaris 8.
71540         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
71541         * modules/search-tests (test_search_c___LDADD): Likewise.
71542         * modules/signal-tests (test_signal_c___LDADD): Likewise.
71543         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
71544         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
71545         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
71546         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
71547         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
71548         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
71550 2010-03-18  Bruno Haible  <bruno@clisp.org>
71552         Fix bug introduced on 2010-03-14.
71553         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
71554         (gl_SPAWN_H): Require it.
71555         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
71556         Reported by Simon Josefsson.
71558 2010-03-18  Bruno Haible  <bruno@clisp.org>
71560         Fix typo introduced on 2009-12-31.
71561         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
71562         posix_spawn_file_actions_adddup2.
71564 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
71565         and Eric Blake  <eblake@redhat.com>
71567         test-vc-list-files-git: make more robust
71568         * tests/test-vc-list-files-git.sh: Unset problematic environment
71569         variables.  Chain commands together.
71571 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
71573         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
71574         `AC_CHECK_DECL' invocation.
71576 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
71578         * lib/inttostr.c (inttostr): Make sure the invocation of verify
71579         appears before executable statements. Suggested by Petr Sumbera
71580         <Petr.Sumbera@Sun.COM>.
71582 2010-03-14  Bruno Haible  <bruno@clisp.org>
71584         * tests/test-flock.c (test_exclusive): Comment out a test that causes
71585         portability problems. Instead use a simpler test.
71586         (main): Check that invalid arguments are rejected only on Linux.
71588 2010-03-14  Bruno Haible  <bruno@clisp.org>
71590         Fix bug introduced on 2009-12-31.
71591         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
71592         gl_PREREQ_SYS_H_WINSOCK2 always.
71593         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
71594         SYS_SOCKET_H variable.
71595         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
71596         Update comments.
71597         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
71598         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
71599         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
71600         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
71601         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
71603 2010-03-14  Bruno Haible  <bruno@clisp.org>
71605         Fix values returned by sinl, cosl.
71606         * lib/trigl.h: Add specification comments.
71607         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
71608         that combines the values from the precomputed table with the values of
71609         the Chebyshev polynomials.
71611 2010-03-14  Bruno Haible  <bruno@clisp.org>
71613         Fix compilation error when modules 'posix_spawn[p]' are not used.
71614         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
71615         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
71617 2010-03-14  Bruno Haible  <bruno@clisp.org>
71619         Fix compilation error on mingw when module 'time_r' is not used.
71620         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
71621         is 1.
71622         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
71623         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71624         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
71625         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
71627 2010-03-14  Bruno Haible  <bruno@clisp.org>
71629         Fix compilation error with Sun C.
71630         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
71631         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
71632         instead of GCC specific ULONG_LONG_MAX.
71633         * lib/xstrtoll.c: Likewise.
71634         * lib/xstrtoull.c: Likewise.
71636 2010-03-13  Bruno Haible  <bruno@clisp.org>
71638         Allow the user to disable C++ code and tests.
71639         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
71640         (gl_PROG_ANSI_CXX): Require it.
71642 2010-03-13  Bruno Haible  <bruno@clisp.org>
71644         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
71645         cases.
71647 2010-03-13  Bruno Haible  <bruno@clisp.org>
71649         Test that gnulib does not break the standard C++ headers.
71650         * tests/test-locale-c++2.cc: New file.
71651         * modules/locale-tests (Files): Add it.
71652         (Makefile.am): Compile it for test-locale-c++.
71653         * tests/test-math-c++2.cc: New file.
71654         * modules/math-tests (Files): Add it.
71655         (Makefile.am): Compile it for test-math-c++.
71656         * tests/test-signal-c++2.cc: New file.
71657         * modules/signal-tests (Files): Add it.
71658         (Makefile.am): Compile it for test-signal-c++.
71659         * tests/test-stdio-c++2.cc: New file.
71660         * modules/stdio-tests (Files): Add it.
71661         (Makefile.am): Compile it for test-stdio-c++.
71662         * tests/test-stdlib-c++2.cc: New file.
71663         * modules/stdlib-tests (Files): Add it.
71664         (Makefile.am): Compile it for test-stdlib-c++.
71665         * tests/test-string-c++2.cc: New file.
71666         * modules/string-tests (Files): Add it.
71667         (Makefile.am): Compile it for test-string-c++.
71668         * tests/test-time-c++2.cc: New file.
71669         * modules/time-tests (Files): Add it.
71670         (Makefile.am): Compile it for test-time-c++.
71671         Reported by John W. Eaton <jwe@gnu.org>.
71673 2010-03-13  Bruno Haible  <bruno@clisp.org>
71675         * gnulib-tool (func_usage): Clarify which options are available for
71676         --create-testdir and --create-megatestdir.
71678 2010-03-13  Bruno Haible  <bruno@clisp.org>
71680         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
71681         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
71682         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
71683         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
71684         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
71685         when appropriate.
71686         Reported by Jim Meyering.
71688 2010-03-12  Simon Josefsson  <simon@josefsson.org>
71690         * gnulib-tool (func_import): Explain origin of code.
71692 2010-03-12  Bruno Haible  <bruno@clisp.org>
71694         Fix problem with automake's definition of CXXLINK.
71695         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
71696         Reported by Simon Josefsson and Ludovic Courtès.
71698 2010-03-12  Bruno Haible  <bruno@clisp.org>
71700         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
71701         stable releases.
71703 2010-03-11  Bruno Haible  <bruno@clisp.org>
71705         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
71706         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
71707         whether the system provides one variant or multiple variants of the
71708         function.
71709         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
71710         C++ compilers.
71711         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
71712         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
71713         Reported by Jim Meyering.
71715 2010-03-09  Simon Josefsson  <simon@josefsson.org>
71717         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
71719 2010-03-08  Bruno Haible  <bruno@clisp.org>
71721         gnulib-tool: Add support for --libtool in --create-testdir.
71722         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
71723         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
71725 2010-03-08  Eric Blake  <eblake@redhat.com>
71727         gnulib-tool.texi: mention possibility of git submodule
71728         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
71729         submodules.
71730         * doc/.gitignore: Ignore another generated file.
71732 2010-03-08  Karl Berry  <karl@gnu.org>
71734         * doc/gnulib-tool.texi (VCS Issues): Mention third option
71735         of committing gnulib files while skipping others.
71737 2010-03-07  Bruno Haible  <bruno@clisp.org>
71739         Tests of module 'wctype' in C++ mode.
71740         * tests/test-wctype-c++.cc: New file.
71741         * modules/wctype-tests (Files): Add it and tests/signature.h.
71742         (Depends-on): Add ansi-c++-opt.
71743         (Makefile.am): Arrange to compile and run test-wctype-c++.
71745         Tests of module 'wchar' in C++ mode.
71746         * tests/test-wchar-c++.cc: New file.
71747         * modules/wchar-tests (Files): Add it and tests/signature.h.
71748         (Depends-on): Add ansi-c++-opt.
71749         (Makefile.am): Arrange to compile and run test-wchar-c++.
71750         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
71751         gl_MODULE_INDICATOR.
71753         Tests of module 'unistd' in C++ mode.
71754         * tests/test-unistd-c++.cc: New file.
71755         * modules/unistd-tests (Files): Add it and tests/signature.h.
71756         (Depends-on): Add ansi-c++-opt.
71757         (Makefile.am): Arrange to compile and run test-unistd-c++.
71758         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
71759         gl_MODULE_INDICATOR.
71761         Tests of module 'time' in C++ mode.
71762         * tests/test-time-c++.cc: New file.
71763         * modules/time-tests (Files): Add it and tests/signature.h.
71764         (Depends-on): Add ansi-c++-opt.
71765         (Makefile.am): Arrange to compile and run test-time-c++.
71766         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71768         Tests of module 'sys_time' in C++ mode.
71769         * tests/test-sys_time-c++.cc: New file.
71770         * modules/sys_time-tests (Files): Add it and tests/signature.h.
71771         (Depends-on): Add ansi-c++-opt.
71772         (Makefile.am): Arrange to compile and run test-sys_time-c++.
71773         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
71774         gl_MODULE_INDICATOR.
71776         Tests of module 'sys_stat' in C++ mode.
71777         * tests/test-sys_stat-c++.cc: New file.
71778         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
71779         (Depends-on): Add ansi-c++-opt.
71780         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
71781         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
71782         gl_MODULE_INDICATOR.
71784         Tests of module 'sys_socket' in C++ mode.
71785         * tests/test-sys_socket-c++.cc: New file.
71786         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
71787         (Depends-on): Add ansi-c++-opt.
71788         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
71789         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
71790         gl_MODULE_INDICATOR.
71792         Tests of module 'sys_select' in C++ mode.
71793         * tests/test-sys_select-c++.cc: New file.
71794         * modules/sys_select-tests (Files): Add it and tests/signature.h.
71795         (Depends-on): Add ansi-c++-opt.
71796         (Makefile.am): Arrange to compile and run test-sys_select-c++.
71797         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
71798         gl_MODULE_INDICATOR.
71800         Tests of module 'sys_ioctl' in C++ mode.
71801         * tests/test-sys_ioctl-c++.cc: New file.
71802         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
71803         (Depends-on): Add ansi-c++-opt.
71804         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
71805         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
71806         gl_MODULE_INDICATOR.
71808         Tests of module 'string' in C++ mode.
71809         * tests/test-string-c++.cc: New file.
71810         * modules/string-tests (Files): Add it and tests/signature.h.
71811         (Depends-on): Add ansi-c++-opt.
71812         (Makefile.am): Arrange to compile and run test-string-c++.
71813         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
71814         gl_MODULE_INDICATOR.
71816         Tests of module 'stdlib' in C++ mode.
71817         * tests/test-stdlib-c++.cc: New file.
71818         * modules/stdlib-tests (Files): Add it and tests/signature.h.
71819         (Depends-on): Add ansi-c++-opt.
71820         (Makefile.am): Arrange to compile and run test-stdlib-c++.
71821         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
71822         gl_MODULE_INDICATOR.
71824         Tests of module 'stdio' in C++ mode.
71825         * tests/test-stdio-c++.cc: New file.
71826         * modules/stdio-tests (Files): Add it and tests/signature.h.
71827         (Depends-on): Add ansi-c++-opt.
71828         (Makefile.am): Arrange to compile and run test-stdio-c++.
71829         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
71830         gl_MODULE_INDICATOR.
71832         Tests of module 'spawn' in C++ mode.
71833         * tests/test-spawn-c++.cc: New file.
71834         * modules/spawn-tests (Files): Add it and tests/signature.h.
71835         (Depends-on): Add ansi-c++-opt.
71836         (Makefile.am): Arrange to compile and run test-spawn-c++.
71837         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
71838         gl_MODULE_INDICATOR.
71840         Tests of module 'signal' in C++ mode.
71841         * tests/test-signal-c++.cc: New file.
71842         * modules/signal-tests (Files): Add it and tests/signature.h.
71843         (Depends-on): Add ansi-c++-opt.
71844         (Makefile.am): Arrange to compile and run test-signal-c++.
71845         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
71846         gl_MODULE_INDICATOR.
71848         Tests of module 'search' in C++ mode.
71849         * tests/test-search-c++.cc: New file.
71850         * modules/search-tests (Files): Add it and tests/signature.h.
71851         (Depends-on): Add ansi-c++-opt.
71852         (Makefile.am): Arrange to compile and run test-search-c++.
71853         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
71854         gl_MODULE_INDICATOR.
71856         Tests of module 'math' in C++ mode.
71857         * tests/test-math-c++.cc: New file.
71858         * modules/math-tests (Files): Add it and tests/signature.h.
71859         (Depends-on): Add ansi-c++-opt.
71860         (Makefile.am): Arrange to compile and run test-math-c++.
71861         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71863         Tests of module 'locale' in C++ mode.
71864         * tests/test-locale-c++.cc: New file.
71865         * modules/locale-tests (Files): Add it and tests/signature.h.
71866         (Depends-on): Add ansi-c++-opt.
71867         (Makefile.am): Arrange to compile and run test-locale-c++.
71868         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
71869         gl_MODULE_INDICATOR.
71871         Tests of module 'langinfo' in C++ mode.
71872         * tests/test-langinfo-c++.cc: New file.
71873         * modules/langinfo-tests (Files): Add it and tests/signature.h.
71874         (Depends-on): Add ansi-c++-opt.
71875         (Makefile.am): Arrange to compile and run test-langinfo-c++.
71876         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
71877         gl_MODULE_INDICATOR.
71879         Tests of module 'iconv-h' in C++ mode.
71880         * tests/test-iconv-h-c++.cc: New file.
71881         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
71882         (Depends-on): Add ansi-c++-opt.
71883         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
71885         Tests of module 'glob' in C++ mode.
71886         * tests/test-glob-c++.cc: New file.
71887         * modules/glob-tests (Files): Add it.
71888         (Depends-on): Add ansi-c++-opt.
71889         (Makefile.am): Arrange to compile and run test-glob-c++.
71891         Tests of module 'fcntl-h' in C++ mode.
71892         * tests/test-fcntl-h-c++.cc: New file.
71893         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
71894         (Depends-on): Add ansi-c++-opt.
71895         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
71896         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
71897         gl_MODULE_INDICATOR.
71899         Tests of module 'dirent' in C++ mode.
71900         * tests/test-dirent-c++.cc: New file.
71901         * modules/dirent-tests (Files): Add it and tests/signature.h.
71902         (Depends-on): Add ansi-c++-opt.
71903         (Makefile.am): Arrange to compile and run test-dirent-c++.
71904         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71905         gl_MODULE_INDICATOR.
71907         New module 'ansi-c++-opt'.
71908         * modules/ansi-c++-opt: New file.
71909         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
71911         Document C++ namespace mode.
71912         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
71914         wctype: Avoid #define replacements in C++ mode.
71915         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
71916         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
71917         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
71918         In C++, define a namespaced alias symbol.
71919         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
71920         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
71921         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
71922         rule.
71924         wchar: Avoid #define replacements in C++ mode.
71925         * lib/wchar.in.h: Include c++defs.h.
71926         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
71927         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
71928         symbol.
71929         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
71930         * modules/wchar (Depends-on): Add c++defs.
71931         (Makefile.am): Update wchar.h rule.
71933         unistd: Avoid #define replacements in C++ mode.
71934         * lib/unistd.in.h: Include c++defs.h.
71935         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
71936         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
71937         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
71938         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
71939         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
71940         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
71941         symbol.
71942         (environ): Update.
71943         * modules/unistd (Depends-on): Add c++defs.
71944         (Makefile.am): Update unistd.h rule.
71946         time: Avoid #define replacements in C++ mode.
71947         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
71948         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
71949         define a namespaced alias symbol.
71950         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
71951         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
71952         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
71953         * modules/time (Depends-on): Add c++defs, warn-on-use.
71954         (Makefile.am): Update time.h rule.
71955         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71956         * modules/nanosleep (configure.ac): Likewise.
71957         * modules/strptime (configure.ac): Likewise.
71958         * modules/timegm (configure.ac): Likewise.
71960         sys_time: Avoid #define replacements in C++ mode.
71961         * lib/sys_time.in.h: Include c++defs.h.
71962         (gettimeofday): In C++, define a namespaced alias symbol.
71963         * modules/sys_time (Depends-on): Add c++defs.
71964         (Makefile.am): Update sys/time.h rule.
71966         sys_stat: Avoid #define replacements in C++ mode.
71967         * lib/sys_stat.in.h: Include c++defs.h.
71968         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
71969         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
71970         namespaced alias symbol.
71971         In C++, define a namespaced alias symbol.
71972         * modules/sys_stat (Depends-on): Add c++defs.
71973         (Makefile.am): Update sys/stat.h rule.
71975         sys_socket: Avoid #define replacements in C++ mode.
71976         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
71977         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
71978         definitions also when the system has a <sys/socket.h>.
71979         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
71980         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
71981         In C++, define a namespaced alias symbol.
71982         * modules/sys_socket (Depends-on): Add c++defs.
71983         (Makefile.am): Update sys/socket.h rule.
71985         sys_select: Avoid #define replacements in C++ mode.
71986         * lib/sys_select.in.h: Include c++defs.h. Enable the function
71987         definitions also when the system has a <sys/select.h>.
71988         (select): In C++, define a namespaced alias symbol.
71989         * modules/sys_select (Depends-on): Add c++defs.
71990         (Makefile.am): Update sys/select.h rule.
71992         sys_ioctl: Avoid #define replacements in C++ mode.
71993         * lib/sys_ioctl.in.h: Include c++defs.h.
71994         (ioctl): In C++, define a namespaced alias symbol.
71995         * modules/sys_ioctl (Depends-on): Add c++defs.
71996         (Makefile.am): Update sys/ioctl.h rule.
71998         string: Avoid #define replacements in C++ mode.
71999         * lib/string.in.h: Include c++defs.h.
72000         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
72001         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
72002         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
72003         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
72004         strsignal, strverscmp): In C++, define a namespaced alias symbol.
72005         * modules/string (Depends-on): Add c++defs.
72006         (Makefile.am): Update string.h rule.
72008         stdlib: Avoid #define replacements in C++ mode.
72009         * lib/stdlib.in.h: Include c++defs.h.
72010         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
72011         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
72012         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
72013         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
72014         symbol.
72015         * modules/stdlib (Depends-on): Add c++defs.
72016         (Makefile.am): Update stdlib.h rule.
72018         stdio: Avoid #define replacements in C++ mode.
72019         * lib/stdio.in.h: Include c++defs.h.
72020         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
72021         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
72022         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
72023         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
72024         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
72025         namespaced alias symbol.
72026         * modules/stdio (Depends-on): Add c++defs.
72027         (Makefile.am): Update stdio.h rule.
72029         spawn: Avoid #define replacements in C++ mode.
72030         * lib/spawn.in.h: Include c++defs.h.
72031         (posix_spawn, posix_spawnp, posix_spawnattr_init,
72032         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
72033         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
72034         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
72035         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
72036         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
72037         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
72038         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
72039         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
72040         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
72041         In C++, define a namespaced alias symbol.
72042         * modules/spawn (Depends-on): Add c++defs.
72043         (Makefile.am): Update spawn.h rule.
72045         signal: Avoid #define replacements in C++ mode.
72046         * lib/signal.in.h: Include c++defs.h.
72047         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
72048         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
72049         namespaced alias symbol.
72050         * modules/signal (Depends-on): Add c++defs.
72051         (Makefile.am): Update signal.h rule.
72053         search: Avoid #define replacements in C++ mode.
72054         * lib/search.in.h: Include c++defs.h.
72055         (_gl_search_compar_fn, _gl_search_action_fn): New types.
72056         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
72057         symbol.
72058         * modules/search (Depends-on): Add c++defs.
72059         (Makefile.am): Update search.h rule.
72061         math: Avoid #define replacements in C++ mode.
72062         * lib/math.in.h: Include c++defs.h.
72063         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
72064         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
72065         trunc, truncl): In C++, define a namespaced alias symbol.
72066         * modules/math (Depends-on): Add c++defs.
72067         (Makefile.am): Update math.h rule.
72069         locale: Avoid #define replacements in C++ mode.
72070         * lib/locale.in.h: Include c++defs.h.
72071         (duplocale): In C++, define a namespaced alias symbol.
72072         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
72073         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
72074         * modules/locale (Depends-on): Add c++defs.
72075         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
72077         langinfo: Avoid #define replacements in C++ mode.
72078         * lib/langinfo.in.h: Include c++defs.h.
72079         (nl_langinfo): In C++, define a namespaced alias symbol.
72080         * modules/langinfo (Depends-on): Add c++defs.
72081         (Makefile.am): Update langinfo.h rule.
72083         iconv-h: Avoid #define replacements in C++ mode.
72084         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
72085         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
72086         symbol.
72087         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
72088         whenever iconv is present.
72089         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
72090         (Makefile.am): Update iconv.h rule.
72092         glob: Avoid #define replacements in C++ mode.
72093         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
72094         (_gl_glob_errfunc_fn): New type.
72095         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
72096         symbol.
72097         * modules/glob (Depends-on): Add c++defs, warn-on-use.
72098         (Makefile.am): Update glob.h rule.
72100         fcntl-h: Avoid #define replacements in C++ mode.
72101         * lib/fcntl.in.h: Include c++defs.h.
72102         (fcntl, open, openat): In C++, define a namespaced alias symbol.
72103         * modules/fcntl-h (Depends-on): Add c++defs.
72104         (Makefile.am): Update fcntl.h rule.
72106         dirent: Avoid #define replacements in C++ mode.
72107         * lib/dirent.in.h: Include c++defs.h.
72108         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
72109         namespaced alias symbol.
72110         (dirfd): Update declaration.
72111         * modules/dirent (Depends-on): Add c++defs.
72112         (Makefile.am): Update dirent.h rule.
72114         ctype: Make it usable in C++ code.
72115         * lib/ctype.in.h: Include c++defs.h.
72116         (isblank): Declare as extern "C".
72117         * modules/ctype (Depends-on): Add c++defs.
72118         (Makefile.am): Update ctype.h rule.
72120         New module 'c++defs'.
72121         * modules/c++defs: New file.
72122         * build-aux/c++defs.h: New file.
72123         Reported by John W. Eaton <jwe@gnu.org>.
72125 2010-03-07  Bruno Haible  <bruno@clisp.org>
72127         logb: Provide missing declaration for Cygwin.
72128         * lib/math.in.h (logb): New declaration.
72129         * m4/logb.m4: New file.
72130         * modules/logb (Files): Add m4/logb.m4.
72131         (Depends-on): Add math.
72132         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
72133         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
72134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
72135         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
72136         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
72138 2010-03-07  Bruno Haible  <bruno@clisp.org>
72140         Fix test-cond link error.
72141         * tests/test-cond.c: Include <stdio.h>.
72143 2010-03-07  Bruno Haible  <bruno@clisp.org>
72145         Fix test-dirent-safer link error.
72146         * modules/dirent-safer-tests (Makefile.am): Define
72147         test_dirent_safer_LDADD.
72149 2010-03-07  Bruno Haible  <bruno@clisp.org>
72151         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
72152         among default module list.
72154 2010-03-07  Bruno Haible  <bruno@clisp.org>
72156         Fix link error on platforms with GNU libiconv.
72157         * modules/unistr/u8-strcoll-tests (Makefile): Define
72158         test_u8_strcoll_LDADD.
72159         * modules/unistr/u16-strcoll-tests (Makefile): Define
72160         test_u16_strcoll_LDADD.
72161         * modules/unistr/u32-strcoll-tests (Makefile): Define
72162         test_u32_strcoll_LDADD.
72164 2010-03-07  Bruno Haible  <bruno@clisp.org>
72166         Use POSIX declarations for socket functions.
72167         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
72168         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
72169         rpl_sendto): Change declaration to match POSIX.
72170         * lib/connect.c (rpl_connect): Likewise.
72171         * lib/accept.c (rpl_accept): Likewise.
72172         * lib/bind.c (rpl_bind): Likewise.
72173         * lib/getpeername.c (rpl_getpeername): Likewise.
72174         * lib/getsockname.c (rpl_getsockname): Likewise.
72175         * lib/recv.c (rpl_recv): Likewise.
72176         * lib/send.c (rpl_send): Likewise.
72177         * lib/recvfrom.c (rpl_recvfrom): Likewise.
72178         * lib/sendto.c (rpl_sendto): Likewise.
72180 2010-03-06  Bruno Haible  <bruno@clisp.org>
72182         Clarify access, euidaccess, faccessat.
72183         * doc/posix-functions/faccessat.texi: Mention security problem under
72184         "Other problems", not "Portability problems".
72185         * doc/posix-functions/access.texi: Likewise. Mention a related security
72186         problem.
72187         * doc/glibc-functions/euidaccess.texi: Mention security problems.
72188         * lib/euidaccess.c: Add comments about platforms.
72189         * lib/unistd.in.h (access, euidaccess): Add warnings.
72191 2010-03-07  Bruno Haible  <bruno@clisp.org>
72193         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
72194         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
72195         (POSIX_SPAWN_SETSCHEDULER): Likewise.
72196         (POSIX_SPAWN_USEVFORK): Define in a way that works when
72197         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72198         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
72199         declare when POSIX_SPAWN_SETSCHEDULER is zero.
72200         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
72201         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
72202         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
72203         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
72204         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
72205         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
72206         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
72207         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
72208         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
72209         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
72210         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
72211         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
72212         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
72213         Likewise.
72214         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
72215         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
72216         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
72217         Likewise.
72218         * tests/test-spawn.c (main): Make it work when
72219         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72221 2010-03-07  Bruno Haible  <bruno@clisp.org>
72223         Fix incorrect Makefile.am generation in German locale.
72224         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72225         Execute sed command with character range in C locale.
72227 2010-03-06  Bruno Haible  <bruno@clisp.org>
72229         Tests for module 'iconv-h'.
72230         * modules/iconv-h-tests: New file.
72231         * tests/test-iconv-h.c: New file.
72233         New module 'iconv-h'.
72234         * modules/iconv-h: New file.
72235         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
72236         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
72237         (configure.ac): Remove gl_ICONV_H.
72238         (Makefile.am): Remove rule for iconv.h.
72240 2010-03-06  Bruno Haible  <bruno@clisp.org>
72242         More consistent naming of *.m4 files.
72243         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
72244         * modules/wctype (Files): Update.
72246         More consistent naming of *.m4 files.
72247         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
72248         * modules/wchar (Files): Update.
72250 2010-03-06  Jim Meyering  <meyering@redhat.com>
72252         euidaccess: relax license to LGPLv2+
72253         * modules/euidaccess (License): Relax to LGPLv2+.
72255 2010-03-06  Bruno Haible  <bruno@clisp.org>
72257         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
72258         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
72259         (Makefile.am): Augment lib_SOURCES instead.
72261 2010-03-04  Jim Meyering  <meyering@redhat.com>
72263         utime: remove obsolete module
72264         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
72265         unnecessary for years, and has been marked as obsolete for 10 months.
72266         * modules/utime: Remove file.
72267         * lib/utime.c: Remove file.
72268         * m4/utime.m4: Remove file.
72269         * m4/utimes-null.m4: Remove file.
72270         * doc/posix-functions/utime.texi (utime): Remove reference to
72271         the module.  Move the sole "fixed by gnulib" item into the
72272         "problems not fixed by Gnulib" list.
72273         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
72275 2010-03-05  Simon Josefsson  <simon@josefsson.org>
72277         * modules/exit (License): Relax license to LGPLv2+.
72278         (Status): Mark as obsolete.
72279         * NEWS: Mention deprecated 'exit' module.
72280         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
72281         of now obsolete 'exit'.
72283 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72285         fts-lgpl: remove unused module
72286         * modules/fts-lgpl: Remove.
72287         * MODULES.html.sh (func_all_modules): Adjust.
72288         * check-module (find_included_lib_files): Adjust.
72289         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
72291 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
72293         copy-acl: enhance Solaris ACL error handling
72294         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
72295         * lib/set-mode-acl.c (qset_acl): Likewise.
72297 2010-03-02  Bruno Haible  <bruno@clisp.org>
72299         spawn: Don't override the system defined values on FreeBSD 8.
72300         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
72301         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
72302         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
72303         if HAVE_POSIX_SPAWN is 1.
72304         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
72306 2010-03-01  Bruno Haible  <bruno@clisp.org>
72308         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
72309         regarding Automake.
72311 2010-02-25  Bruno Haible  <bruno@clisp.org>
72313         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
72314         * gnulib-tool: Define 'echo' as a function only before the ksh alias
72315         setting, not afterwards.
72316         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
72318 2010-02-24  Eric Blake  <eblake@redhat.com>
72320         bootstrap, git-version-gen: use timestamp
72321         * build-aux/git-version-gen (scriptversion): Force UTC.
72322         * build-aux/bootstrap (scriptversion): New variable.
72324         bootstrap: allow older git
72325         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
72326         older than 1.6.4.  Requested by the libvirt project.
72328 2010-02-23  Eric Blake  <eblake@redhat.com>
72330         warn-on-use: work with old autoconf
72331         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
72332         AS_VAR semantics of autoconf 2.60.
72333         Reported by Bruno Haible.
72335         bootstrap: improve some comments
72336         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
72337         clarification comments.
72339         gettimeofday: provide correct function
72340         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
72341         when replacement is declared, otherwise provide gettimeofday.
72342         Reported by Michael Goffioul.
72344 2010-02-23  Jim Meyering  <meyering@redhat.com>
72346         lib-ignore: relax license to "unlimited", not LGPLv2+
72347         * modules/lib-ignore (License): Relax to "unlimited".
72349 2010-02-23  Jim Meyering  <meyering@redhat.com>
72351         lib-ignore: relax license to LGPLv2+
72352         * modules/lib-ignore (License): Relax to LGPLv2+.
72354 2010-02-22  Eric Blake  <eblake@redhat.com>
72356         lseek: avoid bash 3.2 broken pipe bug
72357         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
72358         warning from bash 3.2.
72359         Reported by Ben Pfaff, with analysis from Bruno Haible.
72361         bootstrap: support non-FSF copyright holder
72362         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
72363         bootstrap.conf override of COPYRIGHT_HOLDER.
72364         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
72366         bootstrap: interoperate with gettext 0.14.1
72367         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
72369         bootstrap: allow for alternate submodule location
72370         * build-aux/bootstrap (gnulib_path): New variable; use instead of
72371         hardcoding submodule location.
72372         (gnulib_mk): Allow direct use of Makefile.am.
72374         bootstrap: use GNULIB_SRCDIR to reduce disk usage
72375         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
72376         rather than reconfiguring where the submodule points.
72378         gettimeofday: restore support for platforms that lack function
72379         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
72380         replacement if function is missing.
72381         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
72382         * modules/sys_time (Makefile.am): Substitute it.
72383         * lib/sys_time.in.h (gettimeofday): Check it.
72384         Reported by Michael Goffioul.
72386 2010-02-21  Bruno Haible  <bruno@clisp.org>
72388         * lib/stdio.in.h (obstack_printf): Fix typo.
72390 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
72392         vc-list-files: use bzr ls's -R option
72393         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
72394         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
72396 2010-02-21  Jim Meyering  <meyering@redhat.com>
72398         init.sh: fix EXEEXT shims to work also for names like test-prog
72399         * tests/init.sh: Re-exec a better shell, when needed.
72400         If the current shell lacks support for posix $(...), an init.sh-using
72401         test will now try to find a shell that supports that.  If EXEEXT is
72402         nonempty, we also require support for hyphen-in-alias-name and shell
72403         substitutions like ${var#glob}.  Failure to find such a shell results
72404         in a skipped test.
72406 2010-02-21  Bruno Haible  <bruno@clisp.org>
72408         Really work around "broken pipe" error message from bash 3.2.
72409         * gnulib-tool (func_reset_sigpipe): Remove function.
72410         (echo): In bash 3.2, define to a function that uses printf.
72411         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
72413 2010-02-20  Bruno Haible  <bruno@clisp.org>
72415         Restore support for automake 1.9.6 with autoconf 2.61.
72416         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
72417         Reported by James Youngman <jay@gnu.org>.
72419 2010-02-20  Bruno Haible  <bruno@clisp.org>
72421         Improve *printf warning condition.
72422         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
72423         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
72424         and the function is overridden due to SIGPIPE emulation.
72426 2010-02-20  Bruno Haible  <bruno@clisp.org>
72428         * lib/stdio.in.h: Tweak comments.
72430 2010-02-19  Bruno Haible  <bruno@clisp.org>
72432         Make it easier to find modules. New gnulib-tool option '--find'.
72433         * gnulib-tool: New option --find.
72434         (func_usage): Document it.
72435         (func_sanitize_modulelist): New function, extracted from
72436         func_all_modules.
72437         (func_all_modules): Invoke it.
72438         * doc/gnulib-tool.texi (Which modules?): New node.
72440 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
72442         * lib/sys_select.in.h: Provide select replacement even if
72443         sys/select.h exists on a system, for Interix.
72445 2010-02-18  Jim Meyering  <meyering@redhat.com>
72447         init.sh: don't use $(...) just yet
72448         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
72449         to accommodate e.g., Solaris' /bin/sh.
72451 2010-02-17  Bruno Haible  <bruno@clisp.org>
72453         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
72454         Reported by Ludovic Courtès <ludo@gnu.org>.
72456 2010-02-16  Simon Josefsson  <simon@josefsson.org>
72458         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
72459         linking with -lintl.
72461 2010-02-17  Simon Josefsson  <simon@josefsson.org>
72463         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
72464         if not provided by the system's netdb.h.  Reported by
72465         ludo@gnu.org (Ludovic Courtès).
72467 2010-02-15  Jim Meyering  <meyering@redhat.com>
72469         init.sh: improve portability and efficiency
72470         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
72471         "dummy" in a for loop.
72472         Use '!', not '^' to select the complement of a character set used
72473         in a "case" statement.
72474         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
72475         Suggestions from Eric Blake.
72477         init.sh: automatically accommodate programs with the .exe suffix
72478         Automatically arrange for an invocation of "prog" to execute the
72479         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
72480         may use the simpler "prog", yet still work when built on a system
72481         that requires specifying the added suffix.
72482         Do this by constructing a function named "prog" that invokes
72483         "prog.exe" for each .exe file in selected directories.
72484         * tests/init.sh (find_exe_basenames_): New function.
72485         (create_exe_shim_functions_): New function.
72486         (path_prepend_): Use it.
72488         maint.mk: mark syntax-check sc_*.m rules as .PHONY
72489         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
72490         "make -t syntax-check" doesn't create a ton of sc_*.m files.
72492 2010-02-14  Jim Meyering  <meyering@redhat.com>
72494         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
72495         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
72496         (sc_prohibit_hash_pjw_without_use): New rule.
72498         maint.mk: allow the default upload destination dir to be overridden
72499         * top/maint.mk (upload_dest_dir_): Define with a default that
72500         preserves the status quo.
72501         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
72502         Reported by Peter Simons.
72504         maint.mk: prohibit inclusion of "hash.h" without_use
72505         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
72507 2010-02-10  Jim Meyering  <meyering@redhat.com>
72509         maint.mk: prohibit inclusion of "ignore-value.h" without_use
72510         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
72512 2010-02-09  Eric Blake  <ebb9@byu.net>
72513         and Bruno Haible  <bruno@clisp.org>
72515         obstack-printf-posix: ensure declaration
72516         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
72517         extracted from gl_FUNC_OBSTACK_PRINTF.
72518         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
72519         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
72520         Likewise.
72521         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
72522         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
72523         0.
72525 2010-02-08  Bruno Haible  <bruno@clisp.org>
72527         gnulib-tool: Fix typo in 2010-02-07 commit.
72528         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
72529         Reported by Eric Blake.
72531 2010-02-07  Bruno Haible  <bruno@clisp.org>
72533         gnulib-tool: Fix up caching patches.
72534         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
72535         option --no-cache. Use associative arrays when supported by the shell.
72536         (sed_comments): New variable.
72537         (modcache): Renamed from do_cache.
72538         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
72539         abbreviate unnecessarily.
72540         (have_associative): New variable.
72541         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
72542         way also for ksh and zsh.
72543         (func_init_sed_convert_to_cache_statements): New function, extracted
72544         from func_cache_lookup_module. Add support for associative arrays.
72545         Don't set the c_MODULE_cached variable here. Ignore all lines before
72546         the first field header. Remove only the final newline, not all trailing
72547         newlines. Support empty fields correctly. Limit the use of 'eval' to
72548         assignments.
72549         (func_get_description, func_get_status, func_get_notice,
72550         func_get_applicability, func_get_filelist, func_get_dependencies,
72551         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
72552         func_get_automake_snippet, func_get_include_directive,
72553         func_get_link_directive, func_get_license, func_get_maintainer):
72554         Update documentation. List the unoptimized code first. Add support for
72555         associative arrays. Limit the use of 'eval' to assignments.
72556         (func_get_applicability): Undo stylistic pessimisations.
72557         (func_get_automake_snippet, func_get_include_directive): Reduce code
72558         duplication.
72559         (func_modules_transitive_closure, func_modules_add_dummy,
72560         func_modules_notice, func_modules_to_filelist, func_add_file,
72561         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
72562         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
72563         func_create_testdir, func_create_megatestdir): Update documentation.
72565 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72567         * gnulib-tool (func_cache_lookup_module): Store the module name
72568         belonging to the cache variable; error out if two different
72569         module names map to the same cache variable name.
72571 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72573         gnulib-tool: Make caching optional.
72574         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
72575         Update matching short versions of --no-changelog.
72576         (func_usage): Update.
72577         (sed_extract_cache_prog): Renamed from ...
72578         (sed_extract_prog): ... this; revert to old extraction script.
72579         (func_get_description, func_get_status)
72580         (func_get_notice, func_get_applicability, func_get_filelist)
72581         (func_get_dependencies, func_get_autoconf_early_snippet)
72582         (func_get_autoconf_snippet, func_get_automake_snippet)
72583         (func_get_include_directive, func_get_link_directive)
72584         (func_get_license, func_get_maintainer): If $do_cache is false,
72585         use old, non-caching extraction scripts.
72586         Suggestion by Bruno Haible.
72588 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72590         gnulib-tool: cache module metainformation.
72591         * gnulib-tool (sed_extract_prog): Match newline before each
72592         header, and rewrite header to a shell variable suffix.
72593         (func_cache_var, func_cache_lookup_module): New functions,
72594         to turn a module name into a cache variable prefix, and to
72595         look up and cache module metainformation.
72596         (func_get_description, func_get_status)
72597         (func_get_notice, func_get_applicability, func_get_filelist)
72598         (func_get_dependencies, func_get_autoconf_early_snippet)
72599         (func_get_autoconf_snippet, func_get_automake_snippet)
72600         (func_get_include_directive, func_get_link_directive)
72601         (func_get_license, func_get_maintainer): Use
72602         func_cache_lookup_module.
72604 2010-02-07  Bruno Haible  <bruno@clisp.org>
72606         fnctl: Fix missing dependency.
72607         * modules/fcntl (Depends-on): Add getdtablesize.
72608         Reported by John W. Eaton <jwe@gnu.org>.
72610 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72612         Argp: fix recognition of short alias options.
72614         * lib/argp-parse.c (convert_options): Fix improper use of
72615         `|' between character values.
72616         * tests/test-argp.c (group1_option): New alias option
72617         --read (-r).
72618         (group1_parser): Special handling for 'r'.
72619         (test15): New test case.
72620         (test_fun): Add test15.
72621         * tests/test-argp-2.sh: Update expected --help and --usage
72622         outputs.
72624 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72626         * tests/test-argp.c: Fix indentation.
72628 2010-02-04  Eric Blake  <ebb9@byu.net>
72630         gettimeofday: expose type of second argument
72631         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
72632         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
72633         * tests/test-gettimeofday.c: Use it to silence warning.
72634         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
72635         the issue.
72637 2010-02-03  Jim Meyering  <meyering@redhat.com>
72639         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
72640         * lib/regcomp.c (TYPE_SIGNED): Define.
72641         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
72643         regcomp.c: avoid a new -Wshadow warning
72644         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
72646 2010-02-01  Jim Meyering  <meyering@redhat.com>
72648         removing useless parentheses in cpp #define directives
72649         For motivation, see commit c0221df4, "define STREQ(a,b)
72650         consistently, removing useless parentheses"
72651         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
72652         * lib/mountlist.c (MNT_IGNORE): Likewise.
72653         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
72655 2010-02-01  Eric Blake  <ebb9@byu.net>
72657         sys_time: use link-warning
72658         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
72659         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
72660         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
72661         * modules/sys_time (Depends-on): Add warn-on-use.
72662         (Makefile.am): Always build replacement.
72663         (configure.ac): Update substitutions.
72664         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
72665         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
72666         bother with SYS_TIME_H.
72667         * modules/gettimeofday (configure.ac): Declare indicator.
72668         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
72669         in use.
72671         closein-tests: silence compiler warning
72672         * tests/test-closein.c (main): Ignore fread result.
72673         * modules/closein-tests (Depends-on): Add ignore-value.
72675         tests: silence warning about system return
72676         * tests/test-areadlink-with-size.c (main): Ignore system result.
72677         * tests/test-areadlink.c (main): Likewise.
72678         * tests/test-areadlinkat-with-size.c (main): Likewise.
72679         * tests/test-areadlinkat.c (main): Likewise.
72680         * tests/test-canonicalize-lgpl.c (main): Likewise.
72681         * tests/test-canonicalize.c (main): Likewise.
72682         * tests/test-chown.c (main): Likewise.
72683         * tests/test-fchownat.c (main): Likewise.
72684         * tests/test-fdutimensat.c (main): Likewise.
72685         * tests/test-fstatat.c (main): Likewise.
72686         * tests/test-futimens.c (main): Likewise.
72687         * tests/test-lchown.c (main): Likewise.
72688         * tests/test-link.c (main): Likewise.
72689         * tests/test-linkat.c (main): Likewise.
72690         * tests/test-lstat.c (main): Likewise.
72691         * tests/test-mkdir.c (main): Likewise.
72692         * tests/test-mkdirat.c (main): Likewise.
72693         * tests/test-mkfifo.c (main): Likewise.
72694         * tests/test-mkfifoat.c (main): Likewise.
72695         * tests/test-mknod.c (main): Likewise.
72696         * tests/test-readlink.c (main): Likewise.
72697         * tests/test-remove.c (main): Likewise.
72698         * tests/test-rename.c (main): Likewise.
72699         * tests/test-renameat.c (main): Likewise.
72700         * tests/test-rmdir.c (main): Likewise.
72701         * tests/test-symlink.c (main): Likewise.
72702         * tests/test-symlinkat.c (main): Likewise.
72703         * tests/test-unlink.c (main): Likewise.
72704         * tests/test-unlinkat.c (main): Likewise.
72705         * tests/test-utimens.c (main): Likewise.
72706         * tests/test-utimensat.c (main): Likewise.
72707         * modules/areadlink-tests (Depends-on): Add ignore-value.
72708         * modules/areadlink-with-size-tests (Depends-on): Likewise.
72709         * modules/areadlinkat-tests (Depends-on): Likewise.
72710         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
72711         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
72712         * modules/canonicalize-tests (Depends-on): Likewise.
72713         * modules/chown-tests (Depends-on): Likewise.
72714         * modules/fdutimensat-tests (Depends-on): Likewise.
72715         * modules/futimens-tests (Depends-on): Likewise.
72716         * modules/lchown-tests (Depends-on): Likewise.
72717         * modules/link-tests (Depends-on): Likewise.
72718         * modules/linkat-tests (Depends-on): Likewise.
72719         * modules/lstat-tests (Depends-on): Likewise.
72720         * modules/mkdir-tests (Depends-on): Likewise.
72721         * modules/mkfifo-tests (Depends-on): Likewise.
72722         * modules/mkfifoat-tests (Depends-on): Likewise.
72723         * modules/mknod-tests (Depends-on): Likewise.
72724         * modules/openat-tests (Depends-on): Likewise.
72725         * modules/readlink-tests (Depends-on): Likewise.
72726         * modules/remove-tests (Depends-on): Likewise.
72727         * modules/rename-tests (Depends-on): Likewise.
72728         * modules/renameat-tests (Depends-on): Likewise.
72729         * modules/rmdir-tests (Depends-on): Likewise.
72730         * modules/symlink-tests (Depends-on): Likewise.
72731         * modules/symlinkat-tests (Depends-on): Likewise.
72732         * modules/unlink-tests (Depends-on): Likewise.
72733         * modules/utimens-tests (Depends-on): Likewise.
72734         * modules/utimensat-tests (Depends-on): Likewise.
72736 2010-01-31  Bruno Haible  <bruno@clisp.org>
72738         Perform the same test for many <math.h> functions.
72739         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
72740         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
72741         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
72742         of gl_MATHFUNC.
72743         * modules/acos (configure.ac): Likewise.
72744         * modules/asin (configure.ac): Likewise.
72745         * modules/atan (configure.ac): Likewise.
72746         * modules/atan2 (configure.ac): Likewise.
72747         * modules/cbrt (configure.ac): Likewise.
72748         * modules/copysign (configure.ac): Likewise.
72749         * modules/cos (configure.ac): Likewise.
72750         * modules/cosh (configure.ac): Likewise.
72751         * modules/erf (configure.ac): Likewise.
72752         * modules/erfc (configure.ac): Likewise.
72753         * modules/exp (configure.ac): Likewise.
72754         * modules/fmod (configure.ac): Likewise.
72755         * modules/hypot (configure.ac): Likewise.
72756         * modules/j0 (configure.ac): Likewise.
72757         * modules/j1 (configure.ac): Likewise.
72758         * modules/jn (configure.ac): Likewise.
72759         * modules/lgamma (configure.ac): Likewise.
72760         * modules/log (configure.ac): Likewise.
72761         * modules/log10 (configure.ac): Likewise.
72762         * modules/log1p (configure.ac): Likewise.
72763         * modules/pow (configure.ac): Likewise.
72764         * modules/remainder (configure.ac): Likewise.
72765         * modules/sin (configure.ac): Likewise.
72766         * modules/sinh (configure.ac): Likewise.
72767         * modules/tan (configure.ac): Likewise.
72768         * modules/tanh (configure.ac): Likewise.
72769         * modules/y0 (configure.ac): Likewise.
72770         * modules/y1 (configure.ac): Likewise.
72771         * modules/yn (configure.ac): Likewise.
72772         Suggested by Paolo Bonzini.
72774 2010-01-31  Bruno Haible  <bruno@clisp.org>
72776         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
72778 2010-01-31  Bruno Haible  <bruno@clisp.org>
72780         Work around getdelim() bug on FreeBSD 8.0.
72781         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
72782         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
72783         not work.
72784         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
72785         is 1.
72786         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
72787         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
72788         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
72789         a non-zero size.
72790         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
72792 2010-01-31  Bruno Haible  <bruno@clisp.org>
72794         Work around getline() bug on FreeBSD 8.0.
72795         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
72796         and a non-zero size.
72797         * tests/test-getline.c (main): Likewise.
72798         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
72799         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
72801 2010-01-28  Eric Blake  <ebb9@byu.net>
72803         regex: fix build failure
72804         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
72805         platforms.
72807 2010-01-28  Jim Meyering  <meyering@redhat.com>
72809         regex: do not ignore memory allocation failure
72810         * lib/regex_internal.c (create_cd_newstate): Detect
72811         re_node_set_init_copy failure.   Extracted from glibc commit
72812         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72814         regex: sync more white-space changes from libc
72815         * lib/regex_internal.c: White-space only changes.
72816         * lib/regexec.c: Likewise.
72818         regex: add many uses of __attribute_warn_unused_result__
72819         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
72820         * lib/regexec.c: Likewise.
72821         Extracted from a messy glibc commit.
72823         regcomp.c: spelling and merge-artifact from glibc
72824         * lib/regcomp.c: Merge remainder of glibc's
72825         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72827         regcomp.c: sync white-space changes from glibc
72828         * lib/regcomp.c: Merge to accommodate white space
72829         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72831         regcomp.c: do not ignore internal return values
72832         * lib/regcomp.c: Do not ignore internal return values.
72833         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
72834         but without its white-space changes and spelling fixes.
72836         regex_internal.h: define __attribute_warn_unused_result__
72837         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
72839         maint: add a syntax-check rule to check for vulnerable Makefile.in
72840         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
72842 2010-01-27  Jim Meyering  <meyering@redhat.com>
72844         ncftpput-ftp: clean up spaces
72845         * build-aux/ncftpput-ftp: Make Copyright line consistent.
72846         Remove trailing blanks.
72848 2010-01-27  Simon Josefsson  <simon@josefsson.org>
72850         * build-aux/git-version-gen: Fix copyright statement.
72851         * build-aux/gnupload: Likewise.
72852         * tests/test-arcfour.c: Likewise.
72853         * tests/test-arctwo.c: Likewise.
72854         * tests/test-count-one-bits.c: Likewise.
72855         * tests/test-crc.c: Likewise.
72856         * tests/test-des.c: Likewise.
72857         * tests/test-gc-arcfour.c: Likewise.
72858         * tests/test-gc-arctwo.c: Likewise.
72859         * tests/test-gc-des.c: Likewise.
72860         * tests/test-gc-hmac-md5.c: Likewise.
72861         * tests/test-gc-hmac-sha1.c: Likewise.
72862         * tests/test-gc-md2.c: Likewise.
72863         * tests/test-gc-md4.c: Likewise.
72864         * tests/test-gc-md5.c: Likewise.
72865         * tests/test-gc-pbkdf2-sha1.c: Likewise.
72866         * tests/test-gc-rijndael.c: Likewise.
72867         * tests/test-gc-sha1.c: Likewise.
72868         * tests/test-gc.c: Likewise.
72869         * tests/test-gethostname.c: Likewise.
72870         * tests/test-gettimeofday.c: Likewise.
72871         * tests/test-hash.c: Likewise.
72872         * tests/test-hmac-md5.c: Likewise.
72873         * tests/test-hmac-sha1.c: Likewise.
72874         * tests/test-md2.c: Likewise.
72875         * tests/test-md4.c: Likewise.
72876         * tests/test-md5.c: Likewise.
72877         * tests/test-memchr.c: Likewise.
72878         * tests/test-memchr2.c: Likewise.
72879         * tests/test-memcmp.c: Likewise.
72880         * tests/test-memmem.c: Likewise.
72881         * tests/test-memrchr.c: Likewise.
72882         * tests/test-rawmemchr.c: Likewise.
72883         * tests/test-read-file.c: Likewise.
72884         * tests/test-rijndael.c: Likewise.
72885         * tests/test-sockets.c: Likewise.
72886         * tests/test-strchrnul.c: Likewise.
72887         * tests/test-strstr.c: Likewise.
72888         * tests/test-strtod.c: Likewise.
72889         * build-aux/ncftpput-ftp: Likewise.
72891 2010-01-26  Eric Blake  <ebb9@byu.net>
72893         ignore-value: update recommended header name
72894         * modules/ignore-value (Include): Only use <> for headers that
72895         exist in glibc.
72897 2010-01-26  Jim Meyering  <meyering@redhat.com>
72899         test-userspec.c: avoid compiler warnings
72900         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
72901         and "initialization discards qualifiers..." warnings.
72902         Put the first "uid" in its own scope, and make char* members "const".
72904 2010-01-25  Bruno Haible  <bruno@clisp.org>
72906         gnulib-tool: Make warning diagnostics consistent.
72907         * gnulib-tool (func_warning): New function.
72908         Use it everywhere where gnulib-tool produces output to stderr and it is
72909         not a fatal error.
72911 2010-01-25  Bruno Haible  <bruno@clisp.org>
72913         Fix test dependencies.
72914         * modules/xstrtol-tests (Depends-on): Add inttypes.
72915         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
72917 2010-01-25  Pádraig Brady  <P@draigBrady.com>
72919         syntax-check: detect incorrect boolean macro values in config.h
72920         * modules/maintainer-makefile (configure.ac): Parameterize the location
72921         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
72922         The logic is from Eric Blake and the location indicated by Jim Meyering.
72923         Note the more natural CONFIG_HEADER name is prohibited by automake
72924         for backwards compatibility reasons.
72925         * top/maint.mk (sc_Wundef_boolean): New rule.
72927 2010-01-25  Jim Meyering  <meyering@redhat.com>
72929         bootstrap: detect MacOS 10.6's shasum, too
72930         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
72931         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
72933 2010-01-23  Jim Meyering  <meyering@redhat.com>
72935         xstrtoll: new module
72936         * modules/xstrtoll: New file.
72937         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
72938         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
72939         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
72940         ./configure fails if you use this module and lack "long long".
72941         * modules/xstrtoll-tests: New module.
72942         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
72943         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
72944         new init.sh-based test framework.
72946 2010-01-24  Bruno Haible  <bruno@clisp.org>
72948         Tests for module 'yn'.
72949         * modules/yn-tests: New file.
72950         * tests/test-yn.c: New file.
72952         Tests for module 'y1'.
72953         * modules/y1-tests: New file.
72954         * tests/test-y1.c: New file.
72956         Tests for module 'y0'.
72957         * modules/y0-tests: New file.
72958         * tests/test-y0.c: New file.
72960         Tests for module 'tanh'.
72961         * modules/tanh-tests: New file.
72962         * tests/test-tanh.c: New file.
72964         Tests for module 'tan'.
72965         * modules/tan-tests: New file.
72966         * tests/test-tan.c: New file.
72968         Tests for module 'sqrt'.
72969         * modules/sqrt-tests: New file.
72970         * tests/test-sqrt.c: New file.
72972         Tests for module 'sinh'.
72973         * modules/sinh-tests: New file.
72974         * tests/test-sinh.c: New file.
72976         Tests for module 'sin'.
72977         * modules/sin-tests: New file.
72978         * tests/test-sin.c: New file.
72980         Tests for module 'rint'.
72981         * modules/rint-tests: New file.
72982         * tests/test-rint.c: New file.
72984         Tests for module 'remainder'.
72985         * modules/remainder-tests: New file.
72986         * tests/test-remainder.c: New file.
72988         Tests for module 'pow'.
72989         * modules/pow-tests: New file.
72990         * tests/test-pow.c: New file.
72992         Tests for module 'nextafter'.
72993         * modules/nextafter-tests: New file.
72994         * tests/test-nextafter.c: New file.
72996         Tests for module 'modf'.
72997         * modules/modf-tests: New file.
72998         * tests/test-modf.c: New file.
73000         Tests for module 'logb'.
73001         * modules/logb-tests: New file.
73002         * tests/test-logb.c: New file.
73004         Tests for module 'log1p'.
73005         * modules/log1p-tests: New file.
73006         * tests/test-log1p.c: New file.
73008         Tests for module 'log10'.
73009         * modules/log10-tests: New file.
73010         * tests/test-log10.c: New file.
73012         Tests for module 'log'.
73013         * modules/log-tests: New file.
73014         * tests/test-log.c: New file.
73016         Tests for module 'lgamma'.
73017         * modules/lgamma-tests: New file.
73018         * tests/test-lgamma.c: New file.
73020         Tests for module 'ldexp'.
73021         * modules/ldexp-tests: New file.
73022         * tests/test-ldexp.c: New file.
73024         Tests for module 'jn'.
73025         * modules/jn-tests: New file.
73026         * tests/test-jn.c: New file.
73028         Tests for module 'j1'.
73029         * modules/j1-tests: New file.
73030         * tests/test-j1.c: New file.
73032         Tests for module 'j0'.
73033         * modules/j0-tests: New file.
73034         * tests/test-j0.c: New file.
73036         Tests for module 'hypot'.
73037         * modules/hypot-tests: New file.
73038         * tests/test-hypot.c: New file.
73040         Tests for module 'fmod'.
73041         * modules/fmod-tests: New file.
73042         * tests/test-fmod.c: New file.
73044         Tests for module 'fabs'.
73045         * modules/fabs-tests: New file.
73046         * tests/test-fabs.c: New file.
73048         Tests for module 'exp'.
73049         * modules/exp-tests: New file.
73050         * tests/test-exp.c: New file.
73052         Tests for module 'erfc'.
73053         * modules/erfc-tests: New file.
73054         * tests/test-erfc.c: New file.
73056         Tests for module 'erf'.
73057         * modules/erf-tests: New file.
73058         * tests/test-erf.c: New file.
73060         Tests for module 'cosh'.
73061         * modules/cosh-tests: New file.
73062         * tests/test-cosh.c: New file.
73064         Tests for module 'cos'.
73065         * modules/cos-tests: New file.
73066         * tests/test-cos.c: New file.
73068         Tests for module 'copysign'.
73069         * modules/copysign-tests: New file.
73070         * tests/test-copysign.c: New file.
73072         Tests for module 'cbrt'.
73073         * modules/cbrt-tests: New file.
73074         * tests/test-cbrt.c: New file.
73076         Tests for module 'atan2'.
73077         * modules/atan2-tests: New file.
73078         * tests/test-atan2.c: New file.
73080         Tests for module 'atan'.
73081         * modules/atan-tests: New file.
73082         * tests/test-atan.c: New file.
73084         Tests for module 'asin'.
73085         * modules/asin-tests: New file.
73086         * tests/test-asin.c: New file.
73088         Tests for module 'acos'.
73089         * modules/acos-tests: New file.
73090         * tests/test-acos.c: New file.
73092 2010-01-24  Bruno Haible  <bruno@clisp.org>
73094         Fix tests for common <math.h> functions.
73095         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
73096         code snippet that references the function pointer, rather than merely
73097         calling the function. Substitute the FUNC_LIBM variable.
73098         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
73099         * modules/acos (configure.ac): Likewise.
73100         * modules/asin (configure.ac): Likewise.
73101         * modules/atan (configure.ac): Likewise.
73102         * modules/atan2 (configure.ac): Likewise.
73103         * modules/cbrt (configure.ac): Likewise.
73104         * modules/copysign (configure.ac): Likewise.
73105         * modules/cos (configure.ac): Likewise.
73106         * modules/cosh (configure.ac): Likewise.
73107         * modules/erf (configure.ac): Likewise.
73108         * modules/erfc (configure.ac): Likewise.
73109         * modules/exp (configure.ac): Likewise.
73110         * modules/fabs (configure.ac): Likewise.
73111         * modules/fmod (configure.ac): Likewise.
73112         * modules/hypot (configure.ac): Likewise.
73113         * modules/j0 (configure.ac): Likewise.
73114         * modules/j1 (configure.ac): Likewise.
73115         * modules/jn (configure.ac): Likewise.
73116         * modules/ldexp (configure.ac): Likewise.
73117         * modules/lgamma (configure.ac): Likewise.
73118         * modules/log (configure.ac): Likewise.
73119         * modules/log10 (configure.ac): Likewise.
73120         * modules/log1p (configure.ac): Likewise.
73121         * modules/logb (configure.ac): Likewise.
73122         * modules/modf (configure.ac): Likewise.
73123         * modules/nextafter (configure.ac): Likewise.
73124         * modules/pow (configure.ac): Likewise.
73125         * modules/remainder (configure.ac): Likewise.
73126         * modules/rint (configure.ac): Likewise.
73127         * modules/sin (configure.ac): Likewise.
73128         * modules/sinh (configure.ac): Likewise.
73129         * modules/tan (configure.ac): Likewise.
73130         * modules/tanh (configure.ac): Likewise.
73131         * modules/y0 (configure.ac): Likewise.
73132         * modules/y1 (configure.ac): Likewise.
73133         * modules/yn (configure.ac): Likewise.
73135 2010-01-24  Bruno Haible  <bruno@clisp.org>
73137         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
73138         * tests/test-acosl.c (x): New variable.
73139         (main): Store argument in x and fetch it from x.
73140         * tests/test-asinl.c (x): New variable.
73141         (main): Store argument in x and fetch it from x.
73142         * tests/test-atanl.c (x): New variable.
73143         (main): Store argument in x and fetch it from x.
73144         * tests/test-cosl.c (x): New variable.
73145         (main): Store argument in x and fetch it from x.
73146         * tests/test-expl.c (x): New variable.
73147         (main): Store argument in x and fetch it from x.
73148         * tests/test-logl.c (x): New variable.
73149         (main): Store argument in x and fetch it from x.
73150         * tests/test-sinl.c (x): New variable.
73151         (main): Store argument in x and fetch it from x.
73152         * tests/test-sqrtl.c (x): New variable.
73153         (main): Store argument in x and fetch it from x.
73154         * tests/test-tanl.c (x): New variable.
73155         (main): Store argument in x and fetch it from x.
73157 2010-01-24  Bruno Haible  <bruno@clisp.org>
73159         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
73160         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
73161         assignments to the initial TESTS_ENVIRONMENT.
73162         * doc/gnulib.texi (Unit test modules): Document it.
73163         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
73164         TESTS_ENVIRONMENT.
73165         * modules/btowc-tests (Makefile.am): Likewise.
73166         * modules/c-stack-tests (Makefile.am): Likewise.
73167         * modules/c-strcase-tests (Makefile.am): Likewise.
73168         * modules/copy-file-tests (Makefile.am): Likewise.
73169         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
73170         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
73171         * modules/mbrtowc-tests (Makefile.am): Likewise.
73172         * modules/mbscasecmp-tests (Makefile.am): Likewise.
73173         * modules/mbscasestr-tests (Makefile.am): Likewise.
73174         * modules/mbschr-tests (Makefile.am): Likewise.
73175         * modules/mbscspn-tests (Makefile.am): Likewise.
73176         * modules/mbsinit-tests (Makefile.am): Likewise.
73177         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
73178         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
73179         * modules/mbspbrk-tests (Makefile.am): Likewise.
73180         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
73181         * modules/mbsrchr-tests (Makefile.am): Likewise.
73182         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
73183         * modules/mbsspn-tests (Makefile.am): Likewise.
73184         * modules/mbsstr-tests (Makefile.am): Likewise.
73185         * modules/nl_langinfo-tests (Makefile.am): Likewise.
73186         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
73187         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
73188         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
73189         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
73190         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
73191         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
73192         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
73193         * modules/wcrtomb-tests (Makefile.am): Likewise.
73194         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
73195         * modules/wcsrtombs-tests (Makefile.am): Likewise.
73196         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
73197         assignments from TESTS_ENVIRONMENT.
73198         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
73199         augmentation.
73200         * modules/argp-version-etc-tests (Makefile.am): Likewise.
73201         * modules/atexit-tests (Makefile.am): Likewise.
73202         * modules/binary-io-tests (Makefile.am): Likewise.
73203         * modules/closein-tests (Makefile.am): Likewise.
73204         * modules/dprintf-posix-tests (Makefile.am): Likewise.
73205         * modules/exclude-tests (Makefile.am): Likewise.
73206         * modules/fflush-tests (Makefile.am): Likewise.
73207         * modules/fpending-tests (Makefile.am): Likewise.
73208         * modules/fprintf-posix-tests (Makefile.am): Likewise.
73209         * modules/freadahead-tests (Makefile.am): Likewise.
73210         * modules/freadptr-tests (Makefile.am): Likewise.
73211         * modules/freadseek-tests (Makefile.am): Likewise.
73212         * modules/fseek-tests (Makefile.am): Likewise.
73213         * modules/fseeko-tests (Makefile.am): Likewise.
73214         * modules/ftell-tests (Makefile.am): Likewise.
73215         * modules/ftello-tests (Makefile.am): Likewise.
73216         * modules/idpriv-drop-tests (Makefile.am): Likewise.
73217         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
73218         * modules/lseek-tests (Makefile.am): Likewise.
73219         * modules/parse-duration-tests (Makefile.am): Likewise.
73220         * modules/perror-tests (Makefile.am): Likewise.
73221         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
73222         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
73223         * modules/pipe-tests (Makefile.am): Likewise.
73224         * modules/pread-tests (Makefile.am): Likewise.
73225         * modules/printf-posix-tests (Makefile.am): Likewise.
73226         * modules/select-tests (Makefile.am): Likewise.
73227         * modules/sigpipe-tests (Makefile.am): Likewise.
73228         * modules/tsearch-tests (Makefile.am): Likewise.
73229         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
73230         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
73231         * modules/uniname/uniname-tests (Makefile.am): Likewise.
73232         * modules/uniwidth/width-tests (Makefile.am): Likewise.
73233         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
73234         * modules/version-etc-tests (Makefile.am): Likewise.
73235         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
73236         * modules/vprintf-posix-tests (Makefile.am): Likewise.
73237         * modules/xalloc-die-tests (Makefile.am): Likewise.
73238         * modules/xprintf-posix-tests (Makefile.am): Likewise.
73239         * modules/xstrtoimax-tests (Makefile.am): Likewise.
73240         * modules/xstrtol-tests (Makefile.am): Likewise.
73241         * modules/xstrtoumax-tests (Makefile.am): Likewise.
73242         * modules/yesno-tests (Makefile.am): Likewise.
73243         Suggested by Jim Meyering.
73245 2010-01-24  Bruno Haible  <bruno@clisp.org>
73247         More documentation.
73248         * doc/gnulib.texi (Writing modules): New chapter.
73249         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
73250         the new chapter.
73252 2010-01-24  Jim Meyering  <meyering@redhat.com>
73254         maint.mk: do not prepend "./" after filtering
73255         * top/maint.mk (_prepend_srcdir_prefix): New variable
73256         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
73257         "./" when $(srcdir) is ".".
73259         define STREQ(a,b) consistently, removing useless parentheses
73260         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
73261         since the only risk is that "a" or "b" contains an unparenthesized
73262         comma, but if either did that, STREQ would have 3 or more arguments.
73263         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
73264         * lib/fts.c (STREQ): Remove unnecessary parentheses.
73265         * lib/hash-triple.c (STREQ): Likewise.
73266         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
73267         * lib/getugroups.c (STREQ): Likewise.
73269 2010-01-23  Jim Meyering  <meyering@redhat.com>
73271         maint.mk: fix syntax-check in a non-srcdir build directory
73272         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
73273         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
73275 2010-01-22  Jim Meyering  <meyering@redhat.com>
73277         userspec: add unit tests
73278         * tests/test-userspec.c: New file.
73279         * modules/userspec-tests: Likewise.
73281 2010-01-21  Jim Meyering  <meyering@redhat.com>
73283         maint.mk: handle source file names containing "." robustly
73284         * top/maint.mk (_dot_escaped_srcdir): Define.
73285         (VC_LIST): Use it in LHS of sed substitution.
73287 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
73289         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
73290         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
73291         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
73292         from a non-srcdir build.
73294 2010-01-20  Eric Blake  <ebb9@byu.net>
73296         warn-on-use: use instead of link-warning
73297         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
73298         * modules/unistd (Depends-on, Makefile.am): Likewise.
73299         * modules/arpa_inet (Depends-on): Replace link-warning with
73300         warn-on-use.
73301         (Makefile.am): Update rules accordingly.
73302         * modules/ctype (Depends-on, Makefile.am): Likewise.
73303         * modules/dirent (Depends-on, Makefile.am): Likewise.
73304         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
73305         * modules/inttypes (Depends-on, Makefile.am): Likewise.
73306         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73307         * modules/locale (Depends-on, Makefile.am): Likewise.
73308         * modules/math (Depends-on, Makefile.am): Likewise.
73309         * modules/search (Depends-on, Makefile.am): Likewise.
73310         * modules/signal (Depends-on, Makefile.am): Likewise.
73311         * modules/spawn (Depends-on, Makefile.am): Likewise.
73312         * modules/stdlib (Depends-on, Makefile.am): Likewise.
73313         * modules/string (Depends-on, Makefile.am): Likewise.
73314         * modules/strings (Depends-on, Makefile.am): Likewise.
73315         * modules/sys_file (Depends-on, Makefile.am): Likewise.
73316         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
73317         * modules/sys_select (Depends-on, Makefile.am): Likewise.
73318         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
73319         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
73320         * modules/sys_times (Depends-on, Makefile.am): Likewise.
73321         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73322         * modules/wchar (Depends-on, Makefile.am): Likewise.
73323         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
73324         should be poisoned.
73325         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
73326         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
73327         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
73328         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73329         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73330         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
73331         * m4/math_h.m4 (gl_MATH_H): Likewise.
73332         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73333         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
73334         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
73335         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
73336         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
73337         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
73338         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
73339         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
73340         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
73341         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73342         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
73343         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
73344         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73345         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
73346         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
73347         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
73348         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
73349         GL_LINK_WARNING.
73350         * lib/ctype.in.h: Likewise.
73351         * lib/dirent.in.h: Likewise.
73352         * lib/fcntl.in.h: Likewise.
73353         * lib/inttypes.in.h: Likewise.
73354         * lib/langinfo.in.h: Likewise.
73355         * lib/locale.in.h: Likewise.
73356         * lib/math.in.h: Likewise.
73357         * lib/search.in.h: Likewise.
73358         * lib/signal.in.h: Likewise.
73359         * lib/spawn.in.h: Likewise.
73360         * lib/stdio.in.h: Likewise.
73361         * lib/stdlib.in.h: Likewise.
73362         * lib/string.in.h: Likewise.
73363         * lib/strings.in.h: Likewise.
73364         * lib/sys_file.in.h: Likewise.
73365         * lib/sys_ioctl.in.h: Likewise.
73366         * lib/sys_select.in.h: Likewise.
73367         * lib/sys_socket.in.h: Likewise.
73368         * lib/sys_stat.in.h: Likewise.
73369         * lib/sys_times.in.h: Likewise.
73370         * lib/sys_utsname.in.h: Likewise.
73371         * lib/unistd.in.h: Likewise.
73372         * lib/wchar.in.h: Likewise.
73374 2010-01-20  Bruno Haible  <bruno@clisp.org>
73376         Avoid duplicate -lm.
73377         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
73378         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
73379         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
73380         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
73381         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
73382         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
73383         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
73384         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
73385         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
73386         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
73387         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
73388         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
73389         Reported by Paolo Bonzini.
73391 2010-01-19  Bruno Haible  <bruno@clisp.org>
73393         langinfo, nl_langinfo: Relicense under LGPLv2+.
73394         * modules/langinfo (License): Change to LGPLv2+.
73395         * modules/nl_langinfo (License): Likewise.
73396         Patch by David Lutterkort <lutter@redhat.com>.
73398 2010-01-19  Bruno Haible  <bruno@clisp.org>
73400         Avoid compilation error with cc on OSF/1 5.1.
73401         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
73402         statement, not before.
73403         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73405 2010-01-18  Bruno Haible  <bruno@clisp.org>
73407         Avoid a link error due to the __printf__ symbol.
73408         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
73409         and 2.6.x.
73410         (__format__, __printf__): Remove definitions.
73411         * lib/argp-fmtstream.h: Likewise.
73412         * lib/argp.h: Likewise.
73413         * lib/error.h: Likewise.
73414         * lib/vasnprintf.h: Likewise.
73415         * lib/xprintf.h: Likewise.
73416         * lib/xvasprintf.h: Likewise.
73417         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73419 2010-01-18  Bruno Haible  <bruno@clisp.org>
73421         Tests for module 'tanl'.
73422         * modules/tanl-tests: New file.
73423         * tests/test-tanl.c: New file.
73425         Tests for module 'sqrtl'.
73426         * modules/sqrtl-tests: New file.
73427         * tests/test-sqrtl.c: New file.
73429         Tests for module 'sinl'.
73430         * modules/sinl-tests: New file.
73431         * tests/test-sinl.c: New file.
73433         Tests for module 'logl'.
73434         * modules/logl-tests: New file.
73435         * tests/test-logl.c: New file.
73437         Tests for module 'expl'.
73438         * modules/expl-tests: New file.
73439         * tests/test-expl.c: New file.
73441         Tests for module 'cosl'.
73442         * modules/cosl-tests: New file.
73443         * tests/test-cosl.c: New file.
73445         Tests for module 'atanl'.
73446         * modules/atanl-tests: New file.
73447         * tests/test-atanl.c: New file.
73449         Tests for module 'asinl'.
73450         * modules/asinl-tests: New file.
73451         * tests/test-asinl.c: New file.
73453         Tests for module 'acosl'.
73454         * modules/acosl-tests: New file.
73455         * tests/test-acosl.c: New file.
73457         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73458         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
73459         tanl): Use the standard gnulib idiom.
73460         * lib/cosl.c: Don't include trigl.c and sincosl.c.
73461         * lib/sinl.c: Likewise.
73462         * lib/tanl.c: Don't include trigl.c.
73463         (kernel_tanl): Make static.
73464         * lib/sincosl.c: Include trigl.h first.
73465         * lib/trigl.c: Likewise.
73466         * m4/acosl.m4: New file.
73467         * m4/asinl.m4: New file.
73468         * m4/atanl.m4: New file.
73469         * m4/cosl.m4: New file.
73470         * m4/expl.m4: New file.
73471         * m4/logl.m4: New file.
73472         * m4/sinl.m4: New file.
73473         * m4/sqrtl.m4: New file.
73474         * m4/tanl.m4: New file.
73475         * m4/mathl.m4: Remove file.
73476         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
73477         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73478         Don't initialize GNULIB_MATHL.
73479         * modules/acosl: New file.
73480         * modules/asinl: New file.
73481         * modules/atanl: New file.
73482         * modules/cosl: New file.
73483         * modules/expl: New file.
73484         * modules/logl: New file.
73485         * modules/sinl: New file.
73486         * modules/sqrtl: New file.
73487         * modules/tanl: New file.
73488         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
73489         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
73490         substitute GNULIB_MATHL.
73491         * modules/mathl: Rewritten.
73492         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
73493         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
73494         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
73495         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
73496         * doc/posix-functions/expl.texi: Mention the 'expl' module.
73497         * doc/posix-functions/logl.texi: Mention the 'logl' module.
73498         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
73499         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
73500         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
73502 2010-01-18  Bruno Haible  <bruno@clisp.org>
73504         sqrt: Make gl_FUNC_SQRT requirable.
73505         * m4/sqrt.m4: New file.
73506         * modules/sqrt (Files): Add it.
73507         (configure.ac): Invoke gl_FUNC_SQRT.
73509 2010-01-18  Bruno Haible  <bruno@clisp.org>
73511         New modules for common <math.h> functions.
73512         * m4/mathfunc.m4: New file.
73513         * modules/acos: New file.
73514         * modules/asin: New file.
73515         * modules/atan: New file.
73516         * modules/atan2: New file.
73517         * modules/cbrt: New file.
73518         * modules/copysign: New file.
73519         * modules/cos: New file.
73520         * modules/cosh: New file.
73521         * modules/erf: New file.
73522         * modules/erfc: New file.
73523         * modules/exp: New file.
73524         * modules/fabs: New file.
73525         * modules/fmod: New file.
73526         * modules/hypot: New file.
73527         * modules/j0: New file.
73528         * modules/j1: New file.
73529         * modules/jn: New file.
73530         * modules/ldexp: New file.
73531         * modules/lgamma: New file.
73532         * modules/log: New file.
73533         * modules/log10: New file.
73534         * modules/log1p: New file.
73535         * modules/logb: New file.
73536         * modules/modf: New file.
73537         * modules/nextafter: New file.
73538         * modules/pow: New file.
73539         * modules/remainder: New file.
73540         * modules/rint: New file.
73541         * modules/sin: New file.
73542         * modules/sinh: New file.
73543         * modules/sqrt: New file.
73544         * modules/tan: New file.
73545         * modules/tanh: New file.
73546         * modules/y0: New file.
73547         * modules/y1: New file.
73548         * modules/yn: New file.
73549         * doc/posix-functions/acos.texi: Mention the 'acos' module.
73550         * doc/posix-functions/asin.texi: Mention the 'asin' module.
73551         * doc/posix-functions/atan.texi: Mention the 'atan' module.
73552         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
73553         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
73554         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
73555         * doc/posix-functions/cos.texi: Mention the 'cos' module.
73556         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
73557         * doc/posix-functions/erf.texi: Mention the 'erf' module.
73558         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
73559         * doc/posix-functions/exp.texi: Mention the 'exp' module.
73560         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
73561         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
73562         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
73563         * doc/posix-functions/j0.texi: Mention the 'j0' module.
73564         * doc/posix-functions/j1.texi: Mention the 'j1' module.
73565         * doc/posix-functions/jn.texi: Mention the 'jn' module.
73566         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
73567         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
73568         * doc/posix-functions/log.texi: Mention the 'log' module.
73569         * doc/posix-functions/log10.texi: Mention the 'log10' module.
73570         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
73571         * doc/posix-functions/logb.texi: Mention the 'logb' module.
73572         * doc/posix-functions/modf.texi: Mention the 'modf' module.
73573         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
73574         * doc/posix-functions/pow.texi: Mention the 'pow' module.
73575         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
73576         * doc/posix-functions/rint.texi: Mention the 'rint' module.
73577         * doc/posix-functions/sin.texi: Mention the 'sin' module.
73578         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
73579         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
73580         * doc/posix-functions/tan.texi: Mention the 'tan' module.
73581         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
73582         * doc/posix-functions/y0.texi: Mention the 'y0' module.
73583         * doc/posix-functions/y1.texi: Mention the 'y1' module.
73584         * doc/posix-functions/yn.texi: Mention the 'yn' module.
73586 2010-01-18  Jim Meyering  <meyering@redhat.com>
73588         ignore-value: relax license to LGPLv2+
73589         * modules/ignore-value (License): Relax to LGPLv2+.
73591         getdate: don't leak when TZ contains two or more '"'s
73592         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
73593         double quote in TZ after the first one.
73595         readtokens: do not leak internal token_lengths buffer
73596         * lib/readtokens.c (readtokens): Free the local, lengths,
73597         when the supplied "token_lengths" parameter is NULL.
73599 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73601         Fix a couple of missing LIBTHREAD link failures on AIX.
73602         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
73603         $(LIBTHREAD).
73604         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
73606         Link test-poll against INET_PTON_LIB.
73607         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
73608         for inet_pton on Solaris 10.
73610 2010-01-17  Bruno Haible  <bruno@clisp.org>
73612         unistdio/*-sprintf: Fix typo in module description.
73613         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
73614         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
73615         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
73616         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
73617         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
73618         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
73619         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
73620         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73622 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73624         gnulib-tool: fix filelist for AIX, HP-UX ksh.
73625         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
73626         variables in shell case patterns, for AIX and HP-UX ksh.
73628         Split large sed scripts, for HP-UX sed.
73629         * modules/stdio: Split sed scripts around 50 sed commands,
73630         to avoid HP-UX limit of 99 commands, in the near future.
73631         * modules/string: Likewise.
73632         * modules/unistd: Likewise.
73634         gnulib-tool: avoid writing in the current directory.
73635         * gnulib-tool (func_emit_lib_Makefile_am)
73636         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
73637         not in the current directory, so concurrent gnulib-tool
73638         instances do not interfere.
73640 2010-01-16  Jim Meyering  <meyering@redhat.com>
73642         doc: update users.txt
73643         * users.txt: Add grep.
73644         (diffutils, gzip): Update URLs.
73646 2010-01-12  Bruno Haible  <bruno@clisp.org>
73648         posix_spawn: Avoid test failure on Cygwin.
73649         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
73650         characters.
73651         Reported by Simon Josefsson.
73653 2010-01-12  Bruno Haible  <bruno@clisp.org>
73655         * tests/test-cond.c (main): When skipping the test, show the reason.
73657 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73659         * lib/striconv.c (str_cd_iconv): Avoid if before free.
73661 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73663         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
73664         VC_LIST_ALWAYS_EXCLUDE_REGEX.
73666 2010-01-12  Eric Blake  <ebb9@byu.net>
73668         build: guarantee AS_VAR_IF
73669         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
73670         (gl_AS_VAR_IF): Move...
73671         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
73672         Reported by Simon Josefsson.
73674 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73676         * lib/stdio.in.h: Fix typo.
73678 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73680         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
73681         libgpg-error.
73683 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73685         * tests/test-xalloc-die.sh: Use $EXEEXT.
73687 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73688             Bruno Haible  <bruno@clisp.org>
73690         getlogin, getlogin_r: Avoid test failure.
73691         * tests/test-getlogin.c: Include <stdio.h>.
73692         (main): Skip the test when the function fails because stdin is not a
73693         tty.
73694         * tests/test-getlogin_r.c: Include <stdio.h>.
73695         (main): Skip the test when the function fails because stdin is not a
73696         tty.
73698 2010-01-11  Eric Blake  <ebb9@byu.net>
73700         tests: avoid more large file warnings
73701         * tests/test-fflush.c: Avoid warning about ftell use.
73702         * tests/test-fseek.c: Avoid warning about fseek use.
73704 2010-01-10  Bruno Haible  <bruno@clisp.org>
73706         nproc: Work better on Linux when /proc and /sys are not mounted.
73707         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
73708         as lower bound when, on glibc/Linux systems,
73709         sysconf (_SC_NPROCESSORS_CONF) returns 1.
73710         Suggested by Pádraig Brady <P@draigbrady.com>.
73711         Reported by Dmitry V. Levin <ldv@altlinux.org>.
73713         nproc: Refactor.
73714         * lib/nproc.c (num_processors_via_affinity_mask): New function,
73715         extracted from num_processors.
73716         (num_processors): Call it.
73718 2010-01-11  Jim Meyering  <meyering@redhat.com>
73720         utimecmp: avoid new warning from upcoming gcc-4.5.0
73721         * lib/utimecmp.c (BILLION): Define using #define rather than an
73722         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
73724 2010-01-11  Eric Blake  <ebb9@byu.net>
73726         math: add portability warnings for classification macros
73727         * modules/math (Depends-on): Add warn-on-use.
73728         (Makefile.am): Provide new substitutions.
73729         * m4/math_h.m4 (gl_MATH_H): Require inline.
73730         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
73731         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
73732         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
73733         implement warnings.
73735         unistd: warn on use of environ without module
73736         * modules/unistd (Depends-on): Add warn-on-use.
73737         (Makefile.am): Provide new substitutions.
73738         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
73739         * lib/unistd.in.h (environ): Wrap with a warning helper function.
73741         stdio: warn on suspicious uses
73742         * modules/stdio (Depends-on): Add warn-on-use.
73743         (Makefile.am): Provide new substitutions.
73744         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
73745         fseeko.
73746         * lib/stdio.in.h (gets): Always warn on use.
73747         (fseek, ftell): Adjust when warnings are issued, and honor
73748         _GL_NO_LARGE_FILES as a way to silence the warning.
73749         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
73750         any warning about large file offsets.
73751         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
73752         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
73753         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
73754         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
73755         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
73756         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
73757         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
73758         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
73760         warn-on-use: new module
73761         * modules/warn-on-use: New file.
73762         * build-aux/warn-on-use.h: Likewise.
73763         * m4/warn-on-use.m4: Likewise.
73764         * MODULES.html.sh (Support for building): Mention it.
73766 2010-01-10  Bruno Haible  <bruno@clisp.org>
73768         Tests for module 'unistr/u32-strdup'.
73769         * modules/unistr/u32-strdup-tests: New file.
73770         * tests/unistr/test-u32-strdup.c: New file.
73772         Tests for module 'unistr/u16-strdup'.
73773         * modules/unistr/u16-strdup-tests: New file.
73774         * tests/unistr/test-u16-strdup.c: New file.
73776         Tests for module 'unistr/u8-strdup'.
73777         * modules/unistr/u8-strdup-tests: New file.
73778         * tests/unistr/test-u8-strdup.c: New file.
73779         * tests/unistr/test-strdup.h: New file.
73781         Tests for module 'unistr/u32-strncmp'.
73782         * modules/unistr/u32-strncmp-tests: New file.
73783         * tests/unistr/test-u32-strncmp.c: New file.
73785         Tests for module 'unistr/u16-strncmp'.
73786         * modules/unistr/u16-strncmp-tests: New file.
73787         * tests/unistr/test-u16-strncmp.c: New file.
73789         Tests for module 'unistr/u8-strncmp'.
73790         * modules/unistr/u8-strncmp-tests: New file.
73791         * tests/unistr/test-u8-strncmp.c: New file.
73792         * tests/unistr/test-strncmp.h: New file.
73794         Tests for module 'unistr/u32-strcoll'.
73795         * modules/unistr/u32-strcoll-tests: New file.
73796         * tests/unistr/test-u32-strcoll.c: New file.
73798         Tests for module 'unistr/u16-strcoll'.
73799         * modules/unistr/u16-strcoll-tests: New file.
73800         * tests/unistr/test-u16-strcoll.c: New file.
73802         Tests for module 'unistr/u8-strcoll'.
73803         * modules/unistr/u8-strcoll-tests: New file.
73804         * tests/unistr/test-u8-strcoll.c: New file.
73806         Tests for module 'unistr/u32-strcmp'.
73807         * modules/unistr/u32-strcmp-tests: New file.
73808         * tests/unistr/test-u32-strcmp.c: New file.
73809         * tests/unistr/test-u32-strcmp.h: New file.
73811         Tests for module 'unistr/u16-strcmp'.
73812         * modules/unistr/u16-strcmp-tests: New file.
73813         * tests/unistr/test-u16-strcmp.c: New file.
73814         * tests/unistr/test-u16-strcmp.h: New file.
73816         Tests for module 'unistr/u8-strcmp'.
73817         * modules/unistr/u8-strcmp-tests: New file.
73818         * tests/unistr/test-u8-strcmp.c: New file.
73819         * tests/unistr/test-u8-strcmp.h: New file.
73820         * tests/unistr/test-strcmp.h: New file.
73822         Tests for module 'unistr/u32-strncat'.
73823         * modules/unistr/u32-strncat-tests: New file.
73824         * tests/unistr/test-u32-strncat.c: New file.
73826         Tests for module 'unistr/u16-strncat'.
73827         * modules/unistr/u16-strncat-tests: New file.
73828         * tests/unistr/test-u16-strncat.c: New file.
73830         Tests for module 'unistr/u8-strncat'.
73831         * modules/unistr/u8-strncat-tests: New file.
73832         * tests/unistr/test-u8-strncat.c: New file.
73833         * tests/unistr/test-strncat.h: New file.
73835         Tests for module 'unistr/u32-strcat'.
73836         * modules/unistr/u32-strcat-tests: New file.
73837         * tests/unistr/test-u32-strcat.c: New file.
73839         Tests for module 'unistr/u16-strcat'.
73840         * modules/unistr/u16-strcat-tests: New file.
73841         * tests/unistr/test-u16-strcat.c: New file.
73843         Tests for module 'unistr/u8-strcat'.
73844         * modules/unistr/u8-strcat-tests: New file.
73845         * tests/unistr/test-u8-strcat.c: New file.
73846         * tests/unistr/test-strcat.h: New file.
73848         Tests for module 'unistr/u32-stpncpy'.
73849         * modules/unistr/u32-stpncpy-tests: New file.
73850         * tests/unistr/test-u32-stpncpy.c: New file.
73852         Tests for module 'unistr/u16-stpncpy'.
73853         * modules/unistr/u16-stpncpy-tests: New file.
73854         * tests/unistr/test-u16-stpncpy.c: New file.
73856         Tests for module 'unistr/u8-stpncpy'.
73857         * modules/unistr/u8-stpncpy-tests: New file.
73858         * tests/unistr/test-u8-stpncpy.c: New file.
73859         * tests/unistr/test-stpncpy.h: New file.
73861         Tests for module 'unistr/u32-strncpy'.
73862         * modules/unistr/u32-strncpy-tests: New file.
73863         * tests/unistr/test-u32-strncpy.c: New file.
73865         Tests for module 'unistr/u16-strncpy'.
73866         * modules/unistr/u16-strncpy-tests: New file.
73867         * tests/unistr/test-u16-strncpy.c: New file.
73869         Tests for module 'unistr/u8-strncpy'.
73870         * modules/unistr/u8-strncpy-tests: New file.
73871         * tests/unistr/test-u8-strncpy.c: New file.
73872         * tests/unistr/test-strncpy.h: New file.
73874         Tests for module 'unistr/u32-stpcpy'.
73875         * modules/unistr/u32-stpcpy-tests: New file.
73876         * tests/unistr/test-u32-stpcpy.c: New file.
73878         Tests for module 'unistr/u16-stpcpy'.
73879         * modules/unistr/u16-stpcpy-tests: New file.
73880         * tests/unistr/test-u16-stpcpy.c: New file.
73882         Tests for module 'unistr/u8-stpcpy'.
73883         * modules/unistr/u8-stpcpy-tests: New file.
73884         * tests/unistr/test-u8-stpcpy.c: New file.
73885         * tests/unistr/test-stpcpy.h: New file.
73887         Tests for module 'unistr/u32-strcpy'.
73888         * modules/unistr/u32-strcpy-tests: New file.
73889         * tests/unistr/test-u32-strcpy.c: New file.
73891         Tests for module 'unistr/u16-strcpy'.
73892         * modules/unistr/u16-strcpy-tests: New file.
73893         * tests/unistr/test-u16-strcpy.c: New file.
73895         Tests for module 'unistr/u8-strcpy'.
73896         * modules/unistr/u8-strcpy-tests: New file.
73897         * tests/unistr/test-u8-strcpy.c: New file.
73898         * tests/unistr/test-strcpy.h: New file.
73900         Tests for module 'unistr/u32-strnlen'.
73901         * modules/unistr/u32-strnlen-tests: New file.
73902         * tests/unistr/test-u32-strnlen.c: New file.
73904         Tests for module 'unistr/u16-strnlen'.
73905         * modules/unistr/u16-strnlen-tests: New file.
73906         * tests/unistr/test-u16-strnlen.c: New file.
73908         Tests for module 'unistr/u8-strnlen'.
73909         * modules/unistr/u8-strnlen-tests: New file.
73910         * tests/unistr/test-u8-strnlen.c: New file.
73911         * tests/unistr/test-strnlen.h: New file.
73913         Tests for module 'unistr/u32-strlen'.
73914         * modules/unistr/u32-strlen-tests: New file.
73915         * tests/unistr/test-u32-strlen.c: New file.
73917         Tests for module 'unistr/u16-strlen'.
73918         * modules/unistr/u16-strlen-tests: New file.
73919         * tests/unistr/test-u16-strlen.c: New file.
73921         Tests for module 'unistr/u8-strlen'.
73922         * modules/unistr/u8-strlen-tests: New file.
73923         * tests/unistr/test-u8-strlen.c: New file.
73925         Tests for module 'unistr/u32-prev'.
73926         * modules/unistr/u32-prev-tests: New file.
73927         * tests/unistr/test-u32-prev.c: New file.
73929         Tests for module 'unistr/u16-prev'.
73930         * modules/unistr/u16-prev-tests: New file.
73931         * tests/unistr/test-u16-prev.c: New file.
73933         Tests for module 'unistr/u8-prev'.
73934         * modules/unistr/u8-prev-tests: New file.
73935         * tests/unistr/test-u8-prev.c: New file.
73937         Tests for module 'unistr/u32-next'.
73938         * modules/unistr/u32-next-tests: New file.
73939         * tests/unistr/test-u32-next.c: New file.
73941         Tests for module 'unistr/u16-next'.
73942         * modules/unistr/u16-next-tests: New file.
73943         * tests/unistr/test-u16-next.c: New file.
73945         Tests for module 'unistr/u8-next'.
73946         * modules/unistr/u8-next-tests: New file.
73947         * tests/unistr/test-u8-next.c: New file.
73949         Tests for module 'unistr/u32-strmbtouc'.
73950         * modules/unistr/u32-strmbtouc-tests: New file.
73951         * tests/unistr/test-u32-strmbtouc.c: New file.
73953         Tests for module 'unistr/u16-strmbtouc'.
73954         * modules/unistr/u16-strmbtouc-tests: New file.
73955         * tests/unistr/test-u16-strmbtouc.c: New file.
73957         Tests for module 'unistr/u8-strmbtouc'.
73958         * modules/unistr/u8-strmbtouc-tests: New file.
73959         * tests/unistr/test-u8-strmbtouc.c: New file.
73961         Tests for module 'unistr/u32-strmblen'.
73962         * modules/unistr/u32-strmblen-tests: New file.
73963         * tests/unistr/test-u32-strmblen.c: New file.
73965         Tests for module 'unistr/u16-strmblen'.
73966         * modules/unistr/u16-strmblen-tests: New file.
73967         * tests/unistr/test-u16-strmblen.c: New file.
73969         Tests for module 'unistr/u8-strmblen'.
73970         * modules/unistr/u8-strmblen-tests: New file.
73971         * tests/unistr/test-u8-strmblen.c: New file.
73973         Tests for module 'unistr/u32-cpy-alloc'.
73974         * modules/unistr/u32-cpy-alloc-tests: New file.
73975         * tests/unistr/test-u32-cpy-alloc.c: New file.
73977         Tests for module 'unistr/u16-cpy-alloc'.
73978         * modules/unistr/u16-cpy-alloc-tests: New file.
73979         * tests/unistr/test-u16-cpy-alloc.c: New file.
73981         Tests for module 'unistr/u8-cpy-alloc'.
73982         * modules/unistr/u8-cpy-alloc-tests: New file.
73983         * tests/unistr/test-u8-cpy-alloc.c: New file.
73984         * tests/unistr/test-cpy-alloc.h: New file.
73986         Tests for module 'unistr/u32-mbsnlen'.
73987         * modules/unistr/u32-mbsnlen-tests: New file.
73988         * tests/unistr/test-u32-mbsnlen.c: New file.
73990         Tests for module 'unistr/u16-mbsnlen'.
73991         * modules/unistr/u16-mbsnlen-tests: New file.
73992         * tests/unistr/test-u16-mbsnlen.c: New file.
73994         Tests for module 'unistr/u8-mbsnlen'.
73995         * modules/unistr/u8-mbsnlen-tests: New file.
73996         * tests/unistr/test-u8-mbsnlen.c: New file.
73998         Tests for module 'unistr/u32-chr'.
73999         * modules/unistr/u32-chr-tests: New file.
74000         * tests/unistr/test-u32-chr.c: New file.
74002         Tests for module 'unistr/u16-chr'.
74003         * modules/unistr/u16-chr-tests: New file.
74004         * tests/unistr/test-u16-chr.c: New file.
74006         Tests for module 'unistr/u8-chr'.
74007         * modules/unistr/u8-chr-tests: New file.
74008         * tests/unistr/test-u8-chr.c: New file.
74009         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
74011         Tests for module 'unistr/u32-cmp2'.
74012         * modules/unistr/u32-cmp2-tests: New file.
74013         * tests/unistr/test-u32-cmp2.c: New file.
74015         Tests for module 'unistr/u16-cmp2'.
74016         * modules/unistr/u16-cmp2-tests: New file.
74017         * tests/unistr/test-u16-cmp2.c: New file.
74019         Tests for module 'unistr/u8-cmp2'.
74020         * modules/unistr/u8-cmp2-tests: New file.
74021         * tests/unistr/test-u8-cmp2.c: New file.
74022         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
74024         Tests for module 'unistr/u32-cmp'.
74025         * modules/unistr/u32-cmp-tests: New file.
74026         * tests/unistr/test-u32-cmp.c: New file.
74028         Tests for module 'unistr/u16-cmp'.
74029         * modules/unistr/u16-cmp-tests: New file.
74030         * tests/unistr/test-u16-cmp.c: New file.
74032         Tests for module 'unistr/u8-cmp'.
74033         * modules/unistr/u8-cmp-tests: New file.
74034         * tests/unistr/test-u8-cmp.c: New file.
74035         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
74037         Tests for module 'unistr/u32-set'.
74038         * modules/unistr/u32-set-tests: New file.
74039         * tests/unistr/test-u32-set.c: New file.
74041         Tests for module 'unistr/u16-set'.
74042         * modules/unistr/u16-set-tests: New file.
74043         * tests/unistr/test-u16-set.c: New file.
74045         Tests for module 'unistr/u8-set'.
74046         * modules/unistr/u8-set-tests: New file.
74047         * tests/unistr/test-u8-set.c: New file.
74048         * tests/unistr/test-set.h: New file.
74050         Tests for module 'unistr/u32-move'.
74051         * modules/unistr/u32-move-tests: New file.
74052         * tests/unistr/test-u32-move.c: New file.
74054         Tests for module 'unistr/u16-move'.
74055         * modules/unistr/u16-move-tests: New file.
74056         * tests/unistr/test-u16-move.c: New file.
74058         Tests for module 'unistr/u8-move'.
74059         * modules/unistr/u8-move-tests: New file.
74060         * tests/unistr/test-u8-move.c: New file.
74061         * tests/unistr/test-move.h: New file.
74063         Tests for module 'unistr/u32-cpy'.
74064         * modules/unistr/u32-cpy-tests: New file.
74065         * tests/unistr/test-u32-cpy.c: New file.
74067         Tests for module 'unistr/u16-cpy'.
74068         * modules/unistr/u16-cpy-tests: New file.
74069         * tests/unistr/test-u16-cpy.c: New file.
74071         Tests for module 'unistr/u8-cpy'.
74072         * modules/unistr/u8-cpy-tests: New file.
74073         * tests/unistr/test-u8-cpy.c: New file.
74074         * tests/unistr/test-cpy.h: New file.
74076 2010-01-09  Bruno Haible  <bruno@clisp.org>
74078         Tests for module 'unistr/u32-uctomb'.
74079         * modules/unistr/u32-uctomb-tests: New file.
74080         * tests/unistr/test-u32-uctomb.c: New file.
74082         Tests for module 'unistr/u16-uctomb'.
74083         * modules/unistr/u16-uctomb-tests: New file.
74084         * tests/unistr/test-u16-uctomb.c: New file.
74086         Tests for module 'unistr/u8-uctomb'.
74087         * modules/unistr/u8-uctomb-tests: New file.
74088         * tests/unistr/test-u8-uctomb.c: New file.
74090         Tests for module 'unistr/u32-mbtoucr'.
74091         * modules/unistr/u32-mbtoucr-tests: New file.
74092         * tests/unistr/test-u32-mbtoucr.c: New file.
74094         Tests for module 'unistr/u16-mbtoucr'.
74095         * modules/unistr/u16-mbtoucr-tests: New file.
74096         * tests/unistr/test-u16-mbtoucr.c: New file.
74098         Tests for module 'unistr/u8-mbtoucr'.
74099         * modules/unistr/u8-mbtoucr-tests: New file.
74100         * tests/unistr/test-u8-mbtoucr.c: New file.
74102         Tests for module 'unistr/u32-mbtouc'.
74103         * modules/unistr/u32-mbtouc-tests: New file.
74104         * tests/unistr/test-u32-mbtouc.c: New file.
74106         Tests for module 'unistr/u16-mbtouc'.
74107         * modules/unistr/u16-mbtouc-tests: New file.
74108         * tests/unistr/test-u16-mbtouc.c: New file.
74110         Tests for module 'unistr/u8-mbtouc'.
74111         * modules/unistr/u8-mbtouc-tests: New file.
74112         * tests/unistr/test-u8-mbtouc.c: New file.
74114         Tests for module 'unistr/u32-mbtouc-unsafe'.
74115         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
74116         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
74117         * tests/unistr/test-u32-mbtouc.h: New file.
74119         Tests for module 'unistr/u16-mbtouc-unsafe'.
74120         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
74121         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
74122         * tests/unistr/test-u16-mbtouc.h: New file.
74124         Tests for module 'unistr/u8-mbtouc-unsafe'.
74125         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
74126         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
74127         * tests/unistr/test-u8-mbtouc.h: New file.
74129         Tests for module 'unistr/u32-mblen'.
74130         * modules/unistr/u32-mblen-tests: New file.
74131         * tests/unistr/test-u32-mblen.c: New file.
74133         Tests for module 'unistr/u16-mblen'.
74134         * modules/unistr/u16-mblen-tests: New file.
74135         * tests/unistr/test-u16-mblen.c: New file.
74137         Tests for module 'unistr/u8-mblen'.
74138         * modules/unistr/u8-mblen-tests: New file.
74139         * tests/unistr/test-u8-mblen.c: New file.
74141         Tests for module 'unistr/u32-to-u16'.
74142         * modules/unistr/u32-to-u16-tests: New file.
74143         * tests/unistr/test-u32-to-u16.c: New file.
74145         Tests for module 'unistr/u32-to-u8'.
74146         * modules/unistr/u32-to-u8-tests: New file.
74147         * tests/unistr/test-u32-to-u8.c: New file.
74149         Tests for module 'unistr/u16-to-u32'.
74150         * modules/unistr/u16-to-u32-tests: New file.
74151         * tests/unistr/test-u16-to-u32.c: New file.
74153         Tests for module 'unistr/u16-to-u8'.
74154         * modules/unistr/u16-to-u8-tests: New file.
74155         * tests/unistr/test-u16-to-u8.c: New file.
74157         Tests for module 'unistr/u8-to-u32'.
74158         * modules/unistr/u8-to-u32-tests: New file.
74159         * tests/unistr/test-u8-to-u32.c: New file.
74161         Tests for module 'unistr/u8-to-u16'.
74162         * modules/unistr/u8-to-u16-tests: New file.
74163         * tests/unistr/test-u8-to-u16.c: New file.
74165         Tests for module 'unistr/u32-check'.
74166         * modules/unistr/u32-check-tests: New file.
74167         * tests/unistr/test-u32-check.c: New file.
74169         Tests for module 'unistr/u16-check'.
74170         * modules/unistr/u16-check-tests: New file.
74171         * tests/unistr/test-u16-check.c: New file.
74173         Tests for module 'unistr/u8-check'.
74174         * modules/unistr/u8-check-tests: New file.
74175         * tests/unistr/test-u8-check.c: New file.
74177         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
74178         (category_equals): New function.
74179         (main): Add more tests.
74180         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
74182         * tests/unictype/test-bidi_byname.c (main): Add more tests.
74184 2010-01-10  Bruno Haible  <bruno@clisp.org>
74186         unistr/u*-strcoll: Try harder to distinguish different strings.
74187         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
74188         compare s1 and s2 to see if they are different.
74190 2010-01-10  Bruno Haible  <bruno@clisp.org>
74192         unistr/u*-stpncpy: Fix the return value.
74193         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
74194         description of the return value consistent with stpncpy in glibc.
74195         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
74196         written non-NUL unit.
74198 2010-01-10  Bruno Haible  <bruno@clisp.org>
74200         unistr/u*-next: Add missing dependencies.
74201         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
74202         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
74203         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
74205 2010-01-10  Bruno Haible  <bruno@clisp.org>
74207         unistr/u8-mbsnlen: Fix return value for incomplete character.
74208         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
74209         u8_mblen.
74210         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
74211         Remove unistr/u8-mblen.
74212         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
74213         u16_mblen.
74214         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
74215         Remove unistr/u16-mblen.
74217 2010-01-10  Bruno Haible  <bruno@clisp.org>
74219         wchar: Fix compilation error when <wchar.h> is used from coreutils.
74220         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
74221         Reported by Brian Gough <bjg@gnu.org> and
74222         Chris Clayton <chris2553@googlemail.com> via
74223         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
74225 2010-01-09  Bruno Haible  <bruno@clisp.org>
74227         unistr/u16-to-u32: Reject invalid input.
74228         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
74229         u16_mbtouc.
74230         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
74231         Remove unistr/u16-mbtouc.
74233         unistr/u16-to-u8: Reject invalid input.
74234         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
74235         u16_mbtouc.
74236         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
74237         Remove unistr/u16-mbtouc.
74239         unistr/u8-to-u32: Reject invalid input.
74240         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
74241         u8_mbtouc.
74242         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
74243         Remove unistr/u8-mbtouc.
74245         unistr/u8-to-u16: Reject invalid input.
74246         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
74247         u8_mbtouc.
74248         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
74249         Remove unistr/u8-mbtouc.
74251 2010-01-09  Bruno Haible  <bruno@clisp.org>
74253         Tests for module 'getlogin'.
74254         * modules/getlogin-tests: New file.
74255         * tests/test-getlogin.c: New file.
74257         New module 'getlogin'.
74258         * lib/unistd.in.h (getlogin): New declaration.
74259         * lib/getlogin.c: New file.
74260         * m4/getlogin.m4: New file.
74261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
74262         HAVE_GETLOGIN.
74263         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
74264         HAVE_GETLOGIN.
74265         * modules/getlogin: New file.
74266         * doc/posix-functions/getlogin.texi: Mention the new module.
74267         Reported by John W. Eaton <jwe@gnu.org>.
74269 2010-01-09  Bruno Haible  <bruno@clisp.org>
74271         getlogin_r: Support for native Windows.
74272         * lib/getlogin_r.c: Include <windows.h>
74273         (getlogin_r): Implement for native Windows.
74274         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
74275         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
74276         via John W. Eaton <jwe@gnu.org>.
74278 2010-01-09  Bruno Haible  <bruno@clisp.org>
74280         getlogin_r: Small fixes.
74281         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
74282         succeeds.
74283         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
74284         before testing whether getlogin_r is declared. No need to set
74285         HAVE_DECL_GETLOGIN_R to 1.
74286         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
74288 2010-01-09  Bruno Haible  <bruno@clisp.org>
74290         * lib/unistd.in.h (getlogin_r): Add comment.
74292 2010-01-09  Bruno Haible  <bruno@clisp.org>
74294         Tests for module 'getlogin_r'.
74295         * modules/getlogin_r-tests: New file.
74296         * tests/test-getlogin_r.c: New file.
74298 2010-01-09  Jim Meyering  <meyering@redhat.com>
74300         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
74301         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
74302         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
74304 2010-01-08  Simon Josefsson  <simon@josefsson.org>
74306         * lib/dup2.c (rpl_dup2): Improve comment.
74308 2010-01-08  Eric Blake  <ebb9@byu.net>
74310         maint.mk: allow packages to add makefile @@ exceptions
74311         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
74312         (sc_makefile_check): Rename...
74313         (sc_makefile_at_at_check): ...to this, and use hook.
74315         dup2: work around mingw bug
74316         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
74317         Reported by Simon Josefsson.
74319 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
74321         glob: Fix C++ compilation.
74322         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
74323         C++.
74325 2010-01-07  Bruno Haible  <bruno@clisp.org>
74327         Fix indentation of wctype.in.h, broken since 2007-01-06.
74328         * lib/wctype.in.h: Fix indentation of preprocessor directives.
74330 2010-01-07  Bruno Haible  <bruno@clisp.org>
74332         mbslen: Avoid collision with system function.
74333         * lib/string.in.h [MirBSD]: Include <wchar.h>.
74334         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
74335         * m4/mbslen.m4: New file.
74336         * modules/mbslen (Files): Add it.
74337         (configure.ac): Invoke gl_MBSLEN.
74338         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
74339         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
74340         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
74341         via Ian Beckwith <ianb@erislabs.net>.
74343 2010-01-07  Bruno Haible  <bruno@clisp.org>
74345         dirent: Document the last fix.
74346         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
74348 2010-01-07  Bruno Haible  <bruno@clisp.org>
74350         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
74351         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
74352         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
74353         va_list are defined.
74354         * doc/posix-headers/stdio.texi: Document the bug of missing types.
74355         Reported by Eric Blake.
74357 2010-01-07  Bruno Haible  <bruno@clisp.org>
74359         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
74360         * modules/xlist (Depends-on): Add 'list',
74361         * modules/xoset (Depends-on): Add 'oset'.
74362         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74364 2010-01-07  Bruno Haible  <bruno@clisp.org>
74366         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
74367         * doc/posix-functions/strncasecmp.texi: Likewise.
74369 2010-01-07  Bruno Haible  <bruno@clisp.org>
74371         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
74373 2010-01-07  John W. Eaton  <jwe@octave.org>
74375         wctype: allow C++ use
74376         * lib/wctype.in.h: Add extern "C" block for C++.
74378 2010-01-06  Eric Blake  <ebb9@byu.net>
74380         maint.mk: detect incorrect GFDL usage
74381         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
74383 2010-01-06  Jim Meyering  <meyering@redhat.com>
74384         and Eric Blake  <ebb9@byu.net>
74386         maint.mk: ignore multi-line copyright in NEWS
74387         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
74389 2010-01-06  Eric Blake  <ebb9@byu.net>
74391         select: add missing dependency
74392         * modules/select-tests (Depends-on): Move sockets dependency...
74393         * modules/select (Depends-on): ...here.
74394         Reported by Ian Beckwith.
74396         doc: regenerate INSTALL
74397         * doc/INSTALL: Reflect recent autoconf update.
74398         * doc/INSTALL.ISO: Likewise.
74399         * doc/INSTALL.UTF-8: Likewise.
74401         pread: fix compilation on glibc
74402         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
74403         Reported by Ralf Wildenhues.
74405         dirent: fix test failure
74406         * lib/dirent.in.h (includes): Guarantee ino_t.
74407         Reported by Ralf Wildenhues.
74409 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
74411         linkat, renameat: avoid bad free
74412         * lib/at-func2.c (at_func2): Fix typo.
74413         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
74415 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74417         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
74418         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
74419         to avoid failure of symlink test later.
74421 2010-01-06  Eric Blake  <ebb9@byu.net>
74423         stdio, unistd: guarantee ssize_t
74424         * lib/unistd.in.h (includes): Ensure that types required by POSIX
74425         2008 are exposed when needed.
74426         * lib/stdio.in.h (includes): Likewise.
74427         Reported by Ralf Wildenhues.
74429 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
74431         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
74432         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
74433         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
74435 2010-01-06  Jim Meyering  <meyering@redhat.com>
74437         readtokens: this module *does* require xalloc.h
74438         It uses only functions that were omitted by the old syntax-check rule.
74439         * lib/readtokens.c: Include "xalloc.h" once again.
74440         * modules/readtokens (Depends-on): Add xalloc.
74441         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
74443 2010-01-05  Eric Blake  <ebb9@byu.net>
74445         maint: support 'make announcement' from a VPATH build
74446         * top/maint.mk (announcement): Look for correct NEWS file.
74448 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
74450         utimens (fdutimens): ignore a negative FD, per contract
74451         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
74452         when we have a valid file descriptor.  Otherwise, using a brand
74453         new glibc (with just-patched futimens that now fails with EBADF)
74454         would cause this function to fail with ENOSYS.
74455         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
74456         See also http://bugzilla.redhat.com/552320.
74458 2010-01-05  Eric Blake  <ebb9@byu.net>
74460         strcase: document what it provides
74461         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
74462         gnulib module.
74463         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
74464         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
74466 2010-01-05  Jim Meyering  <meyering@redhat.com>
74468         maint: remove useless inclusions of "xalloc.h"
74469         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
74470         * lib/readtokens.c: Likewise.
74471         * lib/same.c: Likewise.
74472         * modules/getloadavg (Depends-on): Remove xalloc.
74473         * modules/readtokens: Likewise.
74474         * modules/same: Likewise.
74476         maint.mk: include 4 more function names in alloca.h-checking regexp
74477         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
74478         regexp.  Before, we would give a false-positive (saying alloca.h
74479         is included unnecessarily) when the only uses involved omitted symbols.
74481         xalloc.h: use consistent formatting
74482         * lib/xalloc.h: Move declarations to start in the first column.
74484 2010-01-05  Eric Blake  <ebb9@byu.net>
74486         mkdir: avoid xalloc
74487         * lib/mkdir.c (includes): Drop unused header.
74488         Reported by John W. Eaton.
74490 2010-01-04  Jim Meyering  <meyering@redhat.com>
74492         nl_langinfo: avoid configure-time syntax error
74493         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
74494         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
74495         the empty string.  Don't let that provoke a shell syntax error.
74497         regcomp, regexec, fnmatch: avoid array bounds read error
74498         * lib/regcomp.c (build_equiv_class): From glibc:
74499         Use only the low 24 bits of a findidx return value as an index
74500         into the weights array.  Patch by Ulrich Drepper:
74501         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
74502         * lib/regexec.c (check_node_accept_bytes): Likewise.
74503         * lib/fnmatch_loop.c (FCT): Likewise.
74505         regcomp: skip collseq lookup when there are no rules
74506         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
74507         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
74509         regcomp: recognize ill-formed { } expressions
74510         * lib/regcomp.c (parse_dup_op): From glibc:
74511         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
74513         regcomp: fix typo in comment
74514         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
74515         s/satisfy/satisfies/.
74517         regcomp: sync from glibc: remove dead store
74518         * lib/regcomp.c (duplicate_node_closure): Remove useless
74519         search_duplicated_node call and dead store.
74521         regcomp: sync from glibc; always use nl_langinfo
74522         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
74523         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
74524         * modules/regex (Depends-on): Add nl_langinfo.
74526 2010-01-04  Eric Blake  <ebb9@byu.net>
74528         fdopendir: fix configure test
74529         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
74531 2010-01-01  Bruno Haible  <bruno@clisp.org>
74533         wchar: Remove unused configure check.
74534         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
74536 2010-01-01  Eric Blake  <ebb9@byu.net>
74538         headers: make check of system header explicit
74539         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
74540         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
74541         ourselves.
74542         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
74543         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74544         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
74545         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
74546         internals.
74547         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
74548         missing.
74549         Suggested by Bruno Haible.
74551 2010-01-01  Jim Meyering  <meyering@redhat.com>
74553         ChangeLog: tweak to eliminate unnecessary copyright line
74554         * ChangeLog: Remove a copyright line that was mistakenly updated
74555         by today's update-copyright run.  Reported by Eric Blake.
74557         test-update-copyright: don't let envvar setting cause test failure
74558         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74560 2010-01-01  Bruno Haible  <bruno@clisp.org>
74562         localename: Avoid gcc warning.
74563         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
74564         function if it is not used.
74566 2010-01-01  Jim Meyering  <meyering@redhat.com>
74568         update nearly all FSF copyright year lists to include 2010
74569         Use the same procedure as for 2009, outlined in
74570         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
74572         version-etc: set COPYRIGHT_YEAR to 2010
74573         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
74575 2009-12-31  Eric Blake  <ebb9@byu.net>
74577         doc: correct availability of cygwin 1.5.x getopt
74578         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
74579         variables.
74580         * doc/posix-functions/opterr.texi (opterr): Likewise.
74581         * doc/posix-functions/optind.texi (optind): Likewise.
74582         * doc/posix-functions/optopt.texi (optopt): Likewise.
74583         * doc/posix-functions/tzname.texi (tzname): Likewise.
74585         openat: update maintainer
74586         * modules/openat (Maintainer): Add myself.
74588         utimens: avoid shadowing warning
74589         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
74590         buffers into one, to avoid shadowing, as well as avoiding a
74591         redundant stat.
74592         Reported by Jim Meyering.
74594         test-dup2: avoid compiler warning
74595         * tests/test-dup2.c (is_inheritable): Only define if used.
74597 2010-01-01  Bruno Haible  <bruno@clisp.org>
74599         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
74600         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
74601         defined, use wctomb instead of wcrtomb.
74603 2010-01-01  Bruno Haible  <bruno@clisp.org>
74605         iconv: Reject native Solaris iconv.
74606         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
74607         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
74609 2009-12-31  Bruno Haible  <bruno@clisp.org>
74611         * tests/test-signal.c (main): Remove test of 'SIG'.
74613 2009-12-31  Bruno Haible  <bruno@clisp.org>
74615         spawn: Fix incomplete fix.
74616         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74617         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74618         warnings for GNULIB_POSIXCHECK again.
74619         Reported by Eric Blake.
74621 2009-12-31  Bruno Haible  <bruno@clisp.org>
74623         Avoid namespace pollution on glibc systems.
74624         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
74625         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
74626         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
74627         glibc systems.
74629 2009-12-31  Bruno Haible  <bruno@clisp.org>
74631         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
74632         (gl_REPLACE_WCHAR_H): Turn into a no-op.
74633         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
74634         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
74635         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
74636         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
74637         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
74639 2009-12-31  Bruno Haible  <bruno@clisp.org>
74641         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
74642         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
74643         afterwards.
74645 2009-12-31  Bruno Haible  <bruno@clisp.org>
74647         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
74648         SYS_UTSNAME_H.
74650 2009-12-31  Bruno Haible  <bruno@clisp.org>
74652         spawn: Fix misapplied patch.
74653         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74654         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74655         warnings for GNULIB_POSIXCHECK.
74657 2009-12-31  Bruno Haible  <bruno@clisp.org>
74659         times: Update after sys_times changed.
74660         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
74661         * modules/times (Files): Add it.
74662         (configure.ac): Invoke gl_FUNC_TIMES.
74664 2009-12-31  Bruno Haible  <bruno@clisp.org>
74666         Use AC_C_INLINE where necessary.
74667         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
74668         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
74669         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74670         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
74671         * m4/mbfile.m4 (gl_MBFILE): Likewise.
74672         * m4/mbiter.m4 (gl_MBITER): Likewise.
74673         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74674         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
74675         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
74676         * modules/u64 (configure.ac): Likewise.
74678 2009-12-31  Bruno Haible  <bruno@clisp.org>
74680         Use AC_C_INLINE instead of module 'inline' where possible.
74681         * modules/inline (Description): Clarify purpose.
74682         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
74683         * modules/count-one-bits (Depends-on): Remove inline.
74684         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
74685         * modules/openat (Depends-on): Remove inline.
74686         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
74687         instead of depending on module 'inline'.
74688         * modules/filevercmp (Depends-on, configure.ac): Likewise.
74689         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
74690         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
74691         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
74692         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
74693         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
74694         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
74695         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
74696         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
74697         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
74698         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
74699         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
74700         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
74701         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
74702         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
74703         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
74704         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
74705         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
74706         Likewise.
74707         * modules/unictype/property-ascii-hex-digit (Depends-on,
74708         configure.ac): Likewise.
74709         * modules/unictype/property-bidi-arabic-digit (Depends-on,
74710         configure.ac): Likewise.
74711         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
74712         configure.ac): Likewise.
74713         * modules/unictype/property-bidi-block-separator (Depends-on,
74714         configure.ac): Likewise.
74715         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
74716         configure.ac): Likewise.
74717         * modules/unictype/property-bidi-common-separator (Depends-on,
74718         configure.ac): Likewise.
74719         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
74720         Likewise.
74721         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
74722         configure.ac): Likewise.
74723         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
74724         configure.ac): Likewise.
74725         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
74726         configure.ac): Likewise.
74727         * modules/unictype/property-bidi-european-digit (Depends-on,
74728         configure.ac): Likewise.
74729         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
74730         configure.ac): Likewise.
74731         * modules/unictype/property-bidi-left-to-right (Depends-on,
74732         configure.ac): Likewise.
74733         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
74734         configure.ac): Likewise.
74735         * modules/unictype/property-bidi-other-neutral (Depends-on,
74736         configure.ac): Likewise.
74737         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
74738         Likewise.
74739         * modules/unictype/property-bidi-segment-separator (Depends-on,
74740         configure.ac): Likewise.
74741         * modules/unictype/property-bidi-whitespace (Depends-on,
74742         configure.ac): Likewise.
74743         * modules/unictype/property-combining (Depends-on, configure.ac):
74744         Likewise.
74745         * modules/unictype/property-composite (Depends-on, configure.ac):
74746         Likewise.
74747         * modules/unictype/property-currency-symbol (Depends-on,
74748         configure.ac): Likewise.
74749         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
74750         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
74751         Likewise.
74752         * modules/unictype/property-default-ignorable-code-point (Depends-on,
74753         configure.ac): Likewise.
74754         * modules/unictype/property-deprecated (Depends-on, configure.ac):
74755         Likewise.
74756         * modules/unictype/property-diacritic (Depends-on, configure.ac):
74757         Likewise.
74758         * modules/unictype/property-extender (Depends-on, configure.ac):
74759         Likewise.
74760         * modules/unictype/property-format-control (Depends-on, configure.ac):
74761         Likewise.
74762         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
74763         Likewise.
74764         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
74765         Likewise.
74766         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
74767         Likewise.
74768         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
74769         Likewise.
74770         * modules/unictype/property-hyphen (Depends-on, configure.ac):
74771         Likewise.
74772         * modules/unictype/property-id-continue (Depends-on, configure.ac):
74773         Likewise.
74774         * modules/unictype/property-id-start (Depends-on, configure.ac):
74775         Likewise.
74776         * modules/unictype/property-ideographic (Depends-on, configure.ac):
74777         Likewise.
74778         * modules/unictype/property-ids-binary-operator (Depends-on,
74779         configure.ac): Likewise.
74780         * modules/unictype/property-ids-trinary-operator (Depends-on,
74781         configure.ac): Likewise.
74782         * modules/unictype/property-ignorable-control (Depends-on,
74783         configure.ac): Likewise.
74784         * modules/unictype/property-iso-control (Depends-on, configure.ac):
74785         Likewise.
74786         * modules/unictype/property-join-control (Depends-on, configure.ac):
74787         Likewise.
74788         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
74789         Likewise.
74790         * modules/unictype/property-line-separator (Depends-on, configure.ac):
74791         Likewise.
74792         * modules/unictype/property-logical-order-exception (Depends-on,
74793         configure.ac): Likewise.
74794         * modules/unictype/property-lowercase (Depends-on, configure.ac):
74795         Likewise.
74796         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
74797         * modules/unictype/property-non-break (Depends-on, configure.ac):
74798         Likewise.
74799         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
74800         Likewise.
74801         * modules/unictype/property-numeric (Depends-on, configure.ac):
74802         Likewise.
74803         * modules/unictype/property-other-alphabetic (Depends-on,
74804         configure.ac): Likewise.
74805         * modules/unictype/property-other-default-ignorable-code-point
74806         (Depends-on, configure.ac): Likewise.
74807         * modules/unictype/property-other-grapheme-extend (Depends-on,
74808         configure.ac): Likewise.
74809         * modules/unictype/property-other-id-continue (Depends-on,
74810         configure.ac): Likewise.
74811         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
74812         Likewise.
74813         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
74814         Likewise.
74815         * modules/unictype/property-other-math (Depends-on, configure.ac):
74816         Likewise.
74817         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
74818         Likewise.
74819         * modules/unictype/property-paired-punctuation (Depends-on,
74820         configure.ac): Likewise.
74821         * modules/unictype/property-paragraph-separator (Depends-on,
74822         configure.ac): Likewise.
74823         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
74824         Likewise.
74825         * modules/unictype/property-pattern-white-space (Depends-on,
74826         configure.ac): Likewise.
74827         * modules/unictype/property-private-use (Depends-on, configure.ac):
74828         Likewise.
74829         * modules/unictype/property-punctuation (Depends-on, configure.ac):
74830         Likewise.
74831         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
74832         Likewise.
74833         * modules/unictype/property-radical (Depends-on, configure.ac):
74834         Likewise.
74835         * modules/unictype/property-sentence-terminal (Depends-on,
74836         configure.ac): Likewise.
74837         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
74838         Likewise.
74839         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
74840         * modules/unictype/property-terminal-punctuation (Depends-on,
74841         configure.ac): Likewise.
74842         * modules/unictype/property-titlecase (Depends-on, configure.ac):
74843         Likewise.
74844         * modules/unictype/property-unassigned-code-value (Depends-on,
74845         configure.ac): Likewise.
74846         * modules/unictype/property-unified-ideograph (Depends-on,
74847         configure.ac): Likewise.
74848         * modules/unictype/property-uppercase (Depends-on, configure.ac):
74849         Likewise.
74850         * modules/unictype/property-variation-selector (Depends-on,
74851         configure.ac): Likewise.
74852         * modules/unictype/property-white-space (Depends-on, configure.ac):
74853         Likewise.
74854         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
74855         Likewise.
74856         * modules/unictype/property-xid-start (Depends-on, configure.ac):
74857         Likewise.
74858         * modules/unictype/property-zero-width (Depends-on, configure.ac):
74859         Likewise.
74860         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
74861         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
74862         Likewise.
74864 2009-12-31  Bruno Haible  <bruno@clisp.org>
74866         Remove unnecessary AC_C_INLINE invocation.
74867         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
74868         since 2009-08-21.
74870 2009-12-31  Jim Meyering  <meyering@redhat.com>
74872         maint.mk: don't require explicit gpg_key_ID in cfg.mk
74873         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
74874         With this change, we can all remove the gpg_key_ID = ... definition
74875         from our respective cfg.mk files.
74877         maint.mk: create announcement template in ~/, not in /tmp
74878         * top/maint.mk (emit_upload_commands): Adjust.
74879         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
74880         Remove temporary file, .ci-msg.
74882 2009-12-31  Eric Blake  <ebb9@byu.net>
74884         link-warning: always build headers with link warnings
74885         * modules/arpa_inet (Makefile.am): Always build replacement
74886         header.
74887         * modules/ctype (Makefile.am): Likewise.
74888         * modules/dirent (Makefile.am): Likewise.
74889         * modules/inttypes (Makefile.am): Likewise.
74890         * modules/langinfo (Makefile.am): Likewise.
74891         * modules/locale (Makefile.am): Likewise.
74892         * modules/spawn (Makefile.am): Likewise.
74893         * modules/sys_file (Makefile.am): Likewise.
74894         * modules/sys_ioctl (Makefile.am): Likewise.
74895         * modules/sys_select (Makefile.am): Likewise.
74896         * modules/sys_socket (Makefile.am): Likewise.
74897         * modules/sys_times (Makefile.am): Likewise.
74898         * modules/sys_utsname (Makefile.am): Likewise.
74899         * modules/sys_wait (Makefile.am): Likewise.
74900         * modules/wchar (Makefile.am): Likewise.
74901         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
74902         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
74903         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
74904         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
74905         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
74906         Likewise.
74907         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
74908         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
74909         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
74910         Likewise.
74911         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
74912         Likewise.
74913         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
74914         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
74915         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
74916         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74917         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
74918         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74919         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74920         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
74921         (gl_WCHAR_H_DEFAULTS): Likewise.
74923 2009-12-31  Eric Blake  <ebb9@byu.net>
74925         signal, spawn: use link warnings
74926         * lib/signal.in.h (sigset_t): Make unconditional.
74927         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
74928         (sigpending, sigprocmask, sigaction): Add link warnings.
74929         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
74930         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
74931         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
74932         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
74933         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
74934         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
74935         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
74936         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
74937         (posix_spawn_file_actions_destroy)
74938         (posix_spawn_file_actions_addopen)
74939         (posix_spawn_file_actions_addclose)
74940         (posix_spawn_file_actions_adddup2): Likewise.
74941         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
74942         * tests/test-signal.c (main): Enhance test.
74944         spawn: improve wrapper support
74945         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
74946         (gl_SPAWN_H_DEFAULTS): New defaults.
74947         * modules/spawn (Makefile.am): Substitute them.
74948         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
74949         Only declare if missing or broken.
74951         sys_times, sys_utsname: use include_next
74952         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
74953         header.
74954         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
74955         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74956         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74957         * modules/sys_times (Depends-on): Add include_next.
74958         (Makefile.am): Substitute additional values.
74959         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
74960         * lib/sys_times.in.h (includes): Include native header, if
74961         available.
74962         * lib/sys_utsname.in.h (includes): Likewise.
74963         * tests/test-sys_times.c (main): Enhance test.
74965         fdutimensat: revert prior patch
74966         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
74967         utimens.h.
74968         Reported by Bruno Haible.
74970 2009-12-30  Eric Blake  <ebb9@byu.net>
74972         sys_wait: drop link-warning dependency
74973         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
74974         link-warning efforts.
74975         * lib/sys_wait.in.h: Likewise.
74977         fdutimensat: remove bogus dependency
74978         * modules/fdutimensat (Depends-on): Drop inline.
74980         unistd: fix typo
74981         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
74983 2009-12-30  Bruno Haible  <bruno@clisp.org>
74985         Fix compilation error with Solaris cc.
74986         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
74987         * lib/unicase/u16-is-invariant.c: Likewise.
74988         * lib/unicase/u32-is-invariant.c: Likewise.
74989         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74991 2009-12-30  Bruno Haible  <bruno@clisp.org>
74993         Fix test crash.
74994         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
74995         locales.
74996         Reported by Simon Josefsson <simon@josefsson.org>.
74998 2009-12-30  Bruno Haible  <bruno@clisp.org>
75000         Fix compilation error on most platforms.
75001         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
75002         Reported by Simon Josefsson <simon@josefsson.org>
75003         and Nelson H. F. Beebe <beebe@math.utah.edu>.
75005 2009-12-30  Eric Blake  <ebb9@byu.net>
75007         futimens, utimensat: work around ntfs-3g bug
75008         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
75009         a ctime bug is present, and expand workaround to cover ntfs-3g.
75010         * lib/utimens.c (fdutimens, lutimens): Likewise.
75011         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
75012         (validate_timespec): Adjust return value.
75013         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
75014         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
75015         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
75017 2009-12-29  Eric Blake  <ebb9@byu.net>
75019         link-warning: make usage consistent
75020         * modules/ctype (Depends-on): Add link-warning.
75021         (Makefile.am): Update rules accordingly.
75022         * modules/langinfo (Depends-on, Makefile.am): Likewise.
75023         * modules/locale (Depends-on, Makefile.am): Likewise.
75024         * modules/sys_file (Makefile.am): Likewise.
75025         * modules/getopt-posix (Makefile.am): Delete unused link warning
75026         efforts.
75027         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
75028         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
75029         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
75030         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
75032         stdio: remove unused variables
75033         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
75034         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
75035         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
75037         tests: test more substitute headers
75038         * modules/ctype-tests: New file.
75039         * modules/dirent-tests: Likewise.
75040         * modules/spawn-tests: Likewise.
75041         * modules/sys_file-tests: Likewise.
75042         * modules/sys_ioctl-tests: Likewise.
75043         * modules/sys_wait-tests: Likewise.
75044         * tests/test-ctype.c: Likewise.
75045         * tests/test-dirent.c: Likewise.
75046         * tests/test-spawn.c: Likewise.
75047         * tests/test-sys_file.c: Likewise.
75048         * tests/test-sys_ioctl.c: Likewise.
75049         * tests/test-sys_wait.c: Likewise.
75050         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
75051         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
75052         whether or not flock is in use.
75054         tests: remove License section from module
75055         * modules/arpa_inet-tests: Remove unneeded section.
75056         * modules/byteswap-tests: Likewise.
75057         * modules/ceilf-tests: Likewise.
75058         * modules/ceill-tests: Likewise.
75059         * modules/crypto/des-tests: Likewise.
75060         * modules/crypto/gc-arcfour-tests: Likewise.
75061         * modules/crypto/gc-arctwo-tests: Likewise.
75062         * modules/crypto/gc-des-tests: Likewise.
75063         * modules/crypto/gc-hmac-md5-tests: Likewise.
75064         * modules/crypto/gc-hmac-sha1-tests: Likewise.
75065         * modules/crypto/gc-md2-tests: Likewise.
75066         * modules/crypto/gc-md4-tests: Likewise.
75067         * modules/crypto/gc-md5-tests: Likewise.
75068         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
75069         * modules/crypto/gc-rijndael-tests: Likewise.
75070         * modules/crypto/gc-sha1-tests: Likewise.
75071         * modules/crypto/gc-tests: Likewise.
75072         * modules/crypto/md2-tests: Likewise.
75073         * modules/crypto/md4-tests: Likewise.
75074         * modules/fcntl-h-tests: Likewise.
75075         * modules/floorf-tests: Likewise.
75076         * modules/floorl-tests: Likewise.
75077         * modules/frexp-nolibm-tests: Likewise.
75078         * modules/frexp-tests: Likewise.
75079         * modules/frexpl-nolibm-tests: Likewise.
75080         * modules/frexpl-tests: Likewise.
75081         * modules/getaddrinfo-tests: Likewise.
75082         * modules/inttypes-tests: Likewise.
75083         * modules/isfinite-tests: Likewise.
75084         * modules/isinf-tests: Likewise.
75085         * modules/ldexpl-tests: Likewise.
75086         * modules/locale-tests: Likewise.
75087         * modules/math-tests: Likewise.
75088         * modules/netdb-tests: Likewise.
75089         * modules/netinet_in-tests: Likewise.
75090         * modules/printf-frexp-tests: Likewise.
75091         * modules/printf-frexpl-tests: Likewise.
75092         * modules/priv-set-tests: Likewise.
75093         * modules/random_r-tests: Likewise.
75094         * modules/round-tests: Likewise.
75095         * modules/roundf-tests: Likewise.
75096         * modules/roundl-tests: Likewise.
75097         * modules/search-tests: Likewise.
75098         * modules/select-tests: Likewise.
75099         * modules/signal-tests: Likewise.
75100         * modules/stdbool-tests: Likewise.
75101         * modules/stddef-tests: Likewise.
75102         * modules/stdint-tests: Likewise.
75103         * modules/stdio-tests: Likewise.
75104         * modules/stdlib-tests: Likewise.
75105         * modules/string-tests: Likewise.
75106         * modules/strings-tests: Likewise.
75107         * modules/sys_select-tests: Likewise.
75108         * modules/sys_socket-tests: Likewise.
75109         * modules/sys_stat-tests: Likewise.
75110         * modules/sys_time-tests: Likewise.
75111         * modules/sys_utsname-tests: Likewise.
75112         * modules/sysexits-tests: Likewise.
75113         * modules/time-tests: Likewise.
75114         * modules/trunc-tests: Likewise.
75115         * modules/truncf-tests: Likewise.
75116         * modules/truncl-tests: Likewise.
75117         * modules/tsearch-tests: Likewise.
75118         * modules/unistd-tests: Likewise.
75119         * modules/wchar-tests: Likewise.
75120         * modules/wctype-tests: Likewise.
75122         tests: fix license on several tests
75123         * tests/test-des.c: Update to GPLv3+.
75124         * tests/test-flock.c: Likewise.
75125         * tests/test-fsync.c: Likewise.
75126         * tests/test-futimens.h: Likewise.
75127         * tests/test-gc-arcfour.c: Likewise.
75128         * tests/test-gc-arctwo.c: Likewise.
75129         * tests/test-gc-des.c: Likewise.
75130         * tests/test-gc-hmac-md5.c: Likewise.
75131         * tests/test-gc-hmac-sha1.c: Likewise.
75132         * tests/test-gc-md2.c: Likewise.
75133         * tests/test-gc-md4.c: Likewise.
75134         * tests/test-gc-md5.c: Likewise.
75135         * tests/test-gc-pbkdf2-sha1.c: Likewise.
75136         * tests/test-gc-rijndael.c: Likewise.
75137         * tests/test-gc-sha1.c: Likewise.
75138         * tests/test-gc.c: Likewise.
75139         * tests/test-getcwd.c: Likewise.
75140         * tests/test-link.c: Likewise.
75141         * tests/test-link.h: Likewise.
75142         * tests/test-lutimens.h: Likewise.
75143         * tests/test-md2.c: Likewise.
75144         * tests/test-md4.c: Likewise.
75145         * tests/test-mkdir.h: Likewise.
75146         * tests/test-rename.c: Likewise.
75147         * tests/test-rename.h: Likewise.
75148         * tests/test-safe-alloc.c: Likewise.
75149         * tests/test-utimens-common.h: Likewise.
75150         * tests/test-utimens.h: Likewise.
75152         maint: sync license texts
75153         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
75154         * doc/gpl-3.0.texi: Revert copyright year update.
75155         * doc/lgpl-3.0.texi: Likewise.
75157 2009-12-29  Jim Meyering  <meyering@redhat.com>
75159         update nearly all FSF copyright year lists to include 2009
75160         The files named by the following are exempted:
75161             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
75162               test -f "$dst" && { echo "$dst"; continue; }
75163               test -d "$dst" || continue
75164               echo "$dst"/$(basename "$src")
75165             done > exempt
75166             git ls-files tests/unictype >> exempt
75167         In the remaining files, convert to all-interval notation if
75168         - there is already at least one year interval like 2000-2003
75169         - the file is maintained by me
75170         - the file is in lib/uni*/, where that style already prevails
75171         Otherwise, use update-copyright's default.
75173 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75174         and Eric Blake  <ebb9@byu.net>
75176         tests: don't require debug system() to pass
75177         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
75178         * tests/test-rmdir.h (test_rmdir_func): Likewise.
75179         * tests/test-unlink.h (test_unlink_func): Likewise.
75180         * tests/test-fstatat.c (main): ...into callers.
75181         * tests/test-lstat.c (main): Likewise.
75182         * tests/test-rmdir.c (main): Likewise.
75183         * tests/test-unlink.c (main): Likewise.
75184         * tests/test-unlinkat.c (main): Likewise.
75185         * tests/test-areadlink-with-size.c (main): Don't require a
75186         debug-only system call to pass, aiding cross-testing to mingw.
75187         * tests/test-areadlink.c (main): Likewise.
75188         * tests/test-areadlinkat-with-size.c (main): Likewise.
75189         * tests/test-areadlinkat.c (main): Likewise.
75190         * tests/test-canonicalize-lgpl.c (main): Likewise.
75191         * tests/test-canonicalize.c (main): Likewise.
75192         * tests/test-chown.c (main): Likewise.
75193         * tests/test-fchownat.c (main): Likewise.
75194         * tests/test-lchown.c (main): Likewise.
75195         * tests/test-fdutimensat.c (main): Likewise.
75196         * tests/test-futimens.c (main): Likewise.
75197         * tests/test-link.c (main): Likewise.
75198         * tests/test-linkat.c (main): Likewise.
75199         * tests/test-mkdir.c (main): Likewise.
75200         * tests/test-mkdirat.c (main): Likewise.
75201         * tests/test-mkfifo.c (main): Likewise.
75202         * tests/test-mkfifoat.c (main): Likewise.
75203         * tests/test-mknod.c (main): Likewise.
75204         * tests/test-readlink.c (main): Likewise.
75205         * tests/test-remove.c (main): Likewise.
75206         * tests/test-rename.c (main): Likewise.
75207         * tests/test-renameat.c (main): Likewise.
75208         * tests/test-symlink.c (main): Likewise.
75209         * tests/test-symlinkat.c (main): Likewise.
75210         * tests/test-utimens.c (main): Likewise.
75211         * tests/test-utimensat.c (main): Likewise.
75213 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75215         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
75216         on $(UNUSED_PARAMETER_H) to avoid build failure.
75218 2009-12-28  Jim Meyering  <meyering@redhat.com>
75220         update-copyright: you may specify a max. line length other than 72
75221         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
75223         maint: use consistent FSF copyright line syntax
75224         * lib/posixtm.c: Add missing comma in FSF copyright line.
75225         * lib/posixtm.h: Likewise.
75226         * lib/getugroups.c: Add missing ", Inc.".
75228         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
75229         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
75230         FSF copyright line.  Remove trailing blanks.
75232 2009-12-28  Eric Blake  <ebb9@byu.net>
75234         test-dup2: reduce dependencies
75235         * modules/cloexec (Configure.ac): Set witness.
75236         * modules/dup2-tests (Depends-on): Drop cloexec.
75237         * tests/test-dup2.c (main): Skip portion of test if cloexec module
75238         not present.
75239         Suggested by Bruno Haible.
75241 2009-12-26  Bruno Haible  <bruno@clisp.org>
75243         Remove an unneeded dependency.
75244         * modules/fseterr (Depends-on): Remove dup2.
75246 2009-12-26  Eric Blake  <ebb9@byu.net>
75248         tests: use macros.h in more places
75249         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
75250         (ASSERT_STREAM): Provide default of stderr.
75251         * tests/test-dirent-safer.c: Include macros.h, using alternate
75252         stream for assertions.
75253         * tests/test-dup-safer.c: Likewise.
75254         * tests/test-freopen-safer.c: Likewise.
75255         * tests/test-getopt.c: Likewise.
75256         * tests/test-openat-safer.c: Likewise.
75257         * tests/test-pipe.c: Likewise.
75258         * tests/test-popen-safer.c: Likewise.
75259         * modules/dirent-safer-tests (Files): Include macros.h.
75260         * modules/unistd-safer-tests (Files): Likewise.
75261         * modules/freopen-safer-tests (Files): Likewise.
75262         * modules/getopt-posix-tests (Files): Likewise.
75263         * modules/openat-safer-tests (Files): Likewise.
75264         * modules/pipe-tests (Files): Likewise.
75266 2009-12-26  Bruno Haible  <bruno@clisp.org>
75268         javacomp-script: Portability fix.
75269         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
75270         that it also works on Solaris.
75272 2009-12-26  Bruno Haible  <bruno@clisp.org>
75274         localename: Fix storage allocation of gl_locale_name_thread's result.
75275         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
75276         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
75277         all platforms that have 'uselocale'.
75278         (gl_locale_name_thread_unsafe): New function, extracted from
75279         gl_locale_name_thread.
75280         (gl_locale_name_thread): Call struniq on all platforms that have
75281         'uselocale'.
75282         * tests/test-localename.c (test_locale_name_thread): Check that the
75283         resulting strings are permanently allocated.
75284         * modules/localename-tests (Depends-on): Add strdup.
75286 2009-12-26  Bruno Haible  <bruno@clisp.org>
75288         * tests/test-localename.c (categories): Fill in the strings.
75290 2009-12-26  Jim Meyering  <meyering@redhat.com>
75292         isdir: complete the removal of m4/isdir.m4
75293         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
75295         isdir: clean up, since at least grep still uses it
75296         * lib/isdir.c: Include "isdir.h".
75297         (S_ISDIR): Remove now-unneeded definition.
75298         * modules/isdir (Files): Add lib/isdir.h.
75299         * lib/isdir.h: New file, with declaration.
75300         * m4/isdir.m4: Remove file -- unneeded.
75302 2009-12-25  Bruno Haible  <bruno@clisp.org>
75304         selinux-h: Make generated .h files standalone.
75305         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
75306         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
75307         * lib/se-selinux.in.h: Likewise.
75308         * modules/selinux-h (Depends-on): Add unused-parameter.
75309         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
75310         selinux/selinux.h and selinux/context.h.
75311         Suggested by Eric Blake.
75313 2009-12-25  Bruno Haible  <bruno@clisp.org>
75315         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
75316         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
75317         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
75318         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
75319         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
75321 2009-12-24  Bruno Haible  <bruno@clisp.org>
75323         openat: Fix warning.
75324         * lib/openat-proc.c: Include <unistd.h>.
75326 2009-12-24  Bruno Haible  <bruno@clisp.org>
75328         New module 'unused-parameter'.
75329         * build-aux/unused-parameter.h: New file, extracted from earlier
75330         gnulib-common.m4.
75331         * modules/unused-parameter: New file.
75332         * lib/unistr.h: Include unused-parameter.h.
75333         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
75334         _GL_UNUSED.
75335         * modules/unistr/base (Depends-on): Add unused-parameter.
75337 2009-12-24  Bruno Haible  <bruno@clisp.org>
75339         Add missing dependencies to 'extensions' module.
75340         * m4/extensions.m4: Add comment.
75341         * modules/accept4 (Depends-on): Add extensions.
75342         * modules/dup3 (Depends-on): Likewise.
75343         * modules/fcntl (Depends-on): Likewise.
75344         * modules/futimens (Depends-on): Likewise.
75345         * modules/mknod (Depends-on): Likewise.
75346         * modules/pipe2 (Depends-on): Likewise.
75347         * modules/stat-time (Depends-on): Likewise.
75348         * modules/strcasestr-simple (Depends-on): Likewise.
75349         * modules/strsignal (Depends-on): Likewise.
75350         * modules/utimensat (Depends-on): Likewise.
75351         * modules/localcharset (Depends-on): Likewise. Needed because of
75352         gl_FCNTL_O_FLAGS.
75353         * modules/wcrtomb (Depends-on): Likewise. Needed because of
75354         AC_TYPE_MBSTATE_T.
75355         * modules/wcsnrtombs (Depends-on): Likewise.
75356         * modules/wcsrtombs (Depends-on): Likewise.
75358 2009-12-24  Bruno Haible  <bruno@clisp.org>
75360         binary-io: Avoid gcc warning due to SET_BINARY.
75361         * lib/binary-io.h (SET_BINARY): Cast the result to void.
75362         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
75364 2009-12-24  Bruno Haible  <bruno@clisp.org>
75366         Avoid future namespace pollution on glibc systems.
75367         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
75368         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
75369         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
75370         glibc systems.
75372 2009-12-24  Bruno Haible  <bruno@clisp.org>
75374         Refactor common macros used in tests.
75375         * tests/macros.h: New file.
75376         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
75377         and/or <stdlib.h>, if appropriate.
75378         (ASSERT, SIZEOF): Remove macros.
75379         * tests/test-areadlink-with-size.c: Likewise.
75380         * tests/test-areadlinkat.c: Likewise.
75381         * tests/test-areadlinkat-with-size.c: Likewise.
75382         * tests/test-argmatch.c: Likewise.
75383         * tests/test-argv-iter.c: Likewise.
75384         * tests/test-array-mergesort.c: Likewise.
75385         * tests/test-array_list.c: Likewise.
75386         * tests/test-array_oset.c: Likewise.
75387         * tests/test-avltree_list.c: Likewise.
75388         * tests/test-avltree_oset.c: Likewise.
75389         * tests/test-avltreehash_list.c: Likewise.
75390         * tests/test-base64.c: Likewise.
75391         * tests/test-binary-io.c: Likewise.
75392         * tests/test-bitrotate.c: Likewise.
75393         * tests/test-btowc.c: Likewise.
75394         * tests/test-byteswap.c: Likewise.
75395         * tests/test-c-ctype.c: Likewise.
75396         * tests/test-c-stack.c: Likewise.
75397         * tests/test-c-strcasecmp.c: Likewise.
75398         * tests/test-c-strcasestr.c: Likewise.
75399         * tests/test-c-strncasecmp.c: Likewise.
75400         * tests/test-c-strstr.c: Likewise.
75401         * tests/test-canonicalize-lgpl.c: Likewise.
75402         * tests/test-canonicalize.c: Likewise.
75403         * tests/test-carray_list.c: Likewise.
75404         * tests/test-ceilf1.c: Likewise.
75405         * tests/test-ceilf2.c: Likewise.
75406         * tests/test-ceill.c: Likewise.
75407         * tests/test-chown.c: Likewise.
75408         * tests/test-cloexec.c: Likewise.
75409         * tests/test-copy-acl.c: Likewise.
75410         * tests/test-copy-file.c: Likewise.
75411         * tests/test-count-one-bits.c: Likewise.
75412         * tests/test-dprintf-posix.c: Likewise.
75413         * tests/test-dup2.c: Likewise.
75414         * tests/test-dup3.c: Likewise.
75415         * tests/test-duplocale.c: Likewise.
75416         * tests/test-fbufmode.c: Likewise.
75417         * tests/test-fchdir.c: Likewise.
75418         * tests/test-fchownat.c: Likewise.
75419         * tests/test-fcntl-safer.c: Likewise.
75420         * tests/test-fcntl.c: Likewise.
75421         * tests/test-fdopendir.c: Likewise.
75422         * tests/test-fdutimensat.c: Likewise.
75423         * tests/test-fflush2.c: Likewise.
75424         * tests/test-file-has-acl.c: Likewise.
75425         * tests/test-filevercmp.c: Likewise.
75426         * tests/test-flock.c: Likewise.
75427         * tests/test-floorf1.c: Likewise.
75428         * tests/test-floorf2.c: Likewise.
75429         * tests/test-floorl.c: Likewise.
75430         * tests/test-fnmatch.c: Likewise.
75431         * tests/test-fopen.h: Likewise.
75432         * tests/test-fpending.c: Likewise.
75433         * tests/test-fprintf-posix.c: Likewise.
75434         * tests/test-fpurge.c: Likewise.
75435         * tests/test-freadable.c: Likewise.
75436         * tests/test-freadahead.c: Likewise.
75437         * tests/test-freading.c: Likewise.
75438         * tests/test-freadptr.c: Likewise.
75439         * tests/test-freadptr2.c: Likewise.
75440         * tests/test-freadseek.c: Likewise.
75441         * tests/test-freopen.c: Likewise.
75442         * tests/test-frexp.c: Likewise.
75443         * tests/test-frexpl.c: Likewise.
75444         * tests/test-fseek.c: Likewise.
75445         * tests/test-fseeko.c: Likewise.
75446         * tests/test-fstatat.c: Likewise.
75447         * tests/test-fstrcmp.c: Likewise.
75448         * tests/test-fsync.c: Likewise.
75449         * tests/test-ftell.c: Likewise.
75450         * tests/test-ftello.c: Likewise.
75451         * tests/test-func.c: Likewise.
75452         * tests/test-futimens.c: Likewise.
75453         * tests/test-fwritable.c: Likewise.
75454         * tests/test-fwriting.c: Likewise.
75455         * tests/test-getcwd.c: Likewise.
75456         * tests/test-getdate.c: Likewise.
75457         * tests/test-getdelim.c: Likewise.
75458         * tests/test-getdtablesize.c: Likewise.
75459         * tests/test-getgroups.c: Likewise.
75460         * tests/test-getline.c: Likewise.
75461         * tests/test-getndelim2.c: Likewise.
75462         * tests/test-glob.c: Likewise.
75463         * tests/test-hash.c: Likewise.
75464         * tests/test-i-ring.c: Likewise.
75465         * tests/test-iconv-utf.c: Likewise.
75466         * tests/test-iconv.c: Likewise.
75467         * tests/test-idpriv-drop.c: Likewise.
75468         * tests/test-idpriv-droptemp.c: Likewise.
75469         * tests/test-inet_ntop.c: Likewise.
75470         * tests/test-inet_pton.c: Likewise.
75471         * tests/test-isblank.c: Likewise.
75472         * tests/test-isfinite.c: Likewise.
75473         * tests/test-isinf.c: Likewise.
75474         * tests/test-isnan.c: Likewise.
75475         * tests/test-isnand.h: Likewise.
75476         * tests/test-isnanf.h: Likewise.
75477         * tests/test-isnanl.h: Likewise.
75478         * tests/test-lchown.c: Likewise.
75479         * tests/test-ldexpl.c: Likewise.
75480         * tests/test-link.c: Likewise.
75481         * tests/test-linkat.c: Likewise.
75482         * tests/test-linked_list.c: Likewise.
75483         * tests/test-linkedhash_list.c: Likewise.
75484         * tests/test-localename.c: Likewise.
75485         * tests/test-lseek.c: Likewise.
75486         * tests/test-lstat.c: Likewise.
75487         * tests/test-mbmemcasecmp.c: Likewise.
75488         * tests/test-mbmemcasecoll.c: Likewise.
75489         * tests/test-mbrtowc.c: Likewise.
75490         * tests/test-mbscasecmp.c: Likewise.
75491         * tests/test-mbscasestr1.c: Likewise.
75492         * tests/test-mbscasestr2.c: Likewise.
75493         * tests/test-mbscasestr3.c: Likewise.
75494         * tests/test-mbscasestr4.c: Likewise.
75495         * tests/test-mbschr.c: Likewise.
75496         * tests/test-mbscspn.c: Likewise.
75497         * tests/test-mbsinit.c: Likewise.
75498         * tests/test-mbsncasecmp.c: Likewise.
75499         * tests/test-mbsnrtowcs.c: Likewise.
75500         * tests/test-mbspbrk.c: Likewise.
75501         * tests/test-mbspcasecmp.c: Likewise.
75502         * tests/test-mbsrchr.c: Likewise.
75503         * tests/test-mbsrtowcs.c: Likewise.
75504         * tests/test-mbsspn.c: Likewise.
75505         * tests/test-mbsstr1.c: Likewise.
75506         * tests/test-mbsstr2.c: Likewise.
75507         * tests/test-mbsstr3.c: Likewise.
75508         * tests/test-memchr.c: Likewise.
75509         * tests/test-memchr2.c: Likewise.
75510         * tests/test-memcmp.c: Likewise.
75511         * tests/test-memmem.c: Likewise.
75512         * tests/test-memrchr.c: Likewise.
75513         * tests/test-mkdir.c: Likewise.
75514         * tests/test-mkdirat.c: Likewise.
75515         * tests/test-mkfifo.c: Likewise.
75516         * tests/test-mkfifoat.c: Likewise.
75517         * tests/test-mknod.c: Likewise.
75518         * tests/test-nanosleep.c: Likewise.
75519         * tests/test-nl_langinfo.c: Likewise.
75520         * tests/test-obstack-printf.c: Likewise.
75521         * tests/test-open.c: Likewise.
75522         * tests/test-openat.c: Likewise.
75523         * tests/test-pipe-filter-gi1.c: Likewise.
75524         * tests/test-pipe-filter-gi2-main.c: Likewise.
75525         * tests/test-pipe-filter-ii1.c: Likewise.
75526         * tests/test-pipe-filter-ii2-main.c: Likewise.
75527         * tests/test-pipe2.c: Likewise.
75528         * tests/test-popen.h: Likewise.
75529         * tests/test-posixtm.c: Likewise.
75530         * tests/test-pread.c: Likewise.
75531         * tests/test-printf-frexp.c: Likewise.
75532         * tests/test-printf-frexpl.c: Likewise.
75533         * tests/test-printf-posix.c: Likewise.
75534         * tests/test-priv-set.c: Likewise.
75535         * tests/test-quotearg.c: Likewise.
75536         * tests/test-random_r.c: Likewise.
75537         * tests/test-rawmemchr.c: Likewise.
75538         * tests/test-rbtree_list.c: Likewise.
75539         * tests/test-rbtree_oset.c: Likewise.
75540         * tests/test-rbtreehash_list.c: Likewise.
75541         * tests/test-readlink.c: Likewise.
75542         * tests/test-remove.c: Likewise.
75543         * tests/test-rename.c: Likewise.
75544         * tests/test-renameat.c: Likewise.
75545         * tests/test-rmdir.c: Likewise.
75546         * tests/test-round1.c: Likewise.
75547         * tests/test-roundf1.c: Likewise.
75548         * tests/test-roundl.c: Likewise.
75549         * tests/test-safe-alloc.c: Likewise.
75550         * tests/test-sameacls.c: Likewise.
75551         * tests/test-set-mode-acl.c: Likewise.
75552         * tests/test-setenv.c: Likewise.
75553         * tests/test-sigaction.c: Likewise.
75554         * tests/test-signbit.c: Likewise.
75555         * tests/test-sleep.c: Likewise.
75556         * tests/test-snprintf-posix.c: Likewise.
75557         * tests/test-snprintf.c: Likewise.
75558         * tests/test-sprintf-posix.c: Likewise.
75559         * tests/test-stat-time.c: Likewise.
75560         * tests/test-stat.c: Likewise.
75561         * tests/test-strcasestr.c: Likewise.
75562         * tests/test-strchrnul.c: Likewise.
75563         * tests/test-strerror.c: Likewise.
75564         * tests/test-striconv.c: Likewise.
75565         * tests/test-striconveh.c: Likewise.
75566         * tests/test-striconveha.c: Likewise.
75567         * tests/test-strsignal.c: Likewise.
75568         * tests/test-strstr.c: Likewise.
75569         * tests/test-strtod.c: Likewise.
75570         * tests/test-strverscmp.c: Likewise.
75571         * tests/test-symlink.c: Likewise.
75572         * tests/test-symlinkat.c: Likewise.
75573         * tests/test-trunc1.c: Likewise.
75574         * tests/test-trunc2.c: Likewise.
75575         * tests/test-truncf1.c: Likewise.
75576         * tests/test-truncf2.c: Likewise.
75577         * tests/test-truncl.c: Likewise.
75578         * tests/test-uname.c: Likewise.
75579         * tests/test-unlink.c: Likewise.
75580         * tests/test-unlinkat.c: Likewise.
75581         * tests/test-unsetenv.c: Likewise.
75582         * tests/test-usleep.c: Likewise.
75583         * tests/test-utimens.c: Likewise.
75584         * tests/test-utimensat.c: Likewise.
75585         * tests/test-vasnprintf-posix.c: Likewise.
75586         * tests/test-vasnprintf-posix2.c: Likewise.
75587         * tests/test-vasnprintf.c: Likewise.
75588         * tests/test-vasprintf-posix.c: Likewise.
75589         * tests/test-vasprintf.c: Likewise.
75590         * tests/test-vdprintf-posix.c: Likewise.
75591         * tests/test-vfprintf-posix.c: Likewise.
75592         * tests/test-vprintf-posix.c: Likewise.
75593         * tests/test-vsnprintf-posix.c: Likewise.
75594         * tests/test-vsnprintf.c: Likewise.
75595         * tests/test-vsprintf-posix.c: Likewise.
75596         * tests/test-wcrtomb.c: Likewise.
75597         * tests/test-wcsnrtombs.c: Likewise.
75598         * tests/test-wcsrtombs.c: Likewise.
75599         * tests/test-wctype.c: Likewise.
75600         * tests/test-wcwidth.c: Likewise.
75601         * tests/test-xfprintf-posix.c: Likewise.
75602         * tests/test-xmemdup0.c: Likewise.
75603         * tests/test-xprintf-posix.c: Likewise.
75604         * tests/test-xvasprintf.c: Likewise.
75605         * tests/unicase/test-locale-language.c: Likewise.
75606         * tests/unicase/test-mapping-part1.h: Likewise.
75607         * tests/unicase/test-predicate-part1.h: Likewise.
75608         * tests/unicase/test-u8-casecmp.c: Likewise.
75609         * tests/unicase/test-u8-casecoll.c: Likewise.
75610         * tests/unicase/test-u8-casefold.c: Likewise.
75611         * tests/unicase/test-u8-is-cased.c: Likewise.
75612         * tests/unicase/test-u8-is-casefolded.c: Likewise.
75613         * tests/unicase/test-u8-is-lowercase.c: Likewise.
75614         * tests/unicase/test-u8-is-titlecase.c: Likewise.
75615         * tests/unicase/test-u8-is-uppercase.c: Likewise.
75616         * tests/unicase/test-u8-tolower.c: Likewise.
75617         * tests/unicase/test-u8-totitle.c: Likewise.
75618         * tests/unicase/test-u8-toupper.c: Likewise.
75619         * tests/unicase/test-u16-casecmp.c: Likewise.
75620         * tests/unicase/test-u16-casecoll.c: Likewise.
75621         * tests/unicase/test-u16-casefold.c: Likewise.
75622         * tests/unicase/test-u16-is-cased.c: Likewise.
75623         * tests/unicase/test-u16-is-casefolded.c: Likewise.
75624         * tests/unicase/test-u16-is-lowercase.c: Likewise.
75625         * tests/unicase/test-u16-is-titlecase.c: Likewise.
75626         * tests/unicase/test-u16-is-uppercase.c: Likewise.
75627         * tests/unicase/test-u16-tolower.c: Likewise.
75628         * tests/unicase/test-u16-totitle.c: Likewise.
75629         * tests/unicase/test-u16-toupper.c: Likewise.
75630         * tests/unicase/test-u32-casecmp.c: Likewise.
75631         * tests/unicase/test-u32-casecoll.c: Likewise.
75632         * tests/unicase/test-u32-casefold.c: Likewise.
75633         * tests/unicase/test-u32-is-cased.c: Likewise.
75634         * tests/unicase/test-u32-is-casefolded.c: Likewise.
75635         * tests/unicase/test-u32-is-lowercase.c: Likewise.
75636         * tests/unicase/test-u32-is-titlecase.c: Likewise.
75637         * tests/unicase/test-u32-is-uppercase.c: Likewise.
75638         * tests/unicase/test-u32-tolower.c: Likewise.
75639         * tests/unicase/test-u32-totitle.c: Likewise.
75640         * tests/unicase/test-u32-toupper.c: Likewise.
75641         * tests/unicase/test-ulc-casecmp.c: Likewise.
75642         * tests/unicase/test-ulc-casecoll.c: Likewise.
75643         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
75644         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
75645         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
75646         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
75647         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
75648         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
75649         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
75650         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
75651         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
75652         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
75653         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
75654         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
75655         * tests/unictype/test-bidi_byname.c: Likewise.
75656         * tests/unictype/test-bidi_name.c: Likewise.
75657         * tests/unictype/test-bidi_of.c: Likewise.
75658         * tests/unictype/test-bidi_test.c: Likewise.
75659         * tests/unictype/test-block_list.c: Likewise.
75660         * tests/unictype/test-block_of.c: Likewise.
75661         * tests/unictype/test-block_test.c: Likewise.
75662         * tests/unictype/test-categ_and.c: Likewise.
75663         * tests/unictype/test-categ_and_not.c: Likewise.
75664         * tests/unictype/test-categ_byname.c: Likewise.
75665         * tests/unictype/test-categ_name.c: Likewise.
75666         * tests/unictype/test-categ_none.c: Likewise.
75667         * tests/unictype/test-categ_of.c: Likewise.
75668         * tests/unictype/test-categ_or.c: Likewise.
75669         * tests/unictype/test-categ_test_withtable.c: Likewise.
75670         * tests/unictype/test-combining.c: Likewise.
75671         * tests/unictype/test-decdigit.c: Likewise.
75672         * tests/unictype/test-digit.c: Likewise.
75673         * tests/unictype/test-mirror.c: Likewise.
75674         * tests/unictype/test-numeric.c: Likewise.
75675         * tests/unictype/test-pr_byname.c: Likewise.
75676         * tests/unictype/test-pr_test.c: Likewise.
75677         * tests/unictype/test-predicate-part1.h: Likewise.
75678         * tests/unictype/test-scripts.c: Likewise.
75679         * tests/unictype/test-sy_c_ident.c: Likewise.
75680         * tests/unictype/test-sy_java_ident.c: Likewise.
75681         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
75682         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
75683         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
75684         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
75685         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
75686         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
75687         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
75688         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
75689         * tests/uninorm/test-canonical-decomposition.c: Likewise.
75690         * tests/uninorm/test-compat-decomposition.c: Likewise.
75691         * tests/uninorm/test-composition.c: Likewise.
75692         * tests/uninorm/test-decomposing-form.c: Likewise.
75693         * tests/uninorm/test-decomposition.c: Likewise.
75694         * tests/uninorm/test-u8-nfc.c: Likewise.
75695         * tests/uninorm/test-u8-nfd.c: Likewise.
75696         * tests/uninorm/test-u8-nfkc.c: Likewise.
75697         * tests/uninorm/test-u8-nfkd.c: Likewise.
75698         * tests/uninorm/test-u8-normcmp.c: Likewise.
75699         * tests/uninorm/test-u8-normcoll.c: Likewise.
75700         * tests/uninorm/test-u16-nfc.c: Likewise.
75701         * tests/uninorm/test-u16-nfd.c: Likewise.
75702         * tests/uninorm/test-u16-nfkc.c: Likewise.
75703         * tests/uninorm/test-u16-nfkd.c: Likewise.
75704         * tests/uninorm/test-u16-normcmp.c: Likewise.
75705         * tests/uninorm/test-u16-normcoll.c: Likewise.
75706         * tests/uninorm/test-u32-nfc.c: Likewise.
75707         * tests/uninorm/test-u32-nfd.c: Likewise.
75708         * tests/uninorm/test-u32-nfkc.c: Likewise.
75709         * tests/uninorm/test-u32-nfkd.c: Likewise.
75710         * tests/uninorm/test-u32-normalize-big.c: Likewise.
75711         * tests/uninorm/test-u32-normcmp.c: Likewise.
75712         * tests/uninorm/test-u32-normcoll.c: Likewise.
75713         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
75714         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
75715         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
75716         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
75717         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
75718         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
75719         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
75720         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
75721         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
75722         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
75723         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
75724         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
75725         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
75726         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
75727         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
75728         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
75729         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
75730         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
75731         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
75732         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
75733         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
75734         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
75735         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
75736         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
75737         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
75738         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
75739         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
75740         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
75741         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
75742         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
75743         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
75744         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
75745         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
75746         * tests/uniwidth/test-u8-strwidth.c: Likewise.
75747         * tests/uniwidth/test-u8-width.c: Likewise.
75748         * tests/uniwidth/test-u16-strwidth.c: Likewise.
75749         * tests/uniwidth/test-u16-width.c: Likewise.
75750         * tests/uniwidth/test-u32-strwidth.c: Likewise.
75751         * tests/uniwidth/test-u32-width.c: Likewise.
75752         * tests/uniwidth/test-uc_width.c: Likewise.
75753         * tests/uniwidth/test-uc_width2.c: Likewise.
75754         * modules/acl-tests (Files): Add tests/macros.h.
75755         * modules/areadlink-tests (Files): Likewise.
75756         * modules/areadlink-with-size-tests (Files): Likewise.
75757         * modules/areadlinkat-tests (Files): Likewise.
75758         * modules/areadlinkat-with-size-tests (Files): Likewise.
75759         * modules/argmatch-tests (Files): Likewise.
75760         * modules/argv-iter-tests (Files): Likewise.
75761         * modules/array-list-tests (Files): Likewise.
75762         * modules/array-mergesort-tests (Files): Likewise.
75763         * modules/array-oset-tests (Files): Likewise.
75764         * modules/avltree-list-tests (Files): Likewise.
75765         * modules/avltree-oset-tests (Files): Likewise.
75766         * modules/avltreehash-list-tests (Files): Likewise.
75767         * modules/base64-tests (Files): Likewise.
75768         * modules/binary-io-tests (Files): Likewise.
75769         * modules/bitrotate-tests (Files): Likewise.
75770         * modules/btowc-tests (Files): Likewise.
75771         * modules/byteswap-tests (Files): Likewise.
75772         * modules/c-ctype-tests (Files): Likewise.
75773         * modules/c-stack-tests (Files): Likewise.
75774         * modules/c-strcase-tests (Files): Likewise.
75775         * modules/c-strcasestr-tests (Files): Likewise.
75776         * modules/c-strstr-tests (Files): Likewise.
75777         * modules/canonicalize-lgpl-tests (Files): Likewise.
75778         * modules/canonicalize-tests (Files): Likewise.
75779         * modules/carray-list-tests (Files): Likewise.
75780         * modules/ceilf-tests (Files): Likewise.
75781         * modules/ceill-tests (Files): Likewise.
75782         * modules/chown-tests (Files): Likewise.
75783         * modules/cloexec-tests (Files): Likewise.
75784         * modules/copy-file-tests (Files): Likewise.
75785         * modules/count-one-bits-tests (Files): Likewise.
75786         * modules/dprintf-posix-tests (Files): Likewise.
75787         * modules/dup2-tests (Files): Likewise.
75788         * modules/dup3-tests (Files): Likewise.
75789         * modules/duplocale-tests (Files): Likewise.
75790         * modules/fbufmode-tests (Files): Likewise.
75791         * modules/fchdir-tests (Files): Likewise.
75792         * modules/fcntl-safer-tests (Files): Likewise.
75793         * modules/fcntl-tests (Files): Likewise.
75794         * modules/fdopendir-tests (Files): Likewise.
75795         * modules/fdutimensat-tests (Files): Likewise.
75796         * modules/fflush-tests (Files): Likewise.
75797         * modules/filevercmp-tests (Files): Likewise.
75798         * modules/flock-tests (Files): Likewise.
75799         * modules/floorf-tests (Files): Likewise.
75800         * modules/floorl-tests (Files): Likewise.
75801         * modules/fnmatch-tests (Files): Likewise.
75802         * modules/fopen-safer-tests (Files): Likewise.
75803         * modules/fopen-tests (Files): Likewise.
75804         * modules/fpending-tests (Files): Likewise.
75805         * modules/fprintf-posix-tests (Files): Likewise.
75806         * modules/fpurge-tests (Files): Likewise.
75807         * modules/freadable-tests (Files): Likewise.
75808         * modules/freadahead-tests (Files): Likewise.
75809         * modules/freading-tests (Files): Likewise.
75810         * modules/freadptr-tests (Files): Likewise.
75811         * modules/freadseek-tests (Files): Likewise.
75812         * modules/freopen-tests (Files): Likewise.
75813         * modules/frexp-nolibm-tests (Files): Likewise.
75814         * modules/frexp-tests (Files): Likewise.
75815         * modules/frexpl-nolibm-tests (Files): Likewise.
75816         * modules/frexpl-tests (Files): Likewise.
75817         * modules/fseek-tests (Files): Likewise.
75818         * modules/fseeko-tests (Files): Likewise.
75819         * modules/fstrcmp-tests (Files): Likewise.
75820         * modules/fsync-tests (Files): Likewise.
75821         * modules/ftell-tests (Files): Likewise.
75822         * modules/ftello-tests (Files): Likewise.
75823         * modules/func-tests (Files): Likewise.
75824         * modules/futimens-tests (Files): Likewise.
75825         * modules/fwritable-tests (Files): Likewise.
75826         * modules/fwriting-tests (Files): Likewise.
75827         * modules/getcwd-tests (Files): Likewise.
75828         * modules/getdate-tests (Files): Likewise.
75829         * modules/getdelim-tests (Files): Likewise.
75830         * modules/getdtablesize-tests (Files): Likewise.
75831         * modules/getgroups-tests (Files): Likewise.
75832         * modules/getline-tests (Files): Likewise.
75833         * modules/getndelim2-tests (Files): Likewise.
75834         * modules/glob-tests (Files): Likewise.
75835         * modules/hash-tests (Files): Likewise.
75836         * modules/i-ring-tests (Files): Likewise.
75837         * modules/iconv-tests (Files): Likewise.
75838         * modules/iconv_open-utf-tests (Files): Likewise.
75839         * modules/idpriv-drop-tests (Files): Likewise.
75840         * modules/idpriv-droptemp-tests (Files): Likewise.
75841         * modules/inet_ntop-tests (Files): Likewise.
75842         * modules/inet_pton-tests (Files): Likewise.
75843         * modules/isblank-tests (Files): Likewise.
75844         * modules/isfinite-tests (Files): Likewise.
75845         * modules/isinf-tests (Files): Likewise.
75846         * modules/isnan-tests (Files): Likewise.
75847         * modules/isnand-nolibm-tests (Files): Likewise.
75848         * modules/isnand-tests (Files): Likewise.
75849         * modules/isnanf-nolibm-tests (Files): Likewise.
75850         * modules/isnanf-tests (Files): Likewise.
75851         * modules/isnanl-nolibm-tests (Files): Likewise.
75852         * modules/isnanl-tests (Files): Likewise.
75853         * modules/lchown-tests (Files): Likewise.
75854         * modules/ldexpl-tests (Files): Likewise.
75855         * modules/link-tests (Files): Likewise.
75856         * modules/linkat-tests (Files): Likewise.
75857         * modules/linked-list-tests (Files): Likewise.
75858         * modules/linkedhash-list-tests (Files): Likewise.
75859         * modules/localename-tests (Files): Likewise.
75860         * modules/lseek-tests (Files): Likewise.
75861         * modules/lstat-tests (Files): Likewise.
75862         * modules/mbmemcasecmp-tests (Files): Likewise.
75863         * modules/mbmemcasecoll-tests (Files): Likewise.
75864         * modules/mbrtowc-tests (Files): Likewise.
75865         * modules/mbscasecmp-tests (Files): Likewise.
75866         * modules/mbscasestr-tests (Files): Likewise.
75867         * modules/mbschr-tests (Files): Likewise.
75868         * modules/mbscspn-tests (Files): Likewise.
75869         * modules/mbsinit-tests (Files): Likewise.
75870         * modules/mbsncasecmp-tests (Files): Likewise.
75871         * modules/mbsnrtowcs-tests (Files): Likewise.
75872         * modules/mbspbrk-tests (Files): Likewise.
75873         * modules/mbspcasecmp-tests (Files): Likewise.
75874         * modules/mbsrchr-tests (Files): Likewise.
75875         * modules/mbsrtowcs-tests (Files): Likewise.
75876         * modules/mbsspn-tests (Files): Likewise.
75877         * modules/mbsstr-tests (Files): Likewise.
75878         * modules/memchr-tests (Files): Likewise.
75879         * modules/memchr2-tests (Files): Likewise.
75880         * modules/memcmp-tests (Files): Likewise.
75881         * modules/memmem-tests (Files): Likewise.
75882         * modules/memrchr-tests (Files): Likewise.
75883         * modules/mkdir-tests (Files): Likewise.
75884         * modules/mkfifo-tests (Files): Likewise.
75885         * modules/mkfifoat-tests (Files): Likewise.
75886         * modules/mknod-tests (Files): Likewise.
75887         * modules/nanosleep-tests (Files): Likewise.
75888         * modules/nl_langinfo-tests (Files): Likewise.
75889         * modules/obstack-printf-tests (Files): Likewise.
75890         * modules/open-tests (Files): Likewise.
75891         * modules/openat-tests (Files): Likewise.
75892         * modules/pipe-filter-gi-tests (Files): Likewise.
75893         * modules/pipe-filter-ii-tests (Files): Likewise.
75894         * modules/pipe2-tests (Files): Likewise.
75895         * modules/popen-safer-tests (Files): Likewise.
75896         * modules/popen-tests (Files): Likewise.
75897         * modules/posixtm-tests (Files): Likewise.
75898         * modules/pread-tests (Files): Likewise.
75899         * modules/printf-frexp-tests (Files): Likewise.
75900         * modules/printf-frexpl-tests (Files): Likewise.
75901         * modules/printf-posix-tests (Files): Likewise.
75902         * modules/priv-set-tests (Files): Likewise.
75903         * modules/quotearg-tests (Files): Likewise.
75904         * modules/random_r-tests (Files): Likewise.
75905         * modules/rawmemchr-tests (Files): Likewise.
75906         * modules/rbtree-list-tests (Files): Likewise.
75907         * modules/rbtree-oset-tests (Files): Likewise.
75908         * modules/rbtreehash-list-tests (Files): Likewise.
75909         * modules/readlink-tests (Files): Likewise.
75910         * modules/remove-tests (Files): Likewise.
75911         * modules/rename-tests (Files): Likewise.
75912         * modules/renameat-tests (Files): Likewise.
75913         * modules/rmdir-tests (Files): Likewise.
75914         * modules/round-tests (Files): Likewise.
75915         * modules/roundf-tests (Files): Likewise.
75916         * modules/roundl-tests (Files): Likewise.
75917         * modules/safe-alloc-tests (Files): Likewise.
75918         * modules/setenv-tests (Files): Likewise.
75919         * modules/sigaction-tests (Files): Likewise.
75920         * modules/signbit-tests (Files): Likewise.
75921         * modules/sleep-tests (Files): Likewise.
75922         * modules/snprintf-posix-tests (Files): Likewise.
75923         * modules/snprintf-tests (Files): Likewise.
75924         * modules/sprintf-posix-tests (Files): Likewise.
75925         * modules/stat-tests (Files): Likewise.
75926         * modules/stat-time-tests (Files): Likewise.
75927         * modules/strcasestr-tests (Files): Likewise.
75928         * modules/strchrnul-tests (Files): Likewise.
75929         * modules/strerror-tests (Files): Likewise.
75930         * modules/striconv-tests (Files): Likewise.
75931         * modules/striconveh-tests (Files): Likewise.
75932         * modules/striconveha-tests (Files): Likewise.
75933         * modules/strsignal-tests (Files): Likewise.
75934         * modules/strstr-tests (Files): Likewise.
75935         * modules/strtod-tests (Files): Likewise.
75936         * modules/strverscmp-tests (Files): Likewise.
75937         * modules/symlink-tests (Files): Likewise.
75938         * modules/symlinkat-tests (Files): Likewise.
75939         * modules/trunc-tests (Files): Likewise.
75940         * modules/truncf-tests (Files): Likewise.
75941         * modules/truncl-tests (Files): Likewise.
75942         * modules/uname-tests (Files): Likewise.
75943         * modules/unicase/cased-tests (Files): Likewise.
75944         * modules/unicase/ignorable-tests (Files): Likewise.
75945         * modules/unicase/locale-language-tests (Files): Likewise.
75946         * modules/unicase/tolower-tests (Files): Likewise.
75947         * modules/unicase/totitle-tests (Files): Likewise.
75948         * modules/unicase/toupper-tests (Files): Likewise.
75949         * modules/unicase/u8-casecmp-tests (Files): Likewise.
75950         * modules/unicase/u8-casecoll-tests (Files): Likewise.
75951         * modules/unicase/u8-casefold-tests (Files): Likewise.
75952         * modules/unicase/u8-is-cased-tests (Files): Likewise.
75953         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
75954         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
75955         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
75956         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
75957         * modules/unicase/u8-tolower-tests (Files): Likewise.
75958         * modules/unicase/u8-totitle-tests (Files): Likewise.
75959         * modules/unicase/u8-toupper-tests (Files): Likewise.
75960         * modules/unicase/u16-casecmp-tests (Files): Likewise.
75961         * modules/unicase/u16-casecoll-tests (Files): Likewise.
75962         * modules/unicase/u16-casefold-tests (Files): Likewise.
75963         * modules/unicase/u16-is-cased-tests (Files): Likewise.
75964         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
75965         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
75966         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
75967         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
75968         * modules/unicase/u16-tolower-tests (Files): Likewise.
75969         * modules/unicase/u16-totitle-tests (Files): Likewise.
75970         * modules/unicase/u16-toupper-tests (Files): Likewise.
75971         * modules/unicase/u32-casecmp-tests (Files): Likewise.
75972         * modules/unicase/u32-casecoll-tests (Files): Likewise.
75973         * modules/unicase/u32-casefold-tests (Files): Likewise.
75974         * modules/unicase/u32-is-cased-tests (Files): Likewise.
75975         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
75976         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
75977         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
75978         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
75979         * modules/unicase/u32-tolower-tests (Files): Likewise.
75980         * modules/unicase/u32-totitle-tests (Files): Likewise.
75981         * modules/unicase/u32-toupper-tests (Files): Likewise.
75982         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
75983         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
75984         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
75985         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
75986         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
75987         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
75988         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
75989         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
75990         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
75991         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
75992         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
75993         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
75994         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
75995         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
75996         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
75997         * modules/unictype/bidicategory-name-tests (Files): Likewise.
75998         * modules/unictype/bidicategory-of-tests (Files): Likewise.
75999         * modules/unictype/bidicategory-test-tests (Files): Likewise.
76000         * modules/unictype/block-list-tests (Files): Likewise.
76001         * modules/unictype/block-of-tests (Files): Likewise.
76002         * modules/unictype/block-test-tests (Files): Likewise.
76003         * modules/unictype/category-C-tests (Files): Likewise.
76004         * modules/unictype/category-Cc-tests (Files): Likewise.
76005         * modules/unictype/category-Cf-tests (Files): Likewise.
76006         * modules/unictype/category-Cn-tests (Files): Likewise.
76007         * modules/unictype/category-Co-tests (Files): Likewise.
76008         * modules/unictype/category-Cs-tests (Files): Likewise.
76009         * modules/unictype/category-L-tests (Files): Likewise.
76010         * modules/unictype/category-Ll-tests (Files): Likewise.
76011         * modules/unictype/category-Lm-tests (Files): Likewise.
76012         * modules/unictype/category-Lo-tests (Files): Likewise.
76013         * modules/unictype/category-Lt-tests (Files): Likewise.
76014         * modules/unictype/category-Lu-tests (Files): Likewise.
76015         * modules/unictype/category-M-tests (Files): Likewise.
76016         * modules/unictype/category-Mc-tests (Files): Likewise.
76017         * modules/unictype/category-Me-tests (Files): Likewise.
76018         * modules/unictype/category-Mn-tests (Files): Likewise.
76019         * modules/unictype/category-N-tests (Files): Likewise.
76020         * modules/unictype/category-Nd-tests (Files): Likewise.
76021         * modules/unictype/category-Nl-tests (Files): Likewise.
76022         * modules/unictype/category-No-tests (Files): Likewise.
76023         * modules/unictype/category-P-tests (Files): Likewise.
76024         * modules/unictype/category-Pc-tests (Files): Likewise.
76025         * modules/unictype/category-Pd-tests (Files): Likewise.
76026         * modules/unictype/category-Pe-tests (Files): Likewise.
76027         * modules/unictype/category-Pf-tests (Files): Likewise.
76028         * modules/unictype/category-Pi-tests (Files): Likewise.
76029         * modules/unictype/category-Po-tests (Files): Likewise.
76030         * modules/unictype/category-Ps-tests (Files): Likewise.
76031         * modules/unictype/category-S-tests (Files): Likewise.
76032         * modules/unictype/category-Sc-tests (Files): Likewise.
76033         * modules/unictype/category-Sk-tests (Files): Likewise.
76034         * modules/unictype/category-Sm-tests (Files): Likewise.
76035         * modules/unictype/category-So-tests (Files): Likewise.
76036         * modules/unictype/category-Z-tests (Files): Likewise.
76037         * modules/unictype/category-Zl-tests (Files): Likewise.
76038         * modules/unictype/category-Zp-tests (Files): Likewise.
76039         * modules/unictype/category-Zs-tests (Files): Likewise.
76040         * modules/unictype/category-and-not-tests (Files): Likewise.
76041         * modules/unictype/category-and-tests (Files): Likewise.
76042         * modules/unictype/category-byname-tests (Files): Likewise.
76043         * modules/unictype/category-name-tests (Files): Likewise.
76044         * modules/unictype/category-none-tests (Files): Likewise.
76045         * modules/unictype/category-of-tests (Files): Likewise.
76046         * modules/unictype/category-or-tests (Files): Likewise.
76047         * modules/unictype/category-test-withtable-tests (Files): Likewise.
76048         * modules/unictype/combining-class-tests (Files): Likewise.
76049         * modules/unictype/ctype-alnum-tests (Files): Likewise.
76050         * modules/unictype/ctype-alpha-tests (Files): Likewise.
76051         * modules/unictype/ctype-blank-tests (Files): Likewise.
76052         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
76053         * modules/unictype/ctype-digit-tests (Files): Likewise.
76054         * modules/unictype/ctype-graph-tests (Files): Likewise.
76055         * modules/unictype/ctype-lower-tests (Files): Likewise.
76056         * modules/unictype/ctype-print-tests (Files): Likewise.
76057         * modules/unictype/ctype-punct-tests (Files): Likewise.
76058         * modules/unictype/ctype-space-tests (Files): Likewise.
76059         * modules/unictype/ctype-upper-tests (Files): Likewise.
76060         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
76061         * modules/unictype/decimal-digit-tests (Files): Likewise.
76062         * modules/unictype/digit-tests (Files): Likewise.
76063         * modules/unictype/mirror-tests (Files): Likewise.
76064         * modules/unictype/numeric-tests (Files): Likewise.
76065         * modules/unictype/property-alphabetic-tests (Files): Likewise.
76066         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
76067         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
76068         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
76069         Likewise.
76070         * modules/unictype/property-bidi-block-separator-tests (Files):
76071         Likewise.
76072         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
76073         Likewise.
76074         * modules/unictype/property-bidi-common-separator-tests (Files):
76075         Likewise.
76076         * modules/unictype/property-bidi-control-tests (Files): Likewise.
76077         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
76078         Likewise.
76079         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
76080         Likewise.
76081         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
76082         Likewise.
76083         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
76084         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
76085         Likewise.
76086         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
76087         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
76088         Likewise.
76089         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
76090         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
76091         * modules/unictype/property-bidi-segment-separator-tests (Files):
76092         Likewise.
76093         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
76094         * modules/unictype/property-byname-tests (Files): Likewise.
76095         * modules/unictype/property-combining-tests (Files): Likewise.
76096         * modules/unictype/property-composite-tests (Files): Likewise.
76097         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
76098         * modules/unictype/property-dash-tests (Files): Likewise.
76099         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
76100         * modules/unictype/property-default-ignorable-code-point-tests (Files):
76101         Likewise.
76102         * modules/unictype/property-deprecated-tests (Files): Likewise.
76103         * modules/unictype/property-diacritic-tests (Files): Likewise.
76104         * modules/unictype/property-extender-tests (Files): Likewise.
76105         * modules/unictype/property-format-control-tests (Files): Likewise.
76106         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
76107         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
76108         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
76109         * modules/unictype/property-hex-digit-tests (Files): Likewise.
76110         * modules/unictype/property-hyphen-tests (Files): Likewise.
76111         * modules/unictype/property-id-continue-tests (Files): Likewise.
76112         * modules/unictype/property-id-start-tests (Files): Likewise.
76113         * modules/unictype/property-ideographic-tests (Files): Likewise.
76114         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
76115         * modules/unictype/property-ids-trinary-operator-tests (Files):
76116         Likewise.
76117         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
76118         * modules/unictype/property-iso-control-tests (Files): Likewise.
76119         * modules/unictype/property-join-control-tests (Files): Likewise.
76120         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
76121         * modules/unictype/property-line-separator-tests (Files): Likewise.
76122         * modules/unictype/property-logical-order-exception-tests (Files):
76123         Likewise.
76124         * modules/unictype/property-lowercase-tests (Files): Likewise.
76125         * modules/unictype/property-math-tests (Files): Likewise.
76126         * modules/unictype/property-non-break-tests (Files): Likewise.
76127         * modules/unictype/property-not-a-character-tests (Files): Likewise.
76128         * modules/unictype/property-numeric-tests (Files): Likewise.
76129         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
76130         * modules/unictype/property-other-default-ignorable-code-point-tests
76131         (Files): Likewise.
76132         * modules/unictype/property-other-grapheme-extend-tests (Files):
76133         Likewise.
76134         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
76135         * modules/unictype/property-other-id-start-tests (Files): Likewise.
76136         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
76137         * modules/unictype/property-other-math-tests (Files): Likewise.
76138         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
76139         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
76140         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
76141         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
76142         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
76143         * modules/unictype/property-private-use-tests (Files): Likewise.
76144         * modules/unictype/property-punctuation-tests (Files): Likewise.
76145         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
76146         * modules/unictype/property-radical-tests (Files): Likewise.
76147         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
76148         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
76149         * modules/unictype/property-space-tests (Files): Likewise.
76150         * modules/unictype/property-terminal-punctuation-tests (Files):
76151         Likewise.
76152         * modules/unictype/property-test-tests (Files): Likewise.
76153         * modules/unictype/property-titlecase-tests (Files): Likewise.
76154         * modules/unictype/property-unassigned-code-value-tests (Files):
76155         Likewise.
76156         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
76157         * modules/unictype/property-uppercase-tests (Files): Likewise.
76158         * modules/unictype/property-variation-selector-tests (Files): Likewise.
76159         * modules/unictype/property-white-space-tests (Files): Likewise.
76160         * modules/unictype/property-xid-continue-tests (Files): Likewise.
76161         * modules/unictype/property-xid-start-tests (Files): Likewise.
76162         * modules/unictype/property-zero-width-tests (Files): Likewise.
76163         * modules/unictype/scripts-tests (Files): Likewise.
76164         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
76165         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
76166         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
76167         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
76168         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
76169         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
76170         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
76171         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
76172         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
76173         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
76174         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
76175         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
76176         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
76177         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
76178         * modules/uninorm/composition-tests (Files): Likewise.
76179         * modules/uninorm/decomposing-form-tests (Files): Likewise.
76180         * modules/uninorm/decomposition-tests (Files): Likewise.
76181         * modules/uninorm/filter-tests (Files): Likewise.
76182         * modules/uninorm/nfc-tests (Files): Likewise.
76183         * modules/uninorm/nfd-tests (Files): Likewise.
76184         * modules/uninorm/nfkc-tests (Files): Likewise.
76185         * modules/uninorm/nfkd-tests (Files): Likewise.
76186         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
76187         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
76188         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
76189         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
76190         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
76191         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
76192         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
76193         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
76194         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
76195         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
76196         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
76197         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
76198         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
76199         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
76200         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
76201         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
76202         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
76203         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
76204         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
76205         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
76206         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
76207         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
76208         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
76209         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
76210         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
76211         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
76212         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
76213         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
76214         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
76215         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
76216         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
76217         * modules/uniwidth/u8-width-tests (Files): Likewise.
76218         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
76219         * modules/uniwidth/u16-width-tests (Files): Likewise.
76220         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
76221         * modules/uniwidth/u32-width-tests (Files): Likewise.
76222         * modules/uniwidth/width-tests (Files): Likewise.
76223         * modules/unlink-tests (Files): Likewise.
76224         * modules/unsetenv-tests (Files): Likewise.
76225         * modules/usleep-tests (Files): Likewise.
76226         * modules/utimens-tests (Files): Likewise.
76227         * modules/utimensat-tests (Files): Likewise.
76228         * modules/vasnprintf-posix-tests (Files): Likewise.
76229         * modules/vasnprintf-tests (Files): Likewise.
76230         * modules/vasprintf-posix-tests (Files): Likewise.
76231         * modules/vasprintf-tests (Files): Likewise.
76232         * modules/vdprintf-posix-tests (Files): Likewise.
76233         * modules/vfprintf-posix-tests (Files): Likewise.
76234         * modules/vprintf-posix-tests (Files): Likewise.
76235         * modules/vsnprintf-posix-tests (Files): Likewise.
76236         * modules/vsnprintf-tests (Files): Likewise.
76237         * modules/vsprintf-posix-tests (Files): Likewise.
76238         * modules/wcrtomb-tests (Files): Likewise.
76239         * modules/wcsnrtombs-tests (Files): Likewise.
76240         * modules/wcsrtombs-tests (Files): Likewise.
76241         * modules/wctype-tests (Files): Likewise.
76242         * modules/wcwidth-tests (Files): Likewise.
76243         * modules/xmemdup0-tests (Files): Likewise.
76244         * modules/xprintf-posix-tests (Files): Likewise.
76245         * modules/xvasprintf-tests (Files): Likewise.
76247 2009-12-24  Eric Blake  <ebb9@byu.net>
76249         test-nanosleep: fix typo
76250         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
76251         patch.
76252         Reported by Bruno Haible.
76254 2009-12-24  Bruno Haible  <bruno@clisp.org>
76256         Reduce namespace pollution on glibc systems.
76257         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
76258         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
76259         systems.
76260         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
76261         <getopt.h> on glibc systems.
76262         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
76263         systems.
76264         * lib/fcntl.c: Include <unistd.h> here instead.
76266 2009-12-24  Bruno Haible  <bruno@clisp.org>
76268         * lib/stdlib.in.h (includes): Fix typo in today's commit.
76270 2009-12-24  Eric Blake  <ebb9@byu.net>
76272         tests: add signature checks
76273         * tests/signature.h (SIGNATURE_CHECK): New file.
76274         * modules/atexit-tests (Files): Use it.
76275         * modules/btowc-tests (Files): Likewise.
76276         * modules/canonicalize-lgpl-tests (Files): Likewise.
76277         * modules/ceilf-tests (Files): Likewise.
76278         * modules/ceill-tests (Files): Likewise.
76279         * modules/chown-tests (Files): Likewise.
76280         * modules/dprintf-posix-tests (Files): Likewise.
76281         * modules/dup2-tests (Files): Likewise.
76282         * modules/dup3-tests (Files): Likewise.
76283         * modules/duplocale-tests (Files): Likewise.
76284         * modules/fchdir-tests (Files): Likewise.
76285         * modules/fcntl-tests (Files): Likewise.
76286         * modules/fdopendir-tests (Files): Likewise.
76287         * modules/fflush-tests (Files): Likewise.
76288         * modules/flock-tests (Files): Likewise.
76289         * modules/floorf-tests (Files): Likewise.
76290         * modules/floorl-tests (Files): Likewise.
76291         * modules/fnmatch-tests (Files): Likewise.
76292         * modules/fopen-tests (Files): Likewise.
76293         * modules/fprintf-posix-tests (Files): Likewise.
76294         * modules/freopen-tests (Files): Likewise.
76295         * modules/frexp-nolibm-tests (Files): Likewise.
76296         * modules/frexp-tests (Files): Likewise.
76297         * modules/frexpl-nolibm-tests (Files): Likewise.
76298         * modules/frexpl-tests (Files): Likewise.
76299         * modules/fseek-tests (Files): Likewise.
76300         * modules/fseeko-tests (Files): Likewise.
76301         * modules/fsync-tests (Files): Likewise.
76302         * modules/ftell-tests (Files): Likewise.
76303         * modules/ftello-tests (Files): Likewise.
76304         * modules/futimens-tests (Files): Likewise.
76305         * modules/getaddrinfo-tests (Files): Likewise.
76306         * modules/getcwd-tests (Files): Likewise.
76307         * modules/getdelim-tests (Files): Likewise.
76308         * modules/getdtablesize-tests (Files): Likewise.
76309         * modules/getgroups-tests (Files): Likewise.
76310         * modules/gethostname-tests (Files): Likewise.
76311         * modules/getline-tests (Files): Likewise.
76312         * modules/getopt-posix-tests (Files): Likewise.
76313         * modules/gettimeofday-tests (Files): Likewise.
76314         * modules/glob-tests (Files): Likewise.
76315         * modules/iconv-tests (Files): Likewise.
76316         * modules/inet_ntop-tests (Files): Likewise.
76317         * modules/inet_pton-tests (Files): Likewise.
76318         * modules/isblank-tests (Files): Likewise.
76319         * modules/lchown-tests (Files): Likewise.
76320         * modules/ldexpl-tests (Files): Likewise.
76321         * modules/link-tests (Files): Likewise.
76322         * modules/linkat-tests (Files): Likewise.
76323         * modules/lseek-tests (Files): Likewise.
76324         * modules/lstat-tests (Files): Likewise.
76325         * modules/mbrtowc-tests (Files): Likewise.
76326         * modules/mbsinit-tests (Files): Likewise.
76327         * modules/mbsnrtowcs-tests (Files): Likewise.
76328         * modules/mbsrtowcs-tests (Files): Likewise.
76329         * modules/memchr-tests (Files): Likewise.
76330         * modules/memcmp-tests (Files): Likewise.
76331         * modules/memmem-tests (Files): Likewise.
76332         * modules/memrchr-tests (Files): Likewise.
76333         * modules/mkdir-tests (Files): Likewise.
76334         * modules/mkfifo-tests (Files): Likewise.
76335         * modules/mkfifoat-tests (Files): Likewise.
76336         * modules/mknod-tests (Files): Likewise.
76337         * modules/nanosleep-tests (Files): Likewise.
76338         * modules/nl_langinfo-tests (Files): Likewise.
76339         * modules/obstack-printf-tests (Files): Likewise.
76340         * modules/open-tests (Files): Likewise.
76341         * modules/openat-tests (Files): Likewise.
76342         * modules/perror-tests (Files): Likewise.
76343         * modules/pipe2-tests (Files): Likewise.
76344         * modules/poll-tests (Files): Likewise.
76345         * modules/popen-tests (Files): Likewise.
76346         * modules/posix_spawn-tests (Files): Likewise.
76347         * modules/posix_spawnp-tests (Files): Likewise.
76348         * modules/pread-tests (Files): Likewise.
76349         * modules/printf-posix-tests (Files): Likewise.
76350         * modules/pty-tests (Files): Likewise.
76351         * modules/random_r-tests (Files): Likewise.
76352         * modules/rawmemchr-tests (Files): Likewise.
76353         * modules/readlink-tests (Files): Likewise.
76354         * modules/remove-tests (Files): Likewise.
76355         * modules/rename-tests (Files): Likewise.
76356         * modules/renameat-tests (Files): Likewise.
76357         * modules/rmdir-tests (Files): Likewise.
76358         * modules/round-tests (Files): Likewise.
76359         * modules/roundf-tests (Files): Likewise.
76360         * modules/roundl-tests (Files): Likewise.
76361         * modules/select-tests (Files): Likewise.
76362         * modules/setenv-tests (Files): Likewise.
76363         * modules/sigaction-tests (Files): Likewise.
76364         * modules/sleep-tests (Files): Likewise.
76365         * modules/snprintf-posix-tests (Files): Likewise.
76366         * modules/snprintf-tests (Files): Likewise.
76367         * modules/sprintf-posix-tests (Files): Likewise.
76368         * modules/stat-tests (Files): Likewise.
76369         * modules/strcasestr-tests (Files): Likewise.
76370         * modules/strchrnul-tests (Files): Likewise.
76371         * modules/strerror-tests (Files): Likewise.
76372         * modules/strsignal-tests (Files): Likewise.
76373         * modules/strstr-tests (Files): Likewise.
76374         * modules/strtod-tests (Files): Likewise.
76375         * modules/strverscmp-tests (Files): Likewise.
76376         * modules/symlink-tests (Files): Likewise.
76377         * modules/symlinkat-tests (Files): Likewise.
76378         * modules/times-tests (Files): Likewise.
76379         * modules/trunc-tests (Files): Likewise.
76380         * modules/truncf-tests (Files): Likewise.
76381         * modules/truncl-tests (Files): Likewise.
76382         * modules/tsearch-tests (Files): Likewise.
76383         * modules/uname-tests (Files): Likewise.
76384         * modules/unlink-tests (Files): Likewise.
76385         * modules/unsetenv-tests (Files): Likewise.
76386         * modules/usleep-tests (Files): Likewise.
76387         * modules/utimensat-tests (Files): Likewise.
76388         * modules/vasprintf-tests (Files): Likewise.
76389         * modules/vdprintf-posix-tests (Files): Likewise.
76390         * modules/vfprintf-posix-tests (Files): Likewise.
76391         * modules/vprintf-posix-tests (Files): Likewise.
76392         * modules/vsnprintf-posix-tests (Files): Likewise.
76393         * modules/vsnprintf-tests (Files): Likewise.
76394         * modules/vsprintf-posix-tests (Files): Likewise.
76395         * modules/wcrtomb-tests (Files): Likewise.
76396         * modules/wcsnrtombs-tests (Files): Likewise.
76397         * modules/wcsrtombs-tests (Files): Likewise.
76398         * modules/wcwidth-tests (Files): Likewise.
76399         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
76400         * tests/test-isinf.c (isinf): Likewise.
76401         * tests/test-isnan.c (isnan): Likewise.
76402         * tests/test-signbit.c (signbit): Likewise.
76403         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
76404         declaration, either as macro or with correct signature.
76405         (select): Ensure function under test is declared with correct
76406         signature in correct header.
76407         * tests/test-atexit.c (atexit): Likewise.
76408         * tests/test-btowc.c (btowc): Likewise.
76409         * tests/test-canonicalize-lgpl.c (realpath)
76410         (canonicalize_file_name): Likewise.
76411         * tests/test-ceilf1.c (ceilf): Likewise.
76412         * tests/test-ceill.c (ceill): Likewise.
76413         * tests/test-chown.c (chown): Likewise.
76414         * tests/test-dprintf-posix.c (dprintf): Likewise.
76415         * tests/test-dup2.c (dup2): Likewise.
76416         * tests/test-dup3.c (dup3): Likewise.
76417         * tests/test-duplocale.c (duplocale): Likewise.
76418         * tests/test-fchdir.c (fchdir): Likewise.
76419         * tests/test-fchownat.c (fchownat): Likewise.
76420         * tests/test-fcntl.c (fcntl): Likewise.
76421         * tests/test-fdopendir.c (fdopendir): Likewise.
76422         * tests/test-fflush.c (fflush): Likewise.
76423         * tests/test-flock.c (flock): Likewise.
76424         * tests/test-floorf1.c (floorf): Likewise.
76425         * tests/test-floorl.c (floorl): Likewise.
76426         * tests/test-fnmatch.c (fnmatch): Likewise.
76427         * tests/test-fopen.c (fopen): Likewise.
76428         * tests/test-fprintf-posix.c (fprintf): Likewise.
76429         * tests/test-freopen.c (freopen): Likewise.
76430         * tests/test-frexp.c (frexp): Likewise.
76431         * tests/test-frexpl.c (frexpl): Likewise.
76432         * tests/test-fseek.c (fseek): Likewise.
76433         * tests/test-fseeko.c (fseeko): Likewise.
76434         * tests/test-fstatat.c (fstatat): Likewise.
76435         * tests/test-fsync.c (fsync): Likewise.
76436         * tests/test-ftell.c (ftell): Likewise.
76437         * tests/test-ftello.c (ftello): Likewise.
76438         * tests/test-futimens.c (futimens): Likewise.
76439         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
76440         (gai_strerror): Likewise.
76441         * tests/test-getcwd.c (getcwd): Likewise.
76442         * tests/test-getdelim.c (getdelim): Likewise.
76443         * tests/test-getdtablesize.c (getdtablesize): Likewise.
76444         * tests/test-getgroups.c (getgroups): Likewise.
76445         * tests/test-gethostname.c (gethostname): Likewise.
76446         * tests/test-getline.c (getline): Likewise.
76447         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
76448         Likewise.
76449         * tests/test-gettimeofday.c (gettimeofday): Likewise.
76450         * tests/test-glob.c (glob, globfree): Likewise.
76451         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
76452         * tests/test-inet_ntop.c (inet_ntop): Likewise.
76453         * tests/test-inet_pton.c (inet_pton): Likewise.
76454         * tests/test-isblank.c (isblank): Likewise.
76455         * tests/test-lchown.c (lchown): Likewise.
76456         * tests/test-ldexpl.c (ldexpl): Likewise.
76457         * tests/test-link.c (link): Likewise.
76458         * tests/test-linkat.c (linkat): Likewise.
76459         * tests/test-lseek.c (lseek): Likewise.
76460         * tests/test-lstat.c (lstat): Likewise.
76461         * tests/test-mbrtowc.c (mbrtowc): Likewise.
76462         * tests/test-mbsinit.c (mbsinit): Likewise.
76463         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
76464         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
76465         * tests/test-memchr.c (memchr): Likewise.
76466         * tests/test-memcmp.c (memcmp): Likewise.
76467         * tests/test-memmem.c (memmem): Likewise.
76468         * tests/test-memrchr.c (memrchr): Likewise.
76469         * tests/test-mkdir.c (mkdir): Likewise.
76470         * tests/test-mkdirat.c (mkdirat): Likewise.
76471         * tests/test-mkfifo.c (mkfifo): Likewise.
76472         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
76473         * tests/test-mknod.c (mknod): Likewise.
76474         * tests/test-nanosleep.c (nanosleep): Likewise.
76475         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
76476         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
76477         Likewise.
76478         * tests/test-open.c (open): Likewise.
76479         * tests/test-openat.c (openat): Likewise.
76480         * tests/test-perror.c (perror): Likewise.
76481         * tests/test-pipe2.c (pipe2): Likewise.
76482         * tests/test-poll.c (poll): Likewise.
76483         * tests/test-popen.c (popen, pclose): Likewise.
76484         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
76485         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
76486         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
76487         (posix_spawn_file_actions_destroy)
76488         (posix_spawn_file_actions_addclose)
76489         (posix_spawn_file_actions_addopen)
76490         (posix_spawn_file_actions_adddup2): Likewise.
76491         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
76492         * tests/test-pread.c (pread): Likewise.
76493         * tests/test-printf-posix.c (printf): Likewise.
76494         * tests/test-pty.c (openpty, forkpty): Likewise.
76495         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
76496         (random_r): Likewise.
76497         * tests/test-rawmemchr.c (rawmemchr): Likewise.
76498         * tests/test-readlink.c (readlink): Likewise.
76499         * tests/test-remove.c (remove): Likewise.
76500         * tests/test-rename.c (rename): Likewise.
76501         * tests/test-renameat.c (renameat): Likewise.
76502         * tests/test-rmdir.c (rmdir): Likewise.
76503         * tests/test-round1.c (round): Likewise.
76504         * tests/test-roundf1.c (roundf): Likewise.
76505         * tests/test-roundl.c (roundl): Likewise.
76506         * tests/test-setenv.c (setenv): Likewise.
76507         * tests/test-sigaction.c (sigaction): Likewise.
76508         * tests/test-sleep.c (sleep): Likewise.
76509         * tests/test-snprintf.c (snprintf): Likewise.
76510         * tests/test-sprintf-posix.c (sprintf): Likewise.
76511         * tests/test-stat.c (stat): Likewise.
76512         * tests/test-stpncpy.c (stpncpy): Likewise.
76513         * tests/test-strcasestr.c (strcasestr): Likewise.
76514         * tests/test-strchrnul.c (strchrnul): Likewise.
76515         * tests/test-strerror.c (strerror): Likewise.
76516         * tests/test-strsignal.c (strsignal): Likewise.
76517         * tests/test-strstr.c (strstr): Likewise.
76518         * tests/test-strtod.c (strtod): Likewise.
76519         * tests/test-strverscmp.c (strverscmp): Likewise.
76520         * tests/test-symlink.c (symlink): Likewise.
76521         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
76522         * tests/test-times.c (times): Likewise.
76523         * tests/test-trunc1.c (trunc): Likewise.
76524         * tests/test-truncf1.c (truncf): Likewise.
76525         * tests/test-truncl.c (truncl): Likewise.
76526         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
76527         Likewise.
76528         * tests/test-uname.c (uname): Likewise.
76529         * tests/test-unlink.c (unlink): Likewise.
76530         * tests/test-unlinkat.c (unlinkat): Likewise.
76531         * tests/test-unsetenv.c (unsetenv): Likewise.
76532         * tests/test-usleep.c (usleep): Likewise.
76533         * tests/test-utimensat.c (utimensat): Likewise.
76534         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
76535         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
76536         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
76537         * tests/test-vprintf-posix.c (vprintf): Likewise.
76538         * tests/test-vsnprintf.c (vsnprintf): Likewise.
76539         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
76540         * tests/test-wcrtomb.c (wcrtomb): Likewise.
76541         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
76542         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
76543         * tests/test-wcwidth.c (wcwidth): Likewise.
76545         build: pull in conditional headers during GNULIB_POSIXCHECK
76546         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
76547         definitions from any conditionally-included headers.
76548         * lib/stdlib.in.h (includes): Likewise.
76549         * lib/unistd.in.h (includes): Likewise.
76551 2009-12-24  Bruno Haible  <bruno@clisp.org>
76553         * tests/test-argv-iter.c: Include header file being tested immediately
76554         after config.h.
76555         * tests/test-base64.c: Likewise.
76556         * tests/test-flock.c: Likewise.
76557         * tests/test-fsync.c: Likewise.
76558         * tests/test-getdate.c: Likewise.
76559         * tests/test-getndelim2.c: Likewise.
76560         * tests/test-isfinite.c: Likewise.
76561         * tests/test-isinf.c: Likewise.
76562         * tests/test-strerror.c: Likewise.
76563         * tests/test-strsignal.c: Likewise.
76565 2009-12-23  Eric Blake  <ebb9@byu.net>
76567         unistd: work around cygwin bug
76568         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
76569         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
76570         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
76572 2009-12-23  Bruno Haible  <bruno@clisp.org>
76574         localename: More tests.
76575         * tests/test-localename.c (SIZEOF): New macro.
76576         (categories): New variable.
76577         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
76578         test_locale_name_default): Add test w.r.t. thread locale.
76579         (test_locale_name_thread): New function.
76580         (main): Invoke it.
76582         localename: Make aware of thread locale.
76583         * lib/localename.h (gl_locale_name_thread): New declaration.
76584         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
76585         behaviour with respect to thread locale.
76586         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
76587         <langinfo.h>, glthread/lock.h.
76588         (SIZE_BITS): New macro.
76589         (string_hash): New function.
76590         (struct hash_node): New type.
76591         (HASH_TABLE_SIZE): New macro.
76592         (struniq_hash_table, struniq_lock): New variables.
76593         (struniq): New function.
76594         (gl_locale_name_thread): New function.
76595         (gl_locale_name): Invoke it.
76596         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
76597         * modules/localename (Depends-on): Add lock.
76598         Reported by Mike Gran <spk121@yahoo.com>.
76600 2009-12-23  Eric Blake  <ebb9@byu.net>
76602         va-args: new module
76603         * modules/va-args: New file.
76604         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
76605         * MODULES.html.sh (Core language properties): Mention it.
76607         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
76608         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
76609         named alias for __attribute__((__unused__)).
76610         * lib/chown.c: Update client.
76611         * lib/fchmodat.c: Likewise.
76612         * lib/fts.c: Likewise.
76613         * lib/getdate.y: Likewise.
76614         * lib/getgroups.c: Likewise.
76615         * lib/getopt.c: Likewise.
76616         * lib/getugroups.c: Likewise.
76617         * lib/mkdir.c: Likewise.
76618         * lib/mkfifo.c: Likewise.
76619         * lib/mkfifoat.c: Likewise.
76620         * lib/mknod.c: Likewise.
76621         * lib/mknodat.c: Likewise.
76622         * lib/readlink.c: Likewise.
76623         * lib/se-context.in.h: Likewise.
76624         * lib/se-selinux.in.h: Likewise.
76625         * lib/sockets.c: Likewise.
76626         * lib/symlink.c: Likewise.
76627         * lib/symlinkat.c: Likewise.
76628         * lib/unicodeio.c: Likewise.
76629         * lib/unistr.h: Likewise.
76630         * tests/test-areadlink.c: Likewise.
76631         * tests/test-areadlinkat.c: Likewise.
76632         * tests/test-filenamecat.c: Likewise.
76633         * tests/test-fseeko.c: Likewise.
76634         * tests/test-ftello.c: Likewise.
76635         * tests/test-getdate.c: Likewise.
76636         * tests/test-getgroups.c: Likewise.
76637         * tests/test-gethostname.c: Likewise.
76638         * tests/test-quotearg.c: Likewise.
76639         * tests/test-version-etc.c: Likewise.
76640         * tests/test-xalloc-die.c: Likewise.
76641         * tests/test-xfprintf-posix.c: Likewise.
76642         * tests/test-xprintf-posix.c: Likewise.
76643         * tests/test-xvasprintf.c: Likewise.
76645         tests: avoid compiler warnings
76646         * tests/test-fcntl.c (main): Delete unused parameters.
76647         * tests/test-freopen-safer.c (main): Likewise.
76648         * tests/test-xalloc-die.c (main): Mark unused parameters.
76649         * tests/test-fseeko.c (main): Likewise.
76650         * tests/test-ftello.c (main): Likewise.
76651         * tests/test-nanosleep.c (main): Avoid declaration warning.
76652         * tests/test-sleep.c (main): Likewise.
76653         * tests/test-unsetenv.c (main): Silence warning about string
76654         literal.
76655         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
76657 2009-12-23  Bruno Haible  <bruno@clisp.org>
76659         * tests/test-localename.c (test_locale_name): New function, extracted
76660         from main. Also test mixed situations.
76661         (test_locale_name_posix, test_locale_name_environ,
76662         test_locale_name_default): New functions.
76663         (main): Invoke them all.
76664         * modules/localename-tests (configure.ac): Test for newlocale.
76666 2009-12-23  Bruno Haible  <bruno@clisp.org>
76668         unistd: Ensure getcwd gets declared before being overridden.
76669         * lib/unistd.in.h: Conditionally include <io.h>.
76671 2009-12-22  Bruno Haible  <bruno@clisp.org>
76673         wchar: Diagnose broken combination of glibc and gcc versions and flags.
76674         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
76675         (gl_WCHAR_H): Invoke it.
76676         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
76677         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
76678         Reported by Karl Berry <karl@freefriends.org>.
76680 2009-12-22  Eric Blake  <ebb9@byu.net>
76682         math, unistd: avoid redundant includes
76683         * lib/math.in.h (isnan): No need to re-include <math.h>.
76684         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
76686         getsubopt: work around cygwin bug
76687         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
76688         avoid conflicting with system getsubopt.
76689         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
76690         bug.
76692         getopt: synchronize from glibc
76693         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
76694         parameter order.  Adjust all callers.
76695         (_getopt_internal_r, main): Adjust quoting in error messages.
76696         Drop considerations for outdated POSIX 1003.2 error message.
76697         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
76698         callers.
76699         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
76701         test-getopt: test stderr behavior
76702         * modules/getopt-posix-tests (Depends-on): Add dup2.
76703         * tests/test-getopt.c (ASSERT): Avoid stderr.
76704         (main): Move stderr to a temporary file.
76705         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
76706         Instead, add parameter to inform caller if output occurred.
76707         (test_getopt): Adjust all existing tests to expect silence, and
76708         add new tests of leading ":".
76709         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
76710         glibc shortcomings with leading "-:" or "+:" in optstring.
76711         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76712         Likewise.
76713         * doc/posix-functions/getopt.texi (getopt): Likewise.
76715         test-getopt: enhance test
76716         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
76717         supports optind=0.
76718         * tests/test-getopt.c (OPTIND_MIN): Move...
76719         * tests/test-getopt.h (OPTIND_MIN): ...here.
76720         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
76721         Require that optind=0 works, since modern BSD supports it in
76722         addition to optreset, and since coreutils expects it.
76723         (test_getopt_long_only): New test.
76724         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
76725         glibc shortcomings with 'W;', and enforcement of optind=0.
76726         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76727         Likewise.
76729 2009-12-21  Bruno Haible  <bruno@clisp.org>
76731         localename: Improvements for MacOS X and Cygwin.
76732         * lib/localename.h (gl_locale_name_environ): New declaration.
76733         * lib/localename.c (gl_locale_name_environ): New function, extracted from
76734         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
76735         (gl_locale_name_posix): Invoke it.
76736         (gl_locale_name_default): Add comments. Use Windows native API also on
76737         Cygwin.
76739 2009-12-21  Bruno Haible  <bruno@clisp.org>
76741         Update list of Win32 locale ids.
76742         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
76743         (LANG_SAMI): Renamed from LANG_SAAMI.
76744         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
76745         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
76746         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
76747         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
76748         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
76749         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
76750         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
76751         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
76752         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
76753         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
76754         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
76755         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
76756         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
76757         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
76758         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
76759         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
76760         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
76761         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
76762         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
76763         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
76764         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
76765         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
76766         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
76767         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
76768         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
76769         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
76770         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
76771         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
76772         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
76773         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
76774         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
76775         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
76776         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
76777         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
76778         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
76779         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
76780         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
76781         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
76782         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
76783         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
76784         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
76785         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
76786         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
76787         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
76788         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
76789         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
76790         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
76791         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
76792         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
76793         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
76794         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
76795         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
76796         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
76797         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
76798         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
76799         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
76800         Add more languages and countries for Sami, Sorbian. Add more countries
76801         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
76802         for Pashto. Change country for Syriac, Tswana.
76804 2009-12-21  Eric Blake  <ebb9@byu.net>
76806         test-utimens: avoid spurious failure
76807         * tests/test-chown.h (nap): Factor...
76808         * tests/nap.h: ...into new file.
76809         * tests/test-lchown.h (nap): Avoid duplication.
76810         * tests/test-utimens-common.h (nap): Use shared implementation,
76811         necessary on file systems with 1-second resolution.
76812         * modules/chown-tests (Files): Include new file.
76813         * modules/fdutimensat-tests (Files): Likewise.
76814         * modules/futimens-tests (Files): Likewise.
76815         * modules/lchown-tests (Files): Likewise.
76816         * modules/openat-tests (Files): Likewise.
76817         * modules/utimens-tests (Files): Likewise.
76818         * modules/utimensat-tests (Files): Likewise.
76820 2009-12-19  Eric Blake  <ebb9@byu.net>
76822         futimens, utimensat: work around Linux bug
76823         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
76824         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
76825         * lib/utimensat.c (rpl_utimensat): Work around it.
76826         * lib/futimens.c (rpl_futimens): Adjust comment.
76828         utimens: work around Linux ctime bug
76829         * lib/utimens.c (detect_ctime_bug): New helper function.
76830         (update_timespec): Differentiate between workaround needed for
76831         this bug vs. what is needed for systems that lack utimensat.
76832         (fdutimens, lutimens): Work around bug.
76834         utimens: check for ctime update
76835         * tests/test-utimens-common.h (check_ctime): Define.
76836         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
76837         * tests/test-futimens.h (test_futimens): Likewise.
76838         * tests/test-lutimens.h (test_lutimens): Likewise.
76839         * doc/posix-functions/futimens.texi (futimens): Document the bug.
76840         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
76842 2009-12-19  Bruno Haible  <bruno@clisp.org>
76844         dprintf-posix: Check against memory leak fixed on 2009-12-15.
76845         * tests/test-dprintf-posix2.sh: New file.
76846         * tests/test-dprintf-posix2.c: New file.
76847         * modules/dprintf-posix-tests (Files): Add them.
76848         (configure.ac): Check for getrlimit and setrlimit.
76849         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76851 2009-12-19  Bruno Haible  <bruno@clisp.org>
76853         fprintf-posix: Check against memory leak fixed on 2009-12-15.
76854         * tests/test-fprintf-posix3.sh: New file.
76855         * tests/test-fprintf-posix3.c: New file.
76856         * modules/fprintf-posix-tests (Files): Add them.
76857         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76859 2009-12-19  Eric Blake  <ebb9@byu.net>
76861         dirfd: fix prototype
76862         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
76863         * lib/dirfd.c (dirfd): Likewise.
76865         canonicalize: reduce memory usage
76866         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
76867         allocation to size.
76868         Reported by Solar Designer <solar@openwall.com>.
76870 2009-12-19  Bruno Haible  <bruno@clisp.org>
76872         New module attribute 'Applicability'.
76873         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
76874         * gnulib-tool: New option --extract-applicability.
76875         (func_usage): Document it.
76876         (sed_extract_prog): Recognize it.
76877         (func_get_applicability): New function.
76878         (func_import): Generalize handling of 'link-warning' module.
76879         * modules/link-warning (Applicability): New section.
76880         * modules/arg-nonnull (Applicability): New section.
76881         Repoted by Simon Josefsson <simon@josefsson.org>.
76883 2009-12-19  Bruno Haible  <bruno@clisp.org>
76885         fflush: tweak
76886         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
76887         * lib/fseeko.c (rpl_fseeko): Likewise.
76889 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
76891         * lib/gl_list.h: Fix typo in comment.
76893 2009-12-16  Eric Blake  <ebb9@byu.net>
76895         fcntl: use to simplify other modules
76896         * modules/cloexec (Depends-on): Add fcntl.
76897         * modules/fchdir (Depends-on): Likewise.
76898         * modules/fd-safer-flag (Depends-on): Likewise.
76899         * modules/unistd-safer (Depends-on): Likewise.
76900         * modules/dup3 (configure.ac): Set module indicator.
76901         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
76902         missing.
76903         * lib/fchdir.c (_gl_register_dup): Fix comment.
76904         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
76905         * lib/dup-safer.c (dup_safer): Likewise.
76906         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
76907         * lib/dup3.c (dup3): Likewise.
76908         * tests/test-fchdir.c (main): Enhance test.
76909         Fixes a dup_cloexec bug reported by Ondřej Vašík.
76911         fcntl: port portions of fcntl to mingw
76912         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
76913         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
76914         replacement for mingw.
76915         * modules/fcntl (Description): Update.
76916         (Depends-on): Add dup2.
76917         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
76918         * modules/fcntl-h (Makefile.am): Substitute it.
76919         * lib/fcntl.in.h (fcntl): Update declaration.
76920         (F_DUPFD, F_GETFD): New macros, when needed.
76921         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
76922         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
76923         * tests/test-fcntl.c (check_flags, main): Enhance test for items
76924         we now guarantee.
76926         fcntl: work around cygwin bug in F_DUPFD
76927         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
76928         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
76929         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
76930         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
76931         * doc/posix-functions/fcntl.texi (fcntl): Document it.
76933         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
76934         * modules/fcntl (Files): List new files.
76935         (configure.ac): Run a test.
76936         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
76937         * lib/fcntl.c (rpl_fcntl): Likewise.
76938         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
76939         (gl_FCNTL_H): Always replace fcntl.h.
76940         * modules/fcntl-h (Makefile.am): Substitute witnesses.
76941         * lib/fcntl.in.h (fcntl): Declare replacement.
76942         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
76943         needed, plus a witness.
76944         * doc/posix-functions/fcntl.texi (fcntl): Document this.
76945         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
76946         * tests/test-fcntl.c: New file.
76947         * modules/fcntl-tests: Likewise.
76949         binary-io: avoid potential compilation warning
76950         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
76951         directives.
76953         fflush: avoid compilation error on NetBSD
76954         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
76955         between off_t and fpos_t, since the latter is sometimes a struct.
76956         * lib/fseeko.c (rpl_fseeko): Likewise.
76957         Reported by Alexander Nasonov <alnsn@yandex.ru>.
76959 2009-12-15  Eric Blake  <ebb9@byu.net>
76961         fcntl-h, stdio, sys_ioctl: fix declarations
76962         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
76963         function must not take arguments.
76964         * lib/sys_ioctl.in.h (ioctl): Likewise.
76965         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
76966         (open): Add a link warning.
76968 2009-12-15  Jim Meyering  <meyering@redhat.com>
76970         areadlink, areadlink-with-size: relax license to LGPLv2+
76971         * modules/areadlink (License): Relax to LGPLv2+.
76972         * modules/areadlink-with-size (License): Likewise.
76974 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
76975             Bruno Haible  <bruno@clisp.org>
76977         *printf: Fix memory leak.
76978         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
76979         * lib/vfprintf.c (vfprintf): Likewise.
76980         * lib/dprintf.c (dprintf): Likewise.
76981         * lib/vdprintf.c (vdprintf): Likewise.
76983 2009-12-14  Eric Blake  <ebb9@byu.net>
76985         accept4: adjust module dependencies
76986         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
76988         utimens: one more try at avoiding compiler warning
76989         * lib/utimens.c (lutimens): Lower scope of result.
76991 2009-12-13  Bruno Haible  <bruno@clisp.org>
76993         Move the malloc checking from module 'list' to new module 'xlist'.
76994         * modules/xlist: New file.
76995         * lib/gl_xlist.h: New file.
76996         * lib/gl_xlist.c: New file.
76997         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
76998         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
76999         gl_list_add_last, gl_list_add_before, gl_list_add_after,
77000         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
77001         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
77002         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
77003         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
77004         gl_sortedlist_nx_add): New declarations.
77005         (struct gl_list_implementation): Rename and change methods accordingly.
77006         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
77007         (gl_list_nx_create): Renamed from gl_list_create.
77008         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77009         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77010         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77011         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77012         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77013         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77014         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77015         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77016         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
77017         gl_list_create_empty.
77018         (gl_list_nx_create): Renamed from gl_list_create.
77019         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
77020         (gl_list_nx_set_at): Renamed from gl_list_set_at.
77021         (gl_list_nx_add_first): Renamed from gl_list_add_first.
77022         (gl_list_nx_add_last): Renamed from gl_list_add_last.
77023         (gl_list_nx_add_before): Renamed from gl_list_add_before.
77024         (gl_list_nx_add_after): Renamed from gl_list_add_after.
77025         (gl_list_nx_add_at): Renamed from gl_list_add_at.
77026         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
77027         * lib/gl_array_list.c: Don't include xalloc.h.
77028         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
77029         NULL upon out-of-memory.
77030         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
77031         out-of-memory.
77032         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
77033         Change return type to 'int'.
77034         (gl_array_nx_set_at): Renamed from gl_array_set_at.
77035         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77036         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
77037         upon out-of-memory.
77038         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
77039         upon out-of-memory.
77040         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
77041         upon out-of-memory.
77042         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
77043         upon out-of-memory.
77044         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
77045         out-of-memory.
77046         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
77047         Update.
77048         (gl_array_list_implementation): Update.
77049         * lib/gl_carray_list.c: Don't include xalloc.h.
77050         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
77051         Return NULL upon out-of-memory.
77052         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
77053         out-of-memory.
77054         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
77055         Change return type to 'int'.
77056         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
77057         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
77058         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
77059         upon out-of-memory.
77060         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
77061         upon out-of-memory.
77062         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
77063         out-of-memory.
77064         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
77065         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
77066         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
77067         Update.
77068         (gl_carray_list_implementation): Update.
77069         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
77070         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
77071         gl_linked_create_empty. Return NULL upon out-of-memory.
77072         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
77073         out-of-memory.
77074         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
77075         Change return type to 'int'. Return -1 upon out-of-memory.
77076         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
77077         out-of-memory.
77078         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
77079         upon out-of-memory.
77080         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
77081         upon out-of-memory.
77082         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
77083         NULL upon out-of-memory.
77084         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
77085         upon out-of-memory.
77086         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
77087         out-of-memory.
77088         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
77089         Update.
77090         * lib/gl_linked_list.c: Don't include xalloc.h.
77091         (gl_linked_list_implementation): Update.
77092         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
77093         (add_to_bucket): Change return type to 'int'.
77094         (gl_linkedhash_list_implementation): Update.
77095         * lib/gl_anytree_list1.h (free_subtree): New function.
77096         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
77097         gl_tree_create_empty. Return NULL upon out-of-memory.
77098         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
77099         Change return type to 'int'. Return -1 upon out-of-memory.
77100         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
77101         out-of-memory.
77102         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
77103         (gl_tree_remove_node): New function, moved here from
77104         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
77105         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
77106         Update.
77107         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
77108         malloc, not xmalloc. Return NULL upon out-of-memory.
77109         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77110         out-of-memory.
77111         (gl_tree_remove_node_from_tree): New function, extracted from
77112         gl_tree_remove_node.
77113         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77114         upon out-of-memory.
77115         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77116         out-of-memory.
77117         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77118         upon out-of-memory.
77119         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77120         upon out-of-memory.
77121         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77122         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
77123         not xmalloc. Return NULL upon out-of-memory.
77124         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
77125         out-of-memory.
77126         (gl_tree_remove_node_from_tree): New function, extracted from
77127         gl_tree_remove_node.
77128         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
77129         upon out-of-memory.
77130         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
77131         out-of-memory.
77132         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
77133         upon out-of-memory.
77134         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
77135         upon out-of-memory.
77136         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
77137         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
77138         gl_anytree_list1.h before gl_anyavltree_list2.h.
77139         (gl_avltree_list_implementation): Update.
77140         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
77141         gl_anytree_list1.h before gl_anyavltree_list2.h.
77142         (gl_rbtree_list_implementation): Update.
77143         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
77144         Change return type to 'int'. Return -1 upon out-of-memory. Use
77145         __builtin_expect.
77146         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
77147         (gl_avltreehash_list_implementation): Update.
77148         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
77149         (gl_rbtreehash_list_implementation): Update.
77150         * modules/array-list (Depends-on): Remove xalloc.
77151         * modules/carray-list (Depends-on): Likewise.
77152         * modules/linked-list (Depends-on): Likewise.
77153         * modules/linkedhash-list (Depends-on): Likewise.
77154         * modules/avltree-list (Depends-on): Likewise.
77155         * modules/rbtree-list (Depends-on): Likewise.
77156         * modules/avltreehash-list (Depends-on): Likewise.
77157         * modules/rbtreehash-list (Depends-on): Likewise.
77159         * modules/xsublist: New file.
77160         * lib/gl_xsublist.h: New file.
77161         * lib/gl_xsublist.c: New file.
77162         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
77163         (gl_sublist_nx_create): New declaration.
77164         * lib/gl_sublist.c: Don't include xalloc.h.
77165         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
77166         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
77167         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
77168         Change return type to 'int'. Return -1 upon out-of-memory.
77169         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
77170         upon out-of-memory.
77171         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
77172         NULL upon out-of-memory.
77173         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
77174         upon out-of-memory.
77175         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
77176         NULL upon out-of-memory.
77177         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
77178         NULL upon out-of-memory.
77179         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
77180         upon out-of-memory.
77181         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
77182         (gl_sublist_list_implementation): Update.
77183         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
77184         upon out-of-memory.
77185         * modules/sublist (Depends-on): Remove xalloc.
77187         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
77188         * tests/test-carray_list.c: Likewise.
77189         * tests/test-linked_list.c: Likewise.
77190         * tests/test-linkedhash_list.c: Likewise.
77191         * tests/test-avltree_list.c: Likewise.
77192         * tests/test-rbtree_list.c: Likewise.
77193         * tests/test-avltreehash_list.c: Likewise.
77194         * tests/test-rbtreehash_list.c: Likewise.
77195         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
77196         * modules/carray-list-tests (Makefile.am): Likewise.
77197         * modules/linked-list-tests (Makefile.am): Likewise.
77198         * modules/linkedhash-list-tests (Makefile.am): Likewise.
77199         * modules/avltree-list-tests (Makefile.am): Likewise.
77200         * modules/rbtree-list-tests (Makefile.am): Likewise.
77201         * modules/avltreehash-list-tests (Makefile.am): Likewise.
77202         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
77204         * NEWS: Mention the changes.
77206         * lib/clean-temp.c: Include gl_xlist.h.
77207         * modules/clean-temp (Depends-on): Add xlist.
77209         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
77210         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
77212         * tests/test-array_oset.c: Include gl_xlist.h.
77213         * modules/array-oset-tests (Depends-on): Add xlist.
77215         Reported by José E. Marchesi <jemarch@gnu.org>.
77217 2009-12-13  Bruno Haible  <bruno@clisp.org>
77219         Move the malloc checking from module 'oset' to new module 'xoset'.
77220         * modules/xoset: New file.
77221         * lib/gl_xoset.h: New file.
77222         * lib/gl_xoset.c: New file.
77223         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
77224         declarations.
77225         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
77226         (struct gl_oset_implementation): Rename and change methods accordingly.
77227         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
77228         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77229         'int'. Mark as __warn_unused_result__.
77230         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
77231         gl_oset_create_empty.
77232         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77233         'int'.
77234         * lib/gl_array_oset.c: Don't include xalloc.h.
77235         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
77236         malloc, not xmalloc.
77237         (grow): Change return type to 'int'. Don't call xalloc_die.
77238         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
77239         to 'int'.
77240         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
77241         'int'.
77242         (gl_array_oset_implementation): Update.
77243         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
77244         gl_tree_create_empty.
77245         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
77246         'int'.
77247         * lib/gl_avltree_oset.c: Don't include xalloc.h.
77248         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77249         xmalloc.
77250         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77251         not xmalloc.
77252         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77253         xmalloc.
77254         (gl_avltree_oset_implementation): Update.
77255         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
77256         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77257         xmalloc.
77258         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77259         not xmalloc.
77260         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77261         xmalloc.
77262         (gl_rbtree_oset_implementation): Update.
77263         * modules/array-oset (Depends-on): Remove xalloc.
77264         * modules/avltree-oset (Depends-on): Likewise.
77265         * modules/rbtree-oset (Depends-on): Likewise.
77266         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
77267         * tests/test-avltree_oset.c: Likewise.
77268         * tests/test-rbtree_oset.c: Likewise.
77269         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
77270         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
77271         * modules/rbtree-oset-tests (Makefile.am): Likewise.
77272         * NEWS: Mention the change.
77274 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
77276         maint.mk: allow a project to override release-prep commands
77277         * top/maint.mk (alpha, beta, stable): Move release-preparatory
77278         commands into a new rule.
77279         (release-prep): New rule.
77280         (release-prep-hook): New overridable variable.
77282 2009-12-13  Bruno Haible  <bruno@clisp.org>
77284         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
77286 2009-12-13  Jim Meyering  <meyering@redhat.com>
77288         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
77289         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
77291 2009-12-12  Bruno Haible  <bruno@clisp.org>
77293         duplocale: Tweak.
77294         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
77296 2009-12-12  Karl Berry  <karl@gnu.org>
77298         * config/srclist.txt (strtoll.c): tab changes, no more sync.
77300 2009-12-12  Bruno Haible  <bruno@clisp.org>
77302         * m4/po.m4: Undo incorrect untabification.
77304 2009-12-12  Bruno Haible  <bruno@clisp.org>
77306         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
77307         * modules/c-strtod (Depends-on): Add locale.
77308         * modules/c-strtold (Depends-on): Likewise.
77310 2009-12-12  Bruno Haible  <bruno@clisp.org>
77312         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
77314 2009-12-11  Eric Blake  <ebb9@byu.net>
77316         setenv: relax requirement in light of POSIX ruling
77317         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
77318         not NULL.
77319         * tests/test-setenv.c (main): Relax test.
77320         * tests/test-unsetenv.c (main): Likewise.
77321         * doc/posix-functions/setenv.texi (setenv): Document this.
77322         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77324 2009-12-11  Bruno Haible  <bruno@clisp.org>
77326         New module 'fd-safer-flag'.
77327         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
77328         * lib/dup-safer.c (dup_safer_flag): Remove function.
77329         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
77330         * lib/fd-safer.c (fd_safer_flag): Remove function.
77331         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
77332         * modules/cloexec (configure.ac): Drop indicator macro.
77333         * modules/fd-safer-flag: New file.
77334         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
77335         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
77336         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
77338 2009-12-11  Bruno Haible  <bruno@clisp.org>
77340         Tests for module 'nl_langinfo'.
77341         * modules/nl_langinfo-tests: New file.
77342         * tests/test-nl_langinfo.sh: New file.
77343         * tests/test-nl_langinfo.c: New file.
77345         New module 'nl_langinfo'.
77346         * lib/nl_langinfo.c: New file.
77347         * m4/nl_langinfo.m4: New file.
77348         * modules/nl_langinfo: New file.
77349         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
77351 2009-12-11  Bruno Haible  <bruno@clisp.org>
77353         Tests for module 'langinfo'.
77354         * modules/langinfo-tests: New file.
77355         * tests/test-langinfo.c: New file.
77357         New module 'langinfo'.
77358         * lib/langinfo.in.h: New file.
77359         * m4/langinfo_h.m4: New file.
77360         * modules/langinfo: New file.
77361         * doc/posix-headers/langinfo.texi: Mention the new module.
77363 2009-12-11  Bruno Haible  <bruno@clisp.org>
77365         * lib/config.charset: Untabify.
77367 2009-12-11  Bruno Haible  <bruno@clisp.org>
77369         * modules/unistd-safer (configure.ac): Drop indicator macro.
77371 2009-12-11  Bruno Haible  <bruno@clisp.org>
77373         Move pipe2-safer code to its own file.
77374         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
77375         * lib/pipe-safer.c (pipe2_safer): Remove function.
77376         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
77377         (Makefile.am): Add it to lib_SOURCES.
77379 2009-12-10  Bruno Haible  <bruno@clisp.org>
77381         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
77383 2009-12-10  Bruno Haible  <bruno@clisp.org>
77385         Declare which arguments expect non-NULL values, for GCC and clang.
77386         * build-aux/arg-nonnull.h: New file.
77387         * modules/arg-nonnull: New file.
77388         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
77389         (inet_ntop, inet_pton): Use it.
77390         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
77391         (closedir, dirfd, opendir, scandir, alphasort): Use it.
77392         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
77393         (open, openat): Use it.
77394         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
77395         (fnmatch): Use it.
77396         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
77397         (getopt, getopt_long, getopt_long_only): Use it.
77398         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
77399         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
77400         Use it.
77401         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
77402         (iconv_open): Use it.
77403         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
77404         (strtoimax, strtoumax): Use it.
77405         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
77406         (duplocale): Use it.
77407         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
77408         (frexp, frexpl): Use it.
77409         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
77410         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
77411         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
77412         (tsearch, tfind, tdelete, twalk): Use it.
77413         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
77414         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
77415         sigpending): Use it.
77416         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
77417         (posix_spawn, posix_spawnp, posix_spawnattr_init,
77418         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
77419         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
77420         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
77421         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
77422         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
77423         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
77424         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
77425         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
77426         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
77427         Use it.
77428         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
77429         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
77430         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
77431         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
77432         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
77433         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
77434         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
77435         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
77436         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
77437         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
77438         strtoull, unsetenv): Use it.
77439         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
77440         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
77441         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
77442         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
77443         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
77444         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
77445         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
77446         (strcasecmp, strncasecmp): Use it.
77447         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
77448         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
77449         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
77450         rpl_setsockopt): Use it.
77451         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
77452         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
77453         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
77454         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
77455         (gettimeofday): Use it.
77456         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
77457         (times): Use it.
77458         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
77459         (uname): Use it.
77460         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
77461         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
77462         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
77463         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
77464         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
77465         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
77466         unlinkat, write): Use it.
77467         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
77468         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
77469         * lib/argv-iter.h: Include arg-nonnull.h.
77470         (_ATTRIBUTE_NONNULL_): Remove macro.
77471         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
77472         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
77473         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
77474         optimization.
77475         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
77476         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
77477         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
77478         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
77479         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
77480         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
77481         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
77482         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
77483         * modules/arpa_inet (Depends-on): Add arg-nonnull.
77484         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
77485         * modules/dirent (Depends-on): Add arg-nonnull.
77486         (Makefile.am): Insert arg-nonnull.h into dirent.h.
77487         * modules/fcntl-h (Depends-on): Add arg-nonnull.
77488         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
77489         * modules/fnmatch (Depends-on): Add arg-nonnull.
77490         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
77491         * modules/getopt-posix (Depends-on): Add arg-nonnull.
77492         (Makefile.am): Insert arg-nonnull.h into getopt.h.
77493         * modules/glob (Depends-on): Add arg-nonnull.
77494         (Makefile.am): Insert arg-nonnull.h into glob.h.
77495         * modules/iconv_open (Depends-on): Add arg-nonnull.
77496         (Makefile.am): Insert arg-nonnull.h into iconv.h.
77497         * modules/inttypes (Depends-on): Add arg-nonnull.
77498         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
77499         * modules/locale (Depends-on): Add arg-nonnull.
77500         (Makefile.am): Insert arg-nonnull.h into locale.h.
77501         * modules/math (Depends-on): Add arg-nonnull.
77502         (Makefile.am): Insert arg-nonnull.h into math.h.
77503         * modules/netdb (Depends-on): Add arg-nonnull.
77504         (Makefile.am): Insert arg-nonnull.h into netdb.h.
77505         * modules/search (Depends-on): Add arg-nonnull.
77506         (Makefile.am): Insert arg-nonnull.h into search.h.
77507         * modules/signal (Depends-on): Add arg-nonnull.
77508         (Makefile.am): Insert arg-nonnull.h into signal.h.
77509         * modules/spawn (Depends-on): Add arg-nonnull.
77510         (Makefile.am): Insert arg-nonnull.h into spawn.h.
77511         * modules/stdio (Depends-on): Add arg-nonnull.
77512         (Makefile.am): Insert arg-nonnull.h into stdio.h.
77513         * modules/stdlib (Depends-on): Add arg-nonnull.
77514         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
77515         * modules/string (Depends-on): Add arg-nonnull.
77516         (Makefile.am): Insert arg-nonnull.h into string.h.
77517         * modules/strings (Depends-on): Add arg-nonnull.
77518         (Makefile.am): Insert arg-nonnull.h into strings.h.
77519         * modules/sys_socket (Depends-on): Add arg-nonnull.
77520         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
77521         * modules/sys_stat (Depends-on): Add arg-nonnull.
77522         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
77523         * modules/sys_time (Depends-on): Add arg-nonnull.
77524         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
77525         * modules/sys_times (Depends-on): Add arg-nonnull.
77526         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
77527         * modules/sys_utsname (Depends-on): Add arg-nonnull.
77528         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
77529         * modules/time (Depends-on): Add arg-nonnull.
77530         (Makefile.am): Insert arg-nonnull.h into time.h.
77531         * modules/unistd (Depends-on): Add arg-nonnull.
77532         (Makefile.am): Insert arg-nonnull.h into unistd.h.
77533         * modules/wchar (Depends-on): Add arg-nonnull.
77534         (Makefile.am): Insert arg-nonnull.h into wchar.h.
77535         * modules/argv-iter (Depends-on): Add arg-nonnull.
77536         * tests/test-canonicalize.c (null_ptr): New function.
77537         (main): Use it.
77538         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
77539         (main): Use it.
77540         * tests/test-memmem.c (null_ptr): New function.
77541         (main): Use it.
77542         Reported by Jim Meyering.
77544 2009-12-10  Bruno Haible  <bruno@clisp.org>
77546         Use spaces for indentation, not tabs.
77547         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
77548         * m4/*.m4: Untabify.
77549         * build-aux/*.h: Untabify.
77550         * tests/**/*.[hc]: Untabify.
77551         * README: New section "Indent with spaces, not TABs", based on
77552         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
77553         * NEWS: Mention the change.
77555 2009-12-10  Bruno Haible  <bruno@clisp.org>
77557         pty test: Fix link error.
77558         * modules/pty-tests (Makefile.am): Add the default LDADD value to
77559         test_pty_LDADD.
77561 2009-12-07  Simon Josefsson  <simon@josefsson.org>
77563         * modules/pty: New file.
77564         * modules/pty-tests: New file.
77565         * m4/pty.m4: New file.
77566         * tests/test-pty.c: New file.
77567         * doc/glibc-headers/pty.texi: Modified.
77568         * doc/glibc-functions/forkpty.texi: Modified.
77569         * doc/glibc-functions/openpty.texi: Modified.
77571 2009-12-10  Bruno Haible  <bruno@clisp.org>
77573         Avoid syntax error in C++ mode.
77574         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
77576 2009-12-10  Bruno Haible  <bruno@clisp.org>
77578         Use sed with option -e.
77579         * gnulib-tool (func_version, func_emit_copyright_notice,
77580         func_emit_initmacro_end, func_import, func_create_testdir): Pass
77581         option -e to sed.
77582         * modules/link-warning (Makefile.am): Likewise.
77584 2009-12-10  Jim Meyering  <meyering@redhat.com>
77586         mgetgroups: do not write bytes beyond end of malloc'd buffer
77587         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
77588         username, we call getgroups with a one-element-shorter buffer,
77589         but still told it the length was original, max_n_groups.
77591 2009-12-09  Eric Blake  <ebb9@byu.net>
77593         cloexec: relax license
77594         * modules/cloexec (Maintainer): Add myself.
77595         (License): Use LGPL, not GPL.
77597         link-warning: optimize generation
77598         * modules/link-warning (Makefile.am): Reduce process usage.
77600 2009-12-09  Bruno Haible  <bruno@clisp.org>
77602         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
77603         workaround was added on 2009-11-17.
77605 2009-12-09  Jim Meyering  <meyering@redhat.com>
77606             Bruno Haible  <bruno@clisp.org>
77608         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
77609         * modules/link-warning (Makefile.am): Make the comment-removing sed
77610         command more robust in the face of bootstrap-prepended comment lines.
77612 2009-12-09  Bruno Haible  <bruno@clisp.org>
77614         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
77615         most one group.
77617 2009-12-09  Simon Josefsson  <simon@josefsson.org>
77618             Bruno Haible  <bruno@clisp.org>
77620         * build-aux/link-warning.h: Add copyright notice.
77621         * modules/link-warning (Makefile.am): Generate link-warning.h from
77622         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
77623         * NEWS: Mention change in link-warning module.
77624         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
77625         * modules/dirent (Makefile.am): Add dependency to dirent.h.
77626         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
77627         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
77628         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
77629         * modules/math (Makefile.am): Add dependency to math.h.
77630         * modules/search (Makefile.am): Add dependency to search.h.
77631         * modules/signal (Makefile.am): Add dependency to signal.h.
77632         * modules/spawn (Makefile.am): Add dependency to spawn.h.
77633         * modules/stdio (Makefile.am): Add dependency to stdio.h.
77634         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
77635         * modules/string (Makefile.am): Add dependency to string.h.
77636         * modules/strings (Makefile.am): Add dependency to strings.h.
77637         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
77638         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
77639         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
77640         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
77641         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
77642         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
77643         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
77644         * modules/unistd (Makefile.am): Add dependency to unistd.h.
77645         * modules/wchar (Makefile.am): Add dependency to wchar.h.
77647 2009-12-09  Bruno Haible  <bruno@clisp.org>
77649         fchdir: Optimize away rpl_fstat when possible.
77650         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
77651         REPLACE_OPEN_DIRECTORY.
77652         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
77654 2009-12-09  Bruno Haible  <bruno@clisp.org>
77656         * lib/fchdir.c: Update comment.
77658 2009-12-09  Bruno Haible  <bruno@clisp.org>
77660         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
77662 2009-12-08  Eric Blake  <ebb9@byu.net>
77664         fchdir: avoid memory leak on re-registration.
77665         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
77667 2009-12-08  Jim Meyering  <meyering@redhat.com>
77669         init.sh: avoid Solaris 10 /bin/sh portability problem
77670         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
77671         sourced script:
77672           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
77673           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
77674           bar
77675         tests/init.sh relied on that, accepting a --set-path=DIR argument,
77676         and two tests used that idiom.
77677         * tests/init.sh: Update suggested usage comments.
77678         (path_prepend_): New function, to be used in place
77679         of the --src-path=DIR option.
77680         (setup_): Move PATH-prepending code into path_prepend_.
77681         * tests/test-pread.sh: Adapt to new usage.
77682         * tests/test-xalloc-die.sh: Likewise.
77684 2009-12-08  Simon Josefsson  <simon@josefsson.org>
77686         * doc/gnulib.texi (Glibc pty.h): Add.
77687         * doc/glibc-functions/forkpty.texi: Add.
77688         * doc/glibc-functions/openpty.texi: Add.
77689         Suggested by Bruno Haible.
77691 2009-12-08  Eric Blake  <ebb9@byu.net>
77693         fchdir: fix logic bugs
77694         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
77695         * tests/test-fchdir.c (main): Enhance test.
77696         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
77697         is in use.
77699         dup2: fix logic bugs
77700         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
77701         REPLACE_DUP2 to decide when rpl_dup2 is needed.
77702         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
77703         exists.
77704         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
77706 2009-12-07  Eric Blake  <ebb9@byu.net>
77708         unlink: fix m4 detection
77709         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
77711         unistd-safer: add unit test
77712         * modules/unistd-safer-tests: New file.
77713         * tests/test-dup-safer.c: Likewise.
77714         * tests/test-cloexec.c (setmode): Avoid compiler warning.
77715         * tests/test-dup2.c (setmode): Likewise.
77716         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
77718         cloexec: preserve text vs. binary across dup_cloexec
77719         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
77720         mode.
77721         * modules/dup2-tests (Depends-on): Add binary-io.
77722         * modules/cloexec-tests (Depends-on): Likewise.
77723         * tests/test-dup2.c (setmode, is_mode): New helpers.
77724         (main): Add tests that translation mode is preserved.
77725         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
77726         Reported by Bruno Haible.
77728         mgetgroups: reduce duplicate listings
77729         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
77730         resulting array.
77731         * tests/test-chown.h (test_chown): Simplify client.
77732         * tests/test-lchown.h (test_lchown): Likewise.
77734 2009-12-06  Bruno Haible  <bruno@clisp.org>
77736         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
77737         value.
77739 2009-12-06  Bruno Haible  <bruno@clisp.org>
77741         * lib/progname.c: Include stdio.h, stdlib.h.
77742         (set_program_name): Reject a NULL argument.
77744 2009-12-05  Eric Blake  <ebb9@byu.net>
77746         pipe2-safer: new module
77747         * modules/pipe2-safer: New file.
77748         * lib/unistd-safer.h (pipe2_safer): New prototype.
77749         * lib/unistd--.h (pipe2): New wrapper.
77750         * lib/pipe-safer.c (pipe2_safer): New function.
77751         * modules/pipe (Depends-on): Add pipe2-safer.
77752         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
77754         stdlib-safer: preserve cloexec flag for mkostemp[s]
77755         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
77756         fd_safer_flag.
77758         unistd-safer: allow preservation of cloexec status via flag
77759         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
77760         prototypes.
77761         * lib/dup-safer.c (dup_safer_flag): New function.
77762         * lib/fd-safer.c (fd_safer_flag): Likewise.
77763         * modules/cloexec (configure.ac): Set witness.
77765         test-dup2: enhance test
77766         * modules/dup2-tests (Depends-on): Add cloexec.
77767         * tests/test-dup2.c (main): Enhance test.
77769         cloexec: add dup_cloexec
77770         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
77771         header and comments.
77772         * lib/cloexec.c (set_cloexec_flag): Add comments.
77773         (dup_cloexec): New function, with mingw implementation borrowed
77774         from...
77775         * lib/w32spawn.h (dup_noinherit): ...here.
77776         * modules/execute (Depends-on): Add cloexec.
77777         * modules/pipe (Depends-on): Likewise.
77778         * modules/cloexec (Depends-on): Add dup2.
77779         * modules/cloexec-tests (Files): New file.
77780         * tests/test-cloexec.c: Likewise.
77782         test-xalloc-die: fix test for mingw
77783         * modules/xalloc-die-tests (Files): Add tests/init.sh.
77784         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
77785         directory and .exe suffix off argv[0] output.
77787         test-fseeko: fix test for mingw
77788         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
77789         than undefining fseek, so test will pass on mingw.
77791 2009-12-05  Bruno Haible  <bruno@clisp.org>
77793         * lib/progname.h (set_program_name): Clarify specification.
77794         * lib/progname.c (set_program_name): Likewise.
77795         Reported by Jim Meyering.
77797 2009-12-05  Jim Meyering  <meyering@redhat.com>
77799         maint.mk: backslash-escape parens in default regexp
77800         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
77801         backslash-escape the literal parentheses.
77803         maint.mk: news-date-check: use grep -E
77804         * top/maint.mk (today): Define a Make variable, not a...
77805         (news-date-check): ...shell variable.
77806         (news-date-regexp): Use the Make variable.
77807         Use grep's -E option.  Change the failing diagnostic to mention
77808         the variable, $(news-date-regexp).
77810 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
77812         maintainer-makefile: allow customization of NEWS entry format
77813         * top/maint.mk (news-date-regexp): New overridable variable.
77814         (news-date-check): Use it.
77816 2009-12-04  Eric Blake  <ebb9@byu.net>
77818         mgetgroups: add xgetgroups, and avoid ENOSYS failures
77819         * lib/mgetgroups.h (xgetgroups): New prototype.
77820         * lib/mgetgroups.c (xgetgroups): New wrapper.
77821         (mgetgroups): Handle ENOSYS.
77822         * modules/mgetgroups (Depends-on): Add realloc.
77823         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
77825         mgetgroups: avoid argument promotion issues with -1
77826         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
77827         for invalid gid_t.
77828         * tests/test-chown.h (getegid, test_chown): Likewise.
77829         * tests/test-lchown.h (getegid, test_lchown): Likewise.
77831 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
77833         exclude: Fix header file problems.
77834         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
77836 2009-12-01  Jim Meyering  <meyering@redhat.com>
77838         fts: fts_open: do not let an empty string cause immediate failure
77839         This is required in support of GNU rm, for which the command
77840         "rm A '' B" must process and remove both A and B, in spite of
77841         the empty string argument.
77842         * lib/fts.c (fts_open): Do not let the presence of an empty string
77843         cause fts_open to fail immediately.  Most fts-using tools must be
77844         able to process all arguments, in order, and can be expected to
77845         diagnose such arguments themselves.
77847 2009-11-30  Eric Blake  <ebb9@byu.net>
77849         utimens: fix compilation error
77850         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
77851         Declare variable at right scope.
77853 2009-11-29  Jim Meyering  <meyering@redhat.com>
77855         bootstrap: handle perl-5.11's changed --version output
77856         * build-aux/bootstrap (get_version): Handle perl separately,
77857         since perl-5.11's --version output is different.
77859 2009-11-28  Jim Meyering  <meyering@redhat.com>
77861         userspec: depend on the inttostr module, too
77862         * modules/userspec (Depends-on): Add inttostr.
77864         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
77865         * lib/userspec.c (parse_with_separator): Do not accept a user ID
77866         number of MAXUID when it evaluates to (uid_t) -1.
77867         Likewise for group ID.  Reported by Matt McCutchen in
77868         <http://savannah.gnu.org/bugs/?28113>
77870         userspec: reformat to use spaces, not TABs
77871         * lib/userspec.c: Expand TABs to spaces.
77872         Add Emacs' "indent-tabs-mode: nil" hint.
77874 2009-11-27  Eric Blake  <ebb9@byu.net>
77876         getopt-gnu: flush out another BSD bug
77877         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
77878         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
77879         flush out BSD bug.
77880         * tests/test-getopt.h (test_getopt): End lists with NULL.
77881         * tests/test-getopt_long.h (test_getopt_long): Likewise.
77882         (test_getopt_long_posix): Enhance test.
77883         * modules/getopt-posix-tests (Depends-on): Add stdbool.
77884         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
77885         getopt-gnu.
77886         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77887         Likewise.
77889 2009-11-27  Simon Josefsson  <simon@josefsson.org>
77891         * modules/idpriv-droptemp-tests (Notice): Fix text.
77893 2009-11-27  Jim Meyering  <meyering@redhat.com>
77895         test-xalloc-die: avoid spurious failure due to libtool argv difference
77896         In a libtool-enabled project, this test would fail due to a difference
77897         in the emitted program name, e.g.,
77898         -test-xalloc-die: memory exhausted
77899         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
77900         Use program to avoid that.
77901         * modules/xalloc-die-tests (Depends-on): Add progname.
77902         * tests/test-xalloc-die.c: Include progname.h".
77903         (program_name): Remove decl.
77904         (main): Call set_program_name.
77905         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
77907 2009-11-26  Richard Jones  <rjones@redhat.com>
77909         w32sock: leave win32 error in place.
77910         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
77912 2009-11-26  Eric Blake  <ebb9@byu.net>
77914         init.sh: suggest to use skip_ and fail_ functions in comments
77915         * tests/init.sh: Add a sentence.
77917 2009-11-25  Bruno Haible  <bruno@clisp.org>
77919         init.sh: add documentation in comments
77920         * tests/init.sh: Add some developer and user documentation.
77922 2009-11-26  Jim Meyering  <meyering@redhat.com>
77924         init.sh: accommodate even those who specify bogus srcdir manually
77925         * tests/init.sh: Normally, srcdir is guaranteed by automake and
77926         configure-time tests to be sanitized, so that there is no need to
77927         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
77928         (with no double quotes) suffices.  However, since tests may be
77929         invoked manually, and since you may explicitly set srcdir to the
77930         name of a directory containing spaces, do quote its uses here.
77931         * tests/test-pread.sh: Likewise.
77932         Suggested by Bruno Haible.
77934         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
77935         * tests/test-pread.sh: Write no data into the pipe, because
77936         test-pread actually reads none.  This avoids a diagnostic,
77937         "bash: echo: write error: Broken pipe", that arises in the unusual
77938         event something is ignoring SIGPIPE, and might be interpreted
77939         as some sort of failure.  Reported by Bruno Haible.
77941 2009-11-25  Jim Meyering  <meyering@redhat.com>
77943         test-pread: cover failure with ESPIPE and EINVAL
77944         * tests/test-pread.c (main): Test for failure, too.
77945         * tests/test-pread.sh: Invoke with stdin on a pipe.
77946         Suggested by Eric Blake.
77948         pread: improvement and fix
77949         * modules/pread (Depends-on): Depend on lseek, for portability to
77950         e.g., mingw.  Suggested by Eric Blake.
77951         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
77953         unistd.in.h: correct declaration of pread
77954         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
77955         Reported by Richard W.M. Jones.
77957         test-pread.sh: distribute the test script
77958         * modules/pread-tests (Files): Include test-pread.sh.
77960         test-pread.sh: clean up
77961         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
77962         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
77963         That is unnecessary, since it's always ".".
77964         Suggestion from Eric Blake.
77966         test-pread.sh: make executable
77967         * tests/test-pread.sh: Set executable bit.
77968         Reported by Eric Blake.
77970         correct typo in test-pread.sh
77971         * tests/test-pread.sh: Add #! line.
77973         test pread
77974         * tests/test-pread.c: New file.
77975         * tests/test-pread.sh: Likewise.
77976         * modules/pread-tests: Likewise.
77978         pread: new module
77979         * modules/pread: New file.
77980         * lib/unistd.in.h (pread): Define/declare.
77981         * lib/pread.c (pread): New file.
77982         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
77983         * modules/unistd (Makefile.am): Substitute witnesses.
77984         * doc/posix-functions/pread.texi (pread): Update.
77985         * MODULES.html.sh: Add pread.
77987 2009-11-25  Jim Meyering  <meyering@redhat.com>
77989         tests/init.sh: new file to be used via most *.sh tests
77990         * tests/init.sh: New file.
77992 2009-11-25  Eric Blake  <ebb9@byu.net>
77994         utimens: work around older Linux failure with symlinks
77995         * lib/utimens.c (lutimensat_works_really): New variable.
77996         (fdutimens, lutimens): Use it to manage kernels that support
77997         nanosecond times on files, but not on symlinks.
77998         Reported by Ondřej Vašík.
78000         utimes: fix configure grammar
78001         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
78003 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
78005         regex: Fix fastmap for multibyte character ranges.
78006         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
78007         characters when a multibyte character range is included.
78009 2009-11-22  Andy Wingo  <wingo@pobox.com>
78011         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
78012         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
78014 2009-11-24  Bruno Haible  <bruno@clisp.org>
78016         doc: Most *_l functions exist in MacOS X 10.5.
78017         * doc/posix-functions/duplocale.texi: Update platforms list.
78018         * doc/posix-functions/freelocale.texi: Likewise.
78019         * doc/posix-functions/newlocale.texi: Likewise.
78020         * doc/posix-functions/uselocale.texi: Likewise.
78021         * doc/posix-functions/isalnum_l.texi: Likewise.
78022         * doc/posix-functions/isalpha_l.texi: Likewise.
78023         * doc/posix-functions/isblank_l.texi: Likewise.
78024         * doc/posix-functions/iscntrl_l.texi: Likewise.
78025         * doc/posix-functions/isdigit_l.texi: Likewise.
78026         * doc/posix-functions/isgraph_l.texi: Likewise.
78027         * doc/posix-functions/islower_l.texi: Likewise.
78028         * doc/posix-functions/isprint_l.texi: Likewise.
78029         * doc/posix-functions/ispunct_l.texi: Likewise.
78030         * doc/posix-functions/isspace_l.texi: Likewise.
78031         * doc/posix-functions/isupper_l.texi: Likewise.
78032         * doc/posix-functions/iswalnum_l.texi: Likewise.
78033         * doc/posix-functions/iswalpha_l.texi: Likewise.
78034         * doc/posix-functions/iswblank_l.texi: Likewise.
78035         * doc/posix-functions/iswcntrl_l.texi: Likewise.
78036         * doc/posix-functions/iswctype_l.texi: Likewise.
78037         * doc/posix-functions/iswdigit_l.texi: Likewise.
78038         * doc/posix-functions/iswgraph_l.texi: Likewise.
78039         * doc/posix-functions/iswlower_l.texi: Likewise.
78040         * doc/posix-functions/iswprint_l.texi: Likewise.
78041         * doc/posix-functions/iswpunct_l.texi: Likewise.
78042         * doc/posix-functions/iswspace_l.texi: Likewise.
78043         * doc/posix-functions/iswupper_l.texi: Likewise.
78044         * doc/posix-functions/iswxdigit_l.texi: Likewise.
78045         * doc/posix-functions/isxdigit_l.texi: Likewise.
78046         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
78047         * doc/posix-functions/strcasecmp_l.texi: Likewise.
78048         * doc/posix-functions/strcoll_l.texi: Likewise.
78049         * doc/posix-functions/strfmon_l.texi: Likewise.
78050         * doc/posix-functions/strftime_l.texi: Likewise.
78051         * doc/posix-functions/strncasecmp_l.texi: Likewise.
78052         * doc/posix-functions/strxfrm_l.texi: Likewise.
78053         * doc/posix-functions/tolower_l.texi: Likewise.
78054         * doc/posix-functions/toupper_l.texi: Likewise.
78055         * doc/posix-functions/towctrans_l.texi: Likewise.
78056         * doc/posix-functions/towlower_l.texi: Likewise.
78057         * doc/posix-functions/towupper_l.texi: Likewise.
78058         * doc/posix-functions/wcscoll_l.texi: Likewise.
78059         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
78060         * doc/posix-functions/wctrans_l.texi: Likewise.
78061         * doc/posix-functions/wctype_l.texi: Likewise.
78062         * doc/glibc-functions/strptime_l.texi: Likewise.
78063         * doc/glibc-functions/strtod_l.texi: Likewise.
78064         * doc/glibc-functions/strtof_l.texi: Likewise.
78065         * doc/glibc-functions/strtol_l.texi: Likewise.
78066         * doc/glibc-functions/strtold_l.texi: Likewise.
78067         * doc/glibc-functions/strtoll_l.texi: Likewise.
78068         * doc/glibc-functions/strtoul_l.texi: Likewise.
78069         * doc/glibc-functions/strtoull_l.texi: Likewise.
78070         * doc/glibc-functions/wcsftime_l.texi: Likewise.
78071         * doc/glibc-functions/wcstod_l.texi: Likewise.
78072         * doc/glibc-functions/wcstof_l.texi: Likewise.
78073         * doc/glibc-functions/wcstol_l.texi: Likewise.
78074         * doc/glibc-functions/wcstold_l.texi: Likewise.
78075         * doc/glibc-functions/wcstoll_l.texi: Likewise.
78076         * doc/glibc-functions/wcstoul_l.texi: Likewise.
78077         * doc/glibc-functions/wcstoull_l.texi: Likewise.
78079 2009-11-24  Bruno Haible  <bruno@clisp.org>
78081         duplocale: Fix logic bug.
78082         * lib/duplocale.c: Don't include <langinfo.h>.
78083         (_NL_LOCALE_NAME): Remove macro.
78084         (rpl_duplocale): Use setlocale instead of nl_langinfo.
78085         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
78087 2009-11-23  Jim Meyering  <meyering@redhat.com>
78089         test-update-copyright: don't hard-code /usr/bin/perl
78090         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
78091         perl to print the current year.  Gilles Espinasse reported that
78092         the replaced use of perl was hard-coded as /usr/bin/perl.
78094 2009-11-23  Bruno Haible  <bruno@clisp.org>
78096         duplocale: Add support for glibc 2.3.x.
78097         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
78099 2009-11-22  Bruno Haible  <bruno@clisp.org>
78101         vasnprintf: Tiny optimization.
78102         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
78103         MacOS X.
78105 2009-11-22  Bruno Haible  <bruno@clisp.org>
78107         Tests for module 'duplocale'.
78108         * modules/duplocale-tests: New file.
78109         * tests/test-duplocale.c: New file.
78111         New module 'duplocale'.
78112         * m4/duplocale.m4: New file.
78113         * lib/locale.in.h (duplocale): New declaration.
78114         * lib/duplocale.c: New file.
78115         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
78116         gl_LOCALE_H_DEFAULTS): New macros.
78117         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
78118         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
78119         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
78120         REPLACE_DUPLOCALE.
78121         * modules/duplocale: New file.
78122         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
78124 2009-11-22  Bruno Haible  <bruno@clisp.org>
78126         * modules/locale-tests (configure.ac): Test for newlocale function.
78127         * tests/test-locale.c: When the system has extended locale functions,
78128         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
78130         locale: Make locale_t available when possible.
78131         * lib/locale.in.h: Include <xlocale.h> when it exists.
78132         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
78133         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
78134         * modules/locale (Depends-on): Add extensions.
78135         (Makefile.am): Also substitute HAVE_XLOCALE_H.
78136         * doc/posix-headers/locale.texi: Document the problem with locale_t.
78138 2009-11-22  Bruno Haible  <bruno@clisp.org>
78140         Add comments.
78141         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
78142         invocation.
78143         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
78144         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
78145         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
78147 2009-11-22  Bruno Haible  <bruno@clisp.org>
78149         error: account for the possibility of freopen (stdout).
78150         * lib/error.c: Include <unistd.h>.
78151         (flush_stdout): New function, extracted from error and error_at_line.
78152         Determine stdout's fd dynamically.
78153         (error, error_at_line): Invoke flush_stdout.
78154         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
78155         * modules/error (Depends-on): Add unistd.
78157 2009-11-22  Bruno Haible  <bruno@clisp.org>
78159         diffseq: Add comment.
78160         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
78162 2009-11-22  Jim Meyering  <meyering@redhat.com>
78164         c-stack: avoid defining an unused static function
78165         * lib/c-stack.c (find_stack_direction): Do not define this function
78166         when it will not be used.
78168         diffseq: avoid spurious gcc warnings
78169         * lib/diffseq.h (IF_LINT2): Define.
78170         (compareseq): Use it to initialize two members of "part".
78171         This avoids two used-uninitialized warnings.
78173 2009-11-21  Jim Meyering  <meyering@redhat.com>
78175         c-stack: avoid "ignoring return value of `write'" warning
78176         * lib/c-stack.c: Include "ignore-value.h".
78177         (die): Explicitly ignore each write return value.
78178         * modules/c-stack (Depends-on): Add ignore-value.
78180 2009-11-21  Bruno Haible  <bruno@clisp.org>
78182         diffseq: reduce scope of variable 'best'.
78183         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
78184         variable, earlier used for two different purposes.
78186 2009-11-21  Jim Meyering  <meyering@redhat.com>
78188         diffseq: remove useless assignment to "best"
78189         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
78190         assignment.  At that point "best" is already guaranteed to be zero.
78192 2009-11-20  Eric Blake  <ebb9@byu.net>
78194         build: mention ftp redirector in release announcements
78195         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
78196         values that used to come from cfg.mk; mention FTP redirect URL.
78197         * build-aux/announce-gen: Mention the mirror list.
78198         Suggested by Karl Berry.
78200         nanosleep: improve port to mingw
78201         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
78202         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
78203         LIB_NANOSLEEP, but only when needed.
78204         * modules/select (Link): Document LIBSOCKET.
78205         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
78206         enough.
78208         nanosleep: work around cygwin bug
78209         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
78210         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
78211         bug.
78212         (getnow): Delete, not needed.
78213         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
78214         LIB_CLOCK_GETTIME.
78215         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
78216         clock-time, gettime.
78217         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
78218         bug.
78219         * modules/nanosleep-tests: New test.
78220         * tests/test-nanosleep.c: New file.
78222         sleep: work around cygwin bug
78223         * lib/sleep.c (rpl_sleep): Work around the bug.
78224         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
78225         (gl_PREREQ_SLEEP): Delete unused macro.
78226         * modules/sleep (Depends-on): Add verify.
78227         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78228         * modules/unistd (Makefile.am): Substitute witness.
78229         * lib/unistd.in.h (sleep): Update prototype.
78230         * doc/posix-functions/sleep.texi (sleep): Document the bug.
78231         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
78232         * modules/sleep-tests (Depends-on): Check for alarm.
78234 2009-11-20  Jim Meyering  <meyering@redhat.com>
78236         maint.mk: improve sc_prohibit_magic_number_exit
78237         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
78238         so it does not match uses like System.exit(1).
78239         Add comments showing how to correct all offenders.
78241 2009-11-19  Eric Blake  <ebb9@byu.net>
78243         xalloc-die-tests: add missing library
78244         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
78246         test-xvasprintf: silence compiler warnings
78247         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
78248         empty string from gcc.
78250 2009-11-19  Jim Meyering  <meyering@redhat.com>
78252         xfreopen: new module, from coreutils
78253         * modules/xfreopen: New module.
78254         * lib/xfreopen.c: New file.
78255         * lib/xfreopen.h: New file.
78256         * MODULES.html.sh (File stream based Input/Output"): Add it.
78258 2009-11-19  Eric Blake  <ebb9@byu.net>
78260         manywarnings: depend on warnings
78261         * modules/manywarnings (Depends-on): Add warnings.
78263         build: avoid compiler warnings
78264         * lib/select.c (rpl_select): Delete unused variable.
78265         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
78267 2009-11-18  Eric Blake  <ebb9@byu.net>
78269         tests: avoid false negative with --with-packager
78270         * tests/test-version-etc.sh: Discard packager information.
78271         * tests/test-argp-version-etc-1.sh: Likewise.
78272         Reported by Mike Frysinger.
78274         utimens: fix regression on Solaris
78275         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
78276         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
78277         can only change fd timestamps via futimesat.  Instead, use an
78278         additional witness macro to avoid BSD bug.
78279         Reported by Jim Meyering.
78281 2009-11-17  Eric Blake  <ebb9@byu.net>
78283         usleep: use it to simplify tests
78284         * modules/stat-time-tests (Depends-on): Add usleep.
78285         (configure.ac): Drop usleep check.
78286         * modules/chown-tests (Depends-on, configure.ac): Likewise.
78287         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
78288         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
78289         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
78290         * modules/openat-tests (Depends-on, configure.ac): Likewise.
78291         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
78292         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
78293         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
78294         Likewise.
78295         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
78296         * tests/test-lchown.h (nap): Likewise.
78297         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
78298         * tests/test-stat-time.c (nap): Likewise.
78299         * tests/test-utimens-common.h (nap): Update comments.
78301         usleep: new module
78302         * modules/usleep: New file.
78303         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
78304         * lib/usleep.c (usleep): Likewise.
78305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
78306         * modules/unistd (Makefile.am): Substitute witnesses.
78307         * lib/unistd.in.h (usleep): Add declaration.
78308         * doc/pastposix-functions/usleep.texi (usleep): Document this.
78309         * MODULES.html.sh (Date and time): Likewise.
78310         * modules/usleep-tests (Depends-on): New test.
78311         * tests/test-usleep.c: New file.
78313         chown: work around OpenBSD bug
78314         * lib/chown.c (rpl_chown): Work around the bug.
78315         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
78316         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
78317         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
78318         * modules/chown (Depends-on): Add stdbool.
78319         * modules/lchown (Depends-on): Likewise.
78320         * doc/posix-functions/chown.texi (chown): Document the bug.
78321         * doc/posix-functions/lchown.texi (lchown): Likewise.
78322         * tests/test-lchown.h (test_chown): Relax test.
78324         mkstemp: avoid conflict with C++ keyword template
78325         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
78326         * lib/mkostemp.c (mkostemp): Likewise.
78327         * lib/mkostemps.c (mkostemps): Likewise.
78328         * lib/mkstemp.c (mkstemp): Likewise.
78329         * lib/mkstemps.c (mkstemps): Likewise.
78331         xalloc-die-tests: optimize
78332         * tests/test-xalloc-die.sh: Reduce number of processes.
78334 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78336         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
78337         patch from ludo@gnu.org (Ludovic Courtès).
78339 2009-11-17  Jim Meyering  <meyering@redhat.com>
78341         version-etc: use proper license string
78342         * modules/version-etc (License): Use LGPL, not LGPLv3+.
78343         * modules/version-etc-fsf: Likewise.
78345 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78347         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
78348         printed to stdout.  Deal with EOL differences.
78350 2009-11-17  Eric Blake  <ebb9@byu.net>
78352         unsetenv: work around Solaris bug
78353         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
78354         * lib/unsetenv.c (rpl_unsetenv): Work around it.
78355         Reported by Jim Meyering.
78357         vasnprintf: avoid compiler warnings
78358         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
78359         variables.
78360         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
78362 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78364         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
78365         settings since xalloc-die is no longer the self test,
78366         xalloc-die.sh is.
78368 2009-11-17  Jim Meyering  <meyering@redhat.com>
78370         test-xalloc-die.sh: make the code agree with the commit log
78371         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
78372         at the end, just in case you happen to have a test-xalloc-die
78373         program in some other PATH directory.
78375         test-xalloc-die.sh: fix a portability bug
78376         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
78377         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
78378         Otherwise, argv[0] (as often seen in diagnostics) would be too
78379         system-dependent, sometimes with, and sometimes without the leading "./".
78381         version-etc-fsf: relax license to LGPLv3+
78382         * modules/version-etc-fsf (License): Relax license.
78384 2009-11-16  Eric Blake  <ebb9@byu.net>
78386         xalloc-die-tests: avoid printing null pointer
78387         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
78388         shell script.
78389         * tests/test-xalloc-die.c (program_name): Declare.
78390         * tests/test-xalloc-die.sh (tmpfiles): New file.
78392         setenv, unsetenv: work around various bugs
78393         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
78394         (setenv) [HAVE_SETENV]: Work around bugs.
78395         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
78396         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
78397         for bugs.
78398         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
78399         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
78400         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
78401         * modules/stdlib (Makefile.am): Update substitutions.
78402         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
78403         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
78404         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
78405         * modules/setenv-tests: New test.
78406         * modules/unsetenv-tests: Likewise.
78407         * tests/test-setenv.c: New file.
78408         * tests/test-unsetenv.c: Likewise.
78410 2009-11-16  Jim Meyering  <meyering@redhat.com>
78412         version-etc: relax license to LGPLv3+
78413         * modules/version-etc (License): Relax license.
78415         better AC_REQUIRE expanded-before-required-warning avoidance
78416         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
78417         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
78418         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
78419         which is no longer needed.
78421 2009-11-16  Eric Blake  <ebb9@byu.net>
78423         test-freading: clean up temporary file
78424         * tests/test-freading.c (main): Remove file on success, and use
78425         ASSERT more liberally.
78426         Reported by Jim Meyering.
78428 2009-11-16  Jim Meyering  <meyering@redhat.com>
78430         avoid new AC_REQUIRE expanded-before-required warnings
78431         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
78432         merely using it.
78433         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
78434         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
78436 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78438         * tests/test-xalloc-die.c: New file.
78439         * modules/xalloc-die-tests: New file.
78440         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
78441         XFAIL_TESTS so it can be appended by modules.
78443 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78445         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
78446         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
78448 2009-11-14  Eric Blake  <ebb9@byu.net>
78450         fnmatch: avoid compiler warning
78451         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
78452         to silence compiler warning about mismatch signedness in ?:.
78453         Reported by Robert Millan.
78455         intprops: add double-inclusion guard
78456         * lib/intprops.h: Allow idempotent includes.
78457         Suggested by Bruce Korb.
78459         openat: detect Solaris fchownat bug
78460         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
78461         penalizing glibc chownat when only lchownat is broken.
78462         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
78463         trailing slash bugs.
78464         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
78465         * modules/openat-tests (Files): Include more files.
78466         (Depends-on): Add mgetgroups, sleep, stat-time.
78467         (configure.ac): Add additional checks.
78468         (Makefile.am): Build new test.
78469         * tests/test-fchownat.c: New file.
78471         lchown: detect Solaris and FreeBSD bug
78472         * lib/lchown.c (rpl_lchown): Work around bug.
78473         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
78474         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78475         * modules/unistd (Makefile.am): Populate it.
78476         * lib/unistd.in.h (lchown): Update declaration.
78477         * doc/posix-functions/lchown.texi (lchown): Document the bug.
78478         * modules/lchown-tests: New file.
78479         * tests/test-lchown.h (test_lchown): Likewise.
78480         * tests/test-lchown.c (main): Likewise.
78482         chown: detect Solaris and FreeBSD bug
78483         * lib/chown.c (rpl_chown): Work around bug.
78484         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
78485         (gl_PREREQ_CHOWN): Delete.
78486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78487         * modules/unistd (Makefile.am): Populate it.
78488         * lib/unistd.in.h (chown): Update declaration.
78489         * lib/lchown.c (chown): Update client.
78490         * modules/lchown (Depends-on): Add lstat.
78491         * doc/posix-functions/chown.texi (chown): Document the bug.
78492         * doc/posix-functions/getgroups.texi (getgroups): Document
78493         getgroups pitfall.
78494         * modules/chown-tests: New file.
78495         * tests/test-chown.h (test_chown): Likewise.
78496         * tests/test-chown.c (main): Likewise.
78498 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
78500         gnulib-tool: correctly detect absence of m4 directories
78501         * gnulib-tool: Avoid extra newline on data passed to wc -l.
78503 2009-11-14  Jim Meyering  <meyering@redhat.com>
78505         maint.mk: Prohibit inclusion of "xalloc.h" without use.
78506         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78508 2009-11-14  John W. Eaton  <jwe@gnu.org>
78510         strftime.h: wrap function declaration in extern "C" block
78511         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
78513 2009-11-13  Eric Blake  <ebb9@byu.net>
78515         getgroups: avoid compiler warning
78516         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
78518         getgroups: work around FreeBSD bug
78519         * lib/getgroups.c (rpl_getgroups): Work around the bug.
78520         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
78521         * doc/posix-functions/getgroups.texi (getgroups): Document it.
78522         * tests/test-getgroups.c (main): Fix buffer overrun.
78524         getgroups: avoid compilation failure
78525         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
78526         * modules/getgroups (Depends-on): Add stdint.
78528 2009-11-13  Jim Meyering  <meyering@redhat.com>
78530         test-getgroups: avoid compilation failure
78531         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
78533 2009-11-13  Eric Blake  <ebb9@byu.net>
78535         mgetgroups: new module, taken from coreutils
78536         * modules/mgetgroups: New file.
78537         * lib/mgetgroups.h: Likewise.
78538         * lib/mgetgroups.c (mgetgroups): Likewise.
78539         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
78540         * MODULES.html.sh (Users and groups): Mention it.
78542         getgroups: don't expose GETGROUPS_T to user
78543         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
78544         an element at a time if GETGROUPS_T is wrong size.
78545         * lib/getugroups.h (getugroups): Change signature.
78546         * lib/unistd.in.h (getgroups): Likewise.
78547         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
78548         signature needs fixing.
78549         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
78550         AC_TYPE_GETGROUPS.
78551         * modules/group-member (Depends-on): Add getgroups.
78552         * lib/group-member.c (group_info, get_group_info): Use gid_t.
78553         (group_member): Rely on getgroups replacement.
78554         * lib/getugroups.c (getugroups): Use gid_t.
78555         * tests/test-getgroups.c (main): Likewise.
78556         * NEWS: Mention the signature change.
78557         * doc/posix-functions/getgroups.texi (getgroups): Mention the
78558         problem with signature.
78559         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
78560         GETGROUPS_T is still useful for setgroups.
78562         getgroups, getugroups: provide stubs for mingw
78563         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
78564         * lib/getugroups.c (getugroups): Likewise.
78565         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
78566         function.  Modernize replacement scheme.
78567         (gl_PREREQ_GETGROUPS): Delete.
78568         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
78569         * modules/getgroups (configure.ac): Declare witness.
78570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78571         * modules/unistd (Depends-on): Substitute witness.
78572         * lib/unistd.in.h (getgroups): Declare replacement.
78574         getgroups: avoid calling exit
78575         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
78576         drop xalloc.
78577         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
78578         dependencies.
78579         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
78580         exiting, in the rare case of malloc failure.
78582         getgroups: fix logic error
78583         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
78584         has more than 20 groups.
78585         * modules/getgroups-tests: New test.
78586         * tests/test-getgroups.c: New file.
78588 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78590         * tests/test-base64.c: Improve.
78592 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78594         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
78595         Blake <ebb9@byu.net>.
78597 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78599         * tests/test-xvasprintf.c: Add %s%s related checks.
78601 2009-11-12  Eric Blake  <ebb9@byu.net>
78603         version-etc: match standards.texi style
78604         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
78605         and use <> only for URLs.
78607 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
78609         fts: do not fail on a submount during traversal
78610         * lib/fts.c (fts_build): Read the stat info again after opening
78611         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
78612         Original report at http://bugzilla.redhat.com/501848.
78614 2009-11-12  Jim Meyering  <meyering@redhat.com>
78616         bootstrap: sync from coreutils
78617         * build-aux/bootstrap (bootstrap_epilogue): New function.
78618         Use git_modules_config in one more place.  This make bootstrap's
78619         --gnulib-srcdir option more useful for testing.
78621         bootstrap: generalize autoheader check
78622         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
78623         AC_CONFIG_HEADERS.
78625 2009-11-11  Eric Blake  <ebb9@byu.net>
78627         mkfifoat: use new modules for Solaris and BSD bugs
78628         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
78629         * lib/mkfifoat.c (mknodat): Split...
78630         * lib/mknodat.c (mknodat): ...into new file.
78631         * modules/mkfifoat (Files): Ship new file.
78632         (Depends-on): Add mkfifo, mknod.
78633         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
78634         (Depends-on): Add symlink.
78635         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
78636         redundant with test_mkfifo.h.
78637         (do_mkfifoat, do_mknodat): New helpers.
78639         mknod: new module
78640         * modules/mknod: New file.
78641         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
78642         * lib/mknod.c (mknod): Likewise.
78643         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78644         defaults.
78645         * modules/sys_stat (Makefile.am): Substitute them.
78646         * lib/sys_stat.in.h (mknod): Declare replacement.
78647         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78648         Document it.
78649         * doc/posix-functions/mknod.texi (mknod): Likewise.
78650         * modules/mknod-tests: New test.
78651         * tests/test-mknod.c: Likewise.
78653         mkfifo: new module
78654         * modules/mkfifo: New file.
78655         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
78656         * lib/mkfifo.c (mkfifo): Likewise.
78657         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78658         defaults.
78659         * modules/sys_stat (Makefile.am): Substitute them.
78660         * lib/sys_stat.in.h (mkfifo): Declare replacement.
78661         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78662         Document it.
78663         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
78664         * modules/mkfifo-tests: New test.
78665         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
78666         from test-mkfifoat.c.
78667         * tests/test-mkfifo.c: New file.
78669         readlink: detect FreeBSD bug
78670         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
78671         slash on symlink.
78672         * doc/posix-functions/readlink.texi (readlink): Document the bug.
78673         * tests/test-readlink.h (test_readlink): Enhance test.
78675         symlink: detect FreeBSD bug
78676         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
78677         slash on symlink.
78678         * doc/posix-functions/symlink.texi (symlink): Document the bug.
78679         * tests/test-symlink.h (test_symlink): Enhance test.
78681 2009-11-10  Eric Blake  <ebb9@byu.net>
78683         link: detect FreeBSD bug
78684         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
78685         symlink.
78686         * doc/posix-functions/link.texi (link): Document the bug.
78687         * tests/test-link.h (test_link): Enhance test.
78688         * tests/test-linkat.c (main): Update caller.
78690         unlink, remove: detect FreeBSD bug
78691         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
78692         slash on symlink.
78693         * doc/posix-functions/unlink.texi (unlink): Document the bug.
78694         * doc/posix-functions/remove.texi (remove): Likewise.
78695         * tests/test-unlink.h (test_unlink): Enhance test.
78696         * tests/test-remove.c (main): Likewise.
78698 2009-11-09  Eric Blake  <ebb9@byu.net>
78700         rename: detect FreeBSD bug
78701         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
78702         slash on symlink.
78703         * modules/renameat-tests (Depends-on): Add filenamecat.
78704         * tests/test-rename.h (test_rename): Allow one more errno.
78705         * tests/test-renameat.c (main): Likewise.
78706         * doc/posix-functions/rename.texi (rename): Document the bug.
78708         open: detect FreeBSD bug
78709         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
78710         symlink.
78711         * doc/posix-functions/open.texi (open): Document the bug.
78712         * doc/posix-functions/utimes.texi (utimes): Likewise.
78713         * tests/test-open.h (test_open): Add parameters, and test symlink
78714         handling.
78715         * tests/test-open.c (main): Adjust caller.
78716         * tests/test-fcntl-safer.c (main): Likewise.
78717         * modules/open-tests (Depends-on): Add stdbool, symlink.
78718         * modules/fcntl-safer-tests (Depends-on): Likewise.
78719         * tests/test-openat.c (main): Add test-open tests.
78721         stat: detect FreeBSD bug
78722         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
78723         symlink.
78724         * doc/posix-functions/stat.texi (stat): Document the bug.
78725         * tests/test-stat.h (test_stat_func): Add argument.
78726         * tests/test-stat.c (main): Adjust caller.
78727         * tests/test-fstatat.c (main): Likewise.
78728         * modules/stat-tests (Depends-on): Add stdbool, symlink.
78729         Reported by Jim Meyering.
78731 2009-11-09  James Youngman  <jay@gnu.org>
78733         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
78734         * lib/strftime.c: Correct placement of #include "ignore-value.h".
78736 2009-11-08  Jim Meyering  <meyering@redhat.com>
78738         utimens: remove invalid futimesat call
78739         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
78740         It used the file descriptor of the target file as the DIR_FD
78741         parameter and NULL as the file name.  That caused failure with
78742         errno == EFAULT on FreeBSD-8.0-rc2
78744 2009-11-07  Eric Blake  <ebb9@byu.net>
78746         fflush, freadseek: use fseeko, not fseek
78747         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
78748         (clear_ungetc_buffer): Avoid potential problems on large files.
78749         * lib/freadseek.c (freadseek): Likewise.
78750         * modules/freadseek (Depends-on): Add fseeko.
78751         * modules/fseek (configure.ac): Set a witness.
78752         * tests/test-fflush.c (main): Use fseeko.
78753         * tests/test-fpurge.c (fseek): Disable link warning.
78754         * tests/test-freadable.c (fseek): Likewise.
78755         * tests/test-freading.c (fseek): Likewise.
78756         * tests/test-fseeko.c (fseek): Likewise.
78757         * tests/test-ftell.c (fseek): Likewise.
78758         * tests/test-ftello.c (fseek): Likewise.
78759         * tests/test-fwritable.c (fseek): Likewise.
78760         * tests/test-fwriting.c (fseek): Likewise.
78762 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78764         * modules/memchr (Depends-on): Drop getpagesize dependency.
78766 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78768         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
78769         Reported by Ludovic Courtès.
78770         * build-aux/pmccabe2html: Improve example usage.
78771         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
78773 2009-11-06  Jim Meyering  <meyering@redhat.com>
78775         do-release-commit-and-tag: New module.
78776         Automate the release-commit and tag process.
78777         * build-aux/do-release-commit-and-tag: New script, from coreutils.
78778         * modules/do-release-commit-and-tag: New file.
78779         * MODULES.html.sh (Support for maintaining and releasing): Add it.
78781 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78783         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
78784         because test-select.c uses inet_pton.
78786 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78788         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
78789         GETADDRINFO_LIB.  Bump serial number.
78790         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
78791         Suggested by Eric Blake <ebb9@byu.net>.
78793 2009-11-05  Eric Blake  <ebb9@byu.net>
78795         strtod: detect darwin bug
78796         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
78797         Reported by Leo Davis.
78799         freopen-safer: new module
78800         * modules/freopen-safer: New module.
78801         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
78802         * lib/freopen-safer.c (freopen_safer): New file.
78803         * lib/stdio-safer.h (freopen_safer): New declaration.
78804         * lib/stdio--.h (freopen): New override.
78805         * MODULES.html.sh (File stream based Input/Output): Mention it.
78806         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
78807         freopen-safer module.
78808         * doc/posix-functions/stderr.texi (stderr): Likewise.
78809         * doc/posix-functions/stdin.texi (stdin): Likewise.
78810         * doc/posix-functions/stdout.texi (stdout): Likewise.
78811         * modules/freopen-safer-tests: New test.
78812         * tests/test-reopen-safer.c: New file.
78814 2009-11-05  Jim Meyering  <meyering@redhat.com>
78816         maint.mk: Prohibit inclusion of "close-stream.h" without use.
78817         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78819 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78821         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
78823 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78825         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
78827 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78829         Fix link error.
78830         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78831         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78833 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78835         * tests/test-func.c: Also test value of __func__.
78837 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78839         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
78840         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
78842 2009-11-05  Bruno Haible  <bruno@clisp.org>
78844         Fix link error.
78845         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78846         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78847         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
78849 2009-11-05  Bruno Haible  <bruno@clisp.org>
78851         Tests for module 'inet_pton'.
78852         * modules/inet_pton-tests: New file.
78853         * tests/test-inet_pton.c: New file.
78855 2009-11-05  Bruno Haible  <bruno@clisp.org>
78857         Tests for module 'inet_ntop'.
78858         * modules/inet_ntop-tests: New file.
78859         * tests/test-inet_ntop.c: New file.
78861 2009-11-04  Eric Blake  <ebb9@byu.net>
78863         stdlib-safer: wrap all mkstemp variants
78864         * modules/mkostemp (configure.ac): Set witness.
78865         * modules/mkostemps (configure.ac): Likewise.
78866         * modules/mkstemps (configure.ac): Likewise.
78867         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
78868         (mkstemps_safer): Wrap more functions.
78869         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
78870         wrapping.
78871         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
78872         (mkstemps_safer): Implement the wrappers.
78874         mkstemps, mkostemps: new modules
78875         * modules/mkostemps: New module.
78876         * modules/mkstemps: Likewise.
78877         * lib/mkostemps.c (mkostemps): New file.
78878         * lib/mkstemps.c (mkstemps): Likewise.
78879         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
78880         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
78881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
78882         * modules/stdlib (Makefile.am): Substitute them.
78883         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
78884         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
78885         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
78886         * doc/gnulib.texi (Glibc stdlib.h): Include them.
78887         * MODULES.html.sh (File system functions): Mention them.
78889         tempname: resync from glibc
78890         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
78891         same values for __GT_FILE as glibc.  Abort even when assertions
78892         are disabled.
78893         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
78894         match its value otherwise.  Allow idempotent inclusion.
78895         * lib/mkdtemp.c (mkdtemp): Adjust caller.
78896         * lib/mkostemp.c (mkostemp): Likewise.
78897         * lib/mkstemp.c (mkstemp): Likewise.
78898         * lib/tmpfile.c (tmpfile): Likewise.
78899         * NEWS: Document this.
78901         utimens: fix use of futimens on older Linux
78902         * lib/utimens.c (fdutimens): Use updated, rather than original,
78903         timespec to avoid bug in older Linux kernel.
78904         Reported by Simon Josefsson.
78906 2009-11-04  Bruno Haible  <bruno@clisp.org>
78908         Make num_processors more flexible and consistent.
78909         * lib/nproc.h (enum nproc_query): New type.
78910         (num_processors): Add a 'query' argument.
78911         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
78912         (num_processors): Add a 'query' argument. Test the value of the
78913         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
78914         mingw, count the number of CPUs available for the current process.
78915         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
78916         Check for sched_getaffinity and sched_getaffinity_np.
78917         * modules/nproc (Depends-on): Add c-ctype, extensions.
78918         * NEWS: Mention the change.
78920 2009-11-03  Bruno Haible  <bruno@clisp.org>
78922         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
78924 2009-11-03  Jim Meyering  <meyering@redhat.com>
78926         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
78927         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
78928         if it is defined.
78930 2009-11-02  Eric Blake  <ebb9@byu.net>
78932         mktime, timegm: share common declaration
78933         * lib/mktime-internal.h: New file.
78934         * lib/mktime.c: Use it rather than open-coding a declaration.
78935         * lib/timegm.c: Likewise.
78936         * modules/mktime (Files): Ship it.
78937         * modules/timegm (Files): Likewise.
78938         Suggested by Bruno Haible.
78940         test-update-copyright: update test to match script changes
78941         * tests/test-update-copyright.sh: Avoid hard-coding perl
78942         location.  Don't update *.bak created by earlier runs.
78944 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78945             Simon Josefsson  <simon@josefsson.org>
78946             Bruno Haible  <bruno@clisp.org>
78948         Fix link error on Solaris 8.
78949         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
78950         also in libnsl. Define also INET_PTON_LIB.
78951         * modules/inet_pton (Link): New section.
78953 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78954             Bruno Haible  <bruno@clisp.org>
78956         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
78957         * modules/inet_ntop (Link): New section.
78958         Reported by Boyan Kasarov <bkasarov@gmail.com>.
78960 2009-11-02  Eric Blake  <ebb9@byu.net>
78962         maint: avoid compiler warnings in m4 macros
78963         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
78964         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
78966 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78968         * m4/pmccabe2html.m4: Remove file.
78969         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
78970         function.  Change maintainer.
78971         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
78972         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
78973         Courtès).
78975 2009-10-31  Eric Blake  <ebb9@byu.net>
78977         fseeko: fix m4 regression
78978         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
78979         regression from 2009-10-27.
78980         Reported by Ralf Wildenhues.
78982 2009-10-31  Jim Meyering  <meyering@redhat.com>
78984         inttostr: aesthetics and improved (compile-time) safety
78985         Define inttype_is_signed rather than inttype_is_unsigned,
78986         since the sole use is via "#if inttype_is_signed".
78987         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
78988         inttype_is_unsigned.
78989         * lib/offtostr.c (inttype_is_signed): Likewise.
78990         * lib/uinttostr.c (inttype_is_signed): Likewise.
78991         * lib/umaxtostr.c (inttype_is_signed): Likewise.
78992         * lib/inttostr.c (inttostr): Use verify to cross-check the
78993         inttype_is_signed value and the signedness of the actual type.
78994         * modules/inttostr (Depends-on): Add verify.
78996 2009-10-30  Eric Blake  <ebb9@byu.net>
78998         build: avoid compiler warnings
78999         * lib/fchmodat.c (lchmod): Mark unused variables.
79000         * lib/getopt.c (_getopt_initialize): Likewise.
79001         * lib/mktime.c (__mktime_internal): Provide prototype.
79002         * lib/inttostr.c (inttostr): Avoid compiler warning even with
79003         older gcc that do not understand #pragma GCC diagnostic.
79004         * lib/uinttostr.c (inttype_is_unsigned): Define.
79005         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
79007 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
79009         stat: fix compilation on AIX
79010         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
79011         only see struct stat64.
79013 2009-10-30  Eric Blake  <ebb9@byu.net>
79015         exclude: make more robust
79016         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
79017         rather than masking a coding bug.
79018         Suggested by Bruno Haible.
79020 2009-10-30  Jim Meyering  <meyering@redhat.com>
79022         perl scripts: remove #!/usr/bin/perl in favor of more portable...
79023         Rather than putting #!/usr/bin/perl on the first line,
79024         start with a variant of what's recommended by "man perlrun" that
79025         invokes the first "perl" program from your shell's search path.
79026         * build-aux/gitlog-to-changelog: Replace #!... as above.
79027         Add a "Local Variables" perl mode setting.
79028         Prompted by a patch from Ludovic Courtès.
79029         Improved by Eric Blake.
79030         * build-aux/useless-if-before-free: Likewise.
79031         * build-aux/announce-gen: Likewise.
79032         * build-aux/update-copyright: Likewise.
79034 2009-10-29  Eric Blake  <ebb9@byu.net>
79036         filenamecat-lgpl: adjust clients
79037         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
79038         filenamecat.
79039         * modules/renameat (Depends-on): Likewise.
79041         filenamecat: split into filenamecat-lgpl
79042         * modules/filenamecat-lgpl: New module.
79043         * modules/filenamecat (Files): Move library-safe files into
79044         filenamecat-lgpl.
79045         (Depends-on): Add filenamecat-lgpl.
79046         (configure.ac): Declare witness.
79047         * lib/filenamecat.h (file_name_concat): Only declare when using
79048         GPL module.
79049         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
79050         Move...
79051         * lib/filenamecat-lgpl.c: ...into new file.
79052         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
79053         (gl_FILE_NAME_CONCAT): Use it.
79054         * MODULES.html.sh (File system functions): Mention new module.
79056         argp: avoid memory leak
79057         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
79058         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
79059         base_name, since the latter malloc()s and can call exit().
79060         Leak introduced 2006-07-03.
79062         dirname-lgpl: adjust clients that don't need full dirname
79063         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
79064         * modules/filenamecat (Depends-on): Likewise.
79065         * modules/linkat (Depends-on): Likewise.
79066         * modules/mkancesdirs (Depends-on): Likewise.
79067         * modules/mkdir (Depends-on): Likewise.
79068         * modules/openat (Depends-on): Likewise.
79069         * modules/savewd (Depends-on): Likewise.
79070         * modules/rename (Depends-on): Likewise.
79071         (License): Relax license.
79072         * modules/mkdir-tests (Depends-on): Drop progname.
79073         (Makefile.am): Delete unneeded LDADD.
79074         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
79076         dirname: split into dirname-lgpl
79077         * modules/dirname-lgpl: New module.
79078         * modules/dirname (Files): Move library-safe files into
79079         dirname-lgpl.
79080         (Depends-on): Add dirname-lgpl.
79081         (configure.ac): Declare witness.
79082         * modules/double-slash-root (License): Relax license.
79083         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
79084         module.
79085         * lib/dirname.c (dir_len, mdir_name): Move...
79086         * lib/dirname-lgpl.c: ...into new file.
79087         * lib/basename.c (last_component, base_len): Move...
79088         * lib/basename-lgpl.c: ...into new file.
79089         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
79090         (gl_DIRNAME): Use it.
79091         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
79092         Mention new module.
79093         * modules/dirname-tests (Depends-on): Add progname.
79094         * tests/test-dirname.c (program_name): Delete.
79096         mkdir: make safe for libraries
79097         * modules/mkdir (Depends-on): Drop xalloc.
79098         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
79099         exit.
79101         tests: avoid some compiler warnings
79102         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
79103         literals.
79104         * tests/test-memchr.c (main): Avoid type mismatch.
79105         * tests/test-arpa_inet.c (main): Avoid unused parameters.
79106         * tests/test-base64.c (main): Likewise.
79107         * tests/test-getdelim.c (main): Likewise.
79108         * tests/test-gethostname.c (main): Likewise.
79109         * tests/test-getline.c (main): Likewise.
79110         * tests/test-netinet_in.c (main): Likewise.
79111         * tests/test-select.c (open_server_socket, main): Likewise.
79112         * tests/test-select-stdin.c (main): Likewise.
79113         * tests/test-sockets.c (main): Likewise.
79114         * tests/test-strsignal.c (main): Likewise.
79115         * tests/test-sys_select.c (main): Likewise.
79116         * tests/test-sys_socket.c (main): Likewise.
79117         * tests/test-u64.c (main): Likewise.
79118         * tests/test-xfprintf-posix.c (main): Likewise.
79119         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
79121         sockets: avoid compiler warning
79122         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
79124         maint: detect usage(1) and other suspicious exits
79125         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
79127 2009-10-29  Jim Meyering  <meyering@redhat.com>
79129         timespec: long-to-int truncation could make timespec_cmp malfunction
79130         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
79131         a multiple of 2^32 nanoseconds as no difference.
79133 2009-10-28  Jim Meyering  <meyering@redhat.com>
79135         fprintftime: wrap macro code argument in "do {...} while(0)"
79136         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
79137         cpy macro must be a statement that can be followed by a semicolon.
79138         Now that the else clause contains a comment and is hence longer
79139         than one line, I require curly braces.  That in turn requires
79140         that we wrap this code block in the standard do...while(0).
79142         fprintftime: remove stray semicolon from previous change
79143         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
79145         fprintftime: avoid a warning about ignored fwrite return value
79146         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
79147         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
79148         that is unsafe.
79149         * modules/fprintftime (Depends-on): Add ignore-value.
79151         exclude: avoid an unwarranted warning
79152         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
79154 2009-10-27  Eric Blake  <ebb9@byu.net>
79156         fseek: avoid compilation failure when fflush is replaced
79157         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
79158         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
79159         module is in use.
79160         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
79161         module is not in use; since REPLACE_FSEEK worked otherwise.
79162         (GNULIB_FTELLO): Likewise for ftell.
79163         Reported by Ian Beckwith and others.
79165 2009-10-27  Bruno Haible  <bruno@clisp.org>
79167         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
79168         Reported by Jim Meyering.
79170 2009-10-27  Jim Meyering  <jim@meyering.net>
79171             Bruno Haible  <bruno@clisp.org>
79173         Avoid warning despite dropping the return value of fwrite.
79174         * lib/unicodeio.c: Include ignore-value.h.
79175         (fwrite_success_callback): Explicitly ignore fwrite's return value.
79176         * modules/unicodeio (Depends-on): Add ignore-value.
79178 2009-10-26  Eric Blake  <ebb9@byu.net>
79180         areadlinkat: fix fallback path
79181         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
79182         pointer and zero.
79184 2009-10-22  Pádraig Brady  <P@draigBrady.com>
79186         Use a better IO block size for modern systems
79187         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
79188         * lib/md2.c: Likewise.
79189         * lib/md4.c: Likewise.
79190         * lib/md5.c: Likewise.
79191         * lib/sha1.c: Likewise.
79192         * lib/sha256.c: Likewise.
79193         * lib/sha512.c: Likewise.
79195 2009-10-22  Eric Blake  <ebb9@byu.net>
79197         tests: avoid several compiler warnings
79198         * tests/test-getcwd.c (main): Avoid buffer underflow.
79199         * tests/test-getdate.c (main): String literals are not safe with
79200         putenv, so use setenv.  Declare unused argument.
79201         * modules/getdate-tests (Depends-on): Add setenv.
79202         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
79203         problems with string literals in char *.
79204         * tests/test-hash.c (main): Avoid shadowing declaration.
79205         (insert_new): Treat string literals as char const *.
79206         * tests/test-getopt.h (test_getopt): Likewise.
79207         (getopt_loop): Alter types to minimize casting elsewhere.
79208         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
79209         (test_getopt_long_posix): Likewise.
79210         (do_getopt_long): Add wrapper to minimize casting.
79211         * tests/test-atexit.c (clear_temp_file): Use void.
79212         * tests/test-areadlink-with-size.c (main): Declare unused
79213         arguments.
79214         * tests/test-areadlink.c (main): Likewise.
79215         * tests/test-areadlinkat-with-size.c (main): Likewise.
79216         * tests/test-areadlinkat.c (main): Likewise.
79217         * tests/test-canonicalize-lgpl.c (main): Likewise.
79218         * tests/test-canonicalize.c (main): Likewise.
79219         * tests/test-dirent-safer.c (main): Likewise.
79220         * tests/test-dirname.c (main): Likewise.
79221         * tests/test-dup2.c (main): Likewise.
79222         * tests/test-fchdir.c (main): Likewise.
79223         * tests/test-fcntl-h.c (main): Likewise.
79224         * tests/test-fcntl-safer.c (main): Likewise.
79225         * tests/test-fdopendir.c (main): Likewise.
79226         * tests/test-fdutimensat.c (main): Likewise.
79227         * tests/test-fflush.c (main): Likewise.
79228         * tests/test-filenamecat.c (main): Likewise.
79229         * tests/test-filevercmp.c (main): Likewise.
79230         * tests/test-fopen-safer.c (main): Likewise.
79231         * tests/test-fopen.c (main): Likewise.
79232         * tests/test-fpending.c (main): Likewise.
79233         * tests/test-fpurge.c (main): Likewise.
79234         * tests/test-freading.c (main): Likewise.
79235         * tests/test-fstatat.c (main): Likewise.
79236         * tests/test-fsync.c (main): Likewise.
79237         * tests/test-futimens.c (main): Likewise.
79238         * tests/test-getndelim2.c (main): Likewise.
79239         * tests/test-gettimeofday.c (main): Likewise.
79240         * tests/test-getopt.c (main): Likewise.
79241         * tests/test-i-ring.c (main): Likewise.
79242         * tests/test-inttypes.c (main): Likewise.
79243         * tests/test-link.c (main): Likewise.
79244         * tests/test-lstat.c (main): Likewise.
79245         * tests/test-math.c (main): Likewise.
79246         * tests/test-md5.c (main): Likewise.
79247         * tests/test-memchr2.c (main): Likewise.
79248         * tests/test-memrchr.c (main): Likewise.
79249         * tests/test-mkdir.c (main): Likewise.
79250         * tests/test-mkdirat.c (main): Likewise.
79251         * tests/test-mkfifoat.c (main): Likewise.
79252         * tests/test-open.c (main): Likewise.
79253         * tests/test-openat-safer.c (main): Likewise.
79254         * tests/test-openat.c (main): Likewise.
79255         * tests/test-quotearg.c (main): Likewise.
79256         * tests/test-rawmemchr.c (main): Likewise.
79257         * tests/test-readlink.c (main): Likewise.
79258         * tests/test-remove.c (main): Likewise.
79259         * tests/test-rename.c (main): Likewise.
79260         * tests/test-renameat.c (main): Likewise.
79261         * tests/test-rmdir.c (main): Likewise.
79262         * tests/test-sha1.c (main): Likewise.
79263         * tests/test-signal.c (main): Likewise.
79264         * tests/test-sigaction.c (main): Likewise.
79265         * tests/test-stat.c (main): Likewise.
79266         * tests/test-stat-time.c (main): Likewise.
79267         * tests/test-stddef.c (main): Likewise.
79268         * tests/test-stdint.c (main): Likewise.
79269         * tests/test-stdio.c (main): Likewise.
79270         * tests/test-stdlib.c (main): Likewise.
79271         * tests/test-strchrnul.c (main): Likewise.
79272         * tests/test-strerror.c (main): Likewise.
79273         * tests/test-string.c (main): Likewise.
79274         * tests/test-strtod.c (main): Likewise.
79275         * tests/test-strverscmp.c (main): Likewise.
79276         * tests/test-symlink.c (main): Likewise.
79277         * tests/test-symlinkat.c (main): Likewise.
79278         * tests/test-sys_stat.c (main): Likewise.
79279         * tests/test-sys_time.c (main): Likewise.
79280         * tests/test-time.c (main): Likewise.
79281         * tests/test-unistd.c (main): Likewise.
79282         * tests/test-unlink.c (main): Likewise.
79283         * tests/test-unlinkat.c (main): Likewise.
79284         * tests/test-utimens.c (main): Likewise.
79285         * tests/test-utimensat.c (main): Likewise.
79286         * tests/test-version-etc.c (main): Likewise.
79287         * tests/test-wchar.c (main): Likewise.
79288         * tests/test-wctype.c (main): Likewise.
79289         * tests/test-xprintf-posix.c (main): Likewise.
79290         * tests/test-posixtm.c (main): Likewise.
79291         (STREQ): Delete unused macro.
79292         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
79293         shadowed variables.
79294         * tests/test-memchr.c (main): Likewise.
79296 2009-10-21  Eric Blake  <ebb9@byu.net>
79298         areadlinkat: avoid failure on older glibc
79299         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
79300         rather than mis-comparing 0 against FUNC_RESULT of char*.
79302 2009-10-21  Bruno Haible  <bruno@clisp.org>
79304         * modules/stpncpy (License): Relicense under LGPLv2+.
79305         Reported by David Lutterkort <lutter@redhat.com>.
79307 2009-10-20  Eric Blake  <ebb9@byu.net>
79309         utimensat: work around Solaris 9 bug
79310         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
79311         has trailing slash bugs.
79312         * tests/test-lutimens.h (test_lutimens): Enhance test.
79313         * tests/test-utimens.h (test_utimens): Likewise.
79314         * doc/posix-functions/utime.texi (utime): Enhance documentation.
79315         * doc/posix-functions/utimes.texi (utimes): Likewise.
79316         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79317         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
79318         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
79319         * doc/posix-functions/futimens.texi (futimens): Likewise.
79321         fdutimensat: new module
79322         * modules/fdutimensat: New file.
79323         * lib/fdutimensat.c (fdutimensat): Likewise.
79324         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
79325         * MODULES.html.sh (File system functions): Mention module.
79326         * modules/fdutimensat-tests: New test.
79327         * tests/test-fdutimensat.c: Likewise.
79329         doc: regenerate INSTALL
79330         * doc/INSTALL: Reflect recent autoconf update.
79331         * doc/INSTALL.ISO: Likewise.
79332         * doc/INSTALL.UTF-8: Likewise.
79334 2009-10-20  Pádraig Brady  <P@draigBrady.com>
79336         acl: warn if ACL support is not detected
79337         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
79339 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
79341         * lib/nproc.h: Add extern "C" block for C++.
79343 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
79344             Bruno Haible  <bruno@clisp.org>
79346         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
79347         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
79348         * doc/posix-functions/isalpha.texi: Likewise.
79349         * doc/posix-functions/isblank.texi: Likewise.
79350         * doc/posix-functions/iscntrl.texi: Likewise.
79351         * doc/posix-functions/isdigit.texi: Likewise.
79352         * doc/posix-functions/isgraph.texi: Likewise.
79353         * doc/posix-functions/islower.texi: Likewise.
79354         * doc/posix-functions/isprint.texi: Likewise.
79355         * doc/posix-functions/ispunct.texi: Likewise.
79356         * doc/posix-functions/isspace.texi: Likewise.
79357         * doc/posix-functions/isupper.texi: Likewise.
79358         * doc/posix-functions/isxdigit.texi: Likewise.
79360 2009-10-18  Bruno Haible  <bruno@clisp.org>
79362         Tests for module 'isblank'.
79363         * modules/isblank-tests: New file.
79364         * tests/test-isblank.c: New file.
79366         New module 'isblank'.
79367         * lib/isblank.c: New file.
79368         * m4/isblank.m4: New file.
79369         * modules/isblank: New file.
79370         * doc/posix-functions/isblank.texi: Mention the new module.
79372 2009-10-18  Bruno Haible  <bruno@clisp.org>
79374         New module 'ctype'.
79375         * lib/ctype.in.h: New file.
79376         * m4/ctype.m4: New file.
79377         * modules/ctype: New file.
79378         * doc/posix-headers/ctype.texi: Mention the new module.
79380 2009-10-18  Jim Meyering  <meyering@redhat.com>
79382         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
79383         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
79384         right after its initialization, rather than farther down.
79385         Keeping these in close proximity makes it easier to ensure
79386         that each such variable is initialized.  E.g.,
79388             LIB_CLOCK_GETTIME=
79389             AC_SUBST([LIB_CLOCK_GETTIME])
79391         This change also increments these serial numbers.
79392         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
79393         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79396 2009-10-18  Bruno Haible  <bruno@clisp.org>
79398         Don't let environment variables perturb build.
79399         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
79400         (gl_PREREQ_GETHRXTIME): ... not here.
79402 2009-10-18  Bruno Haible  <bruno@clisp.org>
79404         Avoid symlink attack in localcharset module.
79405         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
79406         (O_NOFOLLOW): Define fallback.
79407         (get_charset_aliases): Don't open the file if it is a symbolic link.
79408         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
79409         gl_FCNTL_H.
79410         (gl_FCNTL_H): Require it.
79411         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
79412         * modules/localcharset (Files): Add m4/fcntl_h.m4.
79413         Reported by Fergal Glynn <fglynn@veracode.com>.
79415 2009-10-18  Bruno Haible  <bruno@clisp.org>
79417         Implement nproc for mingw.
79418         * lib/nproc.c: Include <windows.h>
79419         (num_processors): On native Windows platforms, try GetSystemInfo.
79421 2009-10-18  Bruno Haible  <bruno@clisp.org>
79423         Implement nproc for IRIX.
79424         * lib/nproc.c: Include <sys/sysmp.h>.
79425         (num_processors): On IRIX systems, try sysmp.
79426         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
79428 2009-10-18  Bruno Haible  <bruno@clisp.org>
79430         Implement nproc for HP-UX.
79431         * lib/nproc.c: Include <sys/pstat.h>
79432         (num_processors): On HP-UX systems, try pstat_getdynamic.
79433         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
79434         pstat_getdynamic.
79436 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
79437             Bruno Haible  <bruno@clisp.org>
79439         Implement nproc for NetBSD, OpenBSD.
79440         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
79441         (ARRAY_SIZE): New macro.
79442         (num_processors): On BSD systems, try sysctl of HW_NCPU.
79443         * m4/nproc.m4: New file.
79444         * modules/nproc (Files): Add m4/nproc.m4.
79445         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
79446         (Makefile.am): Instead, augment lib_SOURCES.
79448 2009-10-18  Bruno Haible  <bruno@clisp.org>
79450         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
79451         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
79452         sys/param.h.
79454 2009-10-16  Eric Blake  <ebb9@byu.net>
79456         utimensat: new module
79457         * modules/utimensat: New file.
79458         * lib/utimensat.c (utimensat): Likewise.
79459         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
79460         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
79461         so we can work around Linux bugs.
79462         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79463         * modules/sys_stat (Makefile.am): Substitute them.
79464         * lib/sys_stat.in.h (utimensat): Declare it.
79465         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79466         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79467         * modules/utimensat-tests: New test.
79468         * tests/test-utimensat.c: Likewise.
79470         utimens: let lutimens work on non-symlinks
79471         * lib/utimens.c (lutimens): Fall back to utimens rather than
79472         failing with ENOSYS, when file is not a symlink.
79473         (utimens): Reduce redirection.
79474         * tests/test-lutimens.h (test_lutimens): Update test to cover
79475         non-symlinks.
79476         * tests/test-utimens.h (test_utimens): Update test to cover
79477         symlinks.
79478         * tests/test-utimens.c (main): Update caller.
79480         utimens: cache whether utimensat syscall works
79481         * lib/utimens.c (utimensat_works_really): New cache variable.
79482         (fdutimens, lutimens): Use it to avoid failing syscall.
79484         test-stat-time, test-utimens: improve portability
79485         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
79486         ext4 on alpha, and for cygwin.
79487         * tests/test-utimens-common.h: New file.
79488         (nap): Factor delays into single function.
79489         * tests/test-lutimens.h (test_lutimens): Use new header.
79490         * tests/test-futimens.h (test_futimens): Likewise.
79491         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
79492         timestamps to occur from same machine, as was done previously for
79493         test_utimens.
79494         * modules/utimens-tests (Files): Ship new file.
79495         * modules/futimens-tests (Files): Likewise.
79496         Reported in part by Jim Meyering.
79498         sys_stat: sort replacement declarations
79499         * lib/sys_stat.in.h: Sort declarations.
79500         * lib/futimens.c (futimens): Fix typo.
79502 2009-10-15  Jim Meyering  <meyering@redhat.com>
79504         don't let environment settings perturb build
79505         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
79506         could cause a configure-time and/or build-time malfunction.
79507         Typically, a configure-time function-in-library test is performed
79508         via code like this:
79510           LIB_VAR=
79511           AC_SUBST([LIB_VAR])
79512           prefix_saved_LIBS=$LIBS
79513             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
79514                        [test "$ac_cv_search_FUNC" = "none required" ||
79515                         LIB_VAR=$ac_cv_search_FUNC])
79516           LIBS=$prefix_saved_LIBS
79518         However, in each of the files affected by this change, the LIB_VAR=
79519         initialization was omitted.  Thus, when set in the environment, its
79520         value would propagate into generated Makefiles when FUNC is not found
79521         in LIB_NAME.
79522         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
79523         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79524         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79526 2009-10-14  Eric Blake  <ebb9@byu.net>
79528         fchdir: avoid infinite recursion in mingw
79529         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
79530         recursing.
79532         test-stat-time: port to mingw
79533         * tests/test-stat-time.c (force_unlink): Return a value.
79534         (test_ctime) [W32]: Fix compilation error.
79535         (nap): Don't call usleep with too large an argument.  Use
79536         force_unlink.
79537         * doc/pastposix-functions/usleep.texi (usleep): Document the
79538         portability issue.
79540 2009-10-13  Jim Meyering  <meyering@redhat.com>
79542         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
79543         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
79544         * modules/pipe-filter-ii: Likewise.
79545         * modules/sys_socket-tests: Likewise.
79546         * modules/tsearch-tests: Likewise.
79547         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
79548         (check): Depend on it.
79550 2009-10-12  Eric Blake  <ebb9@byu.net>
79552         utimens-tests: port to NFS file systems
79553         * tests/test-utimens.h (test_utimens): Refactor utimecmp
79554         comparisons to avoid spurious failures from timestamp drift
79555         between NFS machines.
79557 2009-10-12  Eric Blake  <ebb9@byu.net>
79559         stat-time-tests: minor cleanups
79560         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
79561         * tests/test-stat-time.c (nap): Separate assignment from call.
79562         Suggested by Paolo Bonzini and Bruno Haible.
79564         sys_stat: guarantee struct timespec
79565         * lib/sys_stat.in.h (includes): Always include <time.h>
79566         * modules/sys_stat (Depends-on): Add time.
79567         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
79568         mode_t permission values.
79569         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
79570         get at subsecond timestamps.
79572 2009-10-10  Eric Blake  <ebb9@byu.net>
79574         futimens: new module
79575         * modules/futimens: New file.
79576         * lib/futimens.c (futimens): Likewise.
79577         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
79578         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
79579         we can work around Linux bugs.
79580         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79581         * modules/sys_stat (Makefile.am): Substitute them.
79582         * lib/sys_stat.in.h (futimens): Declare it.
79583         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79584         * doc/posix-functions/futimens.texi (futimens): Likewise.
79585         * modules/futimens-tests: New test.
79586         * tests/test-futimens.c: Likewise.
79588         utimens: introduce fdutimens
79589         * lib/utimens.h (fdutimens): New prototype.
79590         * lib/utimens.c (gl_futimens): Move guts...
79591         (fdutimens): ...to new interface.
79592         * tests/test-utimens.c (do_fdutimens): Use it.
79594         utimens: add UTIME_NOW and UTIME_OMIT support
79595         * lib/utimens.c (validate_timespec, update_timespec): New helper
79596         functions.
79597         (gl_futimens, lutimens): Use them.
79598         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
79599         stdbool, sys_stat.
79600         (Link): Mention resulting library dependency.
79601         * modules/utimecmp (Link): Likewise.
79602         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
79603         (Makefile.am): Pick up library dependency.
79604         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
79605         definition.
79606         * tests/test-sys_stat.c: Test the definitions.
79607         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
79608         * NEWS: Document library dependency.
79610         utimecmp: support symlink timestamps
79611         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
79612         hashing when possible.  Use pathconf when available.
79613         (SYSCALL_RESOLUTION): Recognize tighter resolution.
79614         * modules/utimecmp (Depends-on): Add lstat.
79616         utimens: add lutimens interface
79617         * lib/utimens.c (lutimens): New function.
79618         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
79619         * lib/utimens.h (lutimens): Declare new interface.
79620         * tests/test-utimens.c (main): Enhance test.
79621         * tests/test-lutimens.h (test_lutimens): New file.
79622         * modules/utimens-tests (Files): Distribute it.
79623         (Depends-on): Add symlink.
79624         (configure.ac): Check for usleep.
79626         utimens: validate futimens usage
79627         * lib/utimens.c (gl_futimens): Require valid fd up front, using
79628         fewer syscalls on failure later on.  Avoid compiler warning on
79629         mingw.
79630         * modules/utimens (Depends-on): Add dup2.
79632         utimens: add test
79633         * modules/utimens-tests: New test.
79634         * tests/test-utimens.h: New file.
79635         * tests/test-futimens.h: Likewise.
79636         * tests/test-utimens.c: Likewise.
79638         doc: mention timestamp portability issues
79639         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
79640         instead.
79641         * doc/posix-functions/utime.texi (utime): Likewise.
79642         * doc/posix-functions/utimes.texi (utimes): Likewise.
79643         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
79644         instead.
79645         * doc/posix-functions/futimens.texi (futimens): Mention utimens
79646         module.
79647         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79648         Mention weakness with symlink timestamps.
79649         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
79650         to utimensat/futimens instead.
79651         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
79653         test-dup2: enhance test
79654         * tests/test-dup2.c (main): Also check AT_FDCWD.
79656         test-stat-time: avoid more spurious failures
79657         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
79658         xfs; and avoid race if the two timestamps cross quantization edge.
79660         relocatable: prefer 'file system' over 'filesystem'
79661         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
79662         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
79663         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
79664         * doc/relocatable.texi (Enabling Relocatability): Likewise.
79665         * lib/relocatable.c (compute_curr_prefix): Likewise.
79667 2009-10-10  Jim Meyering  <meyering@redhat.com>
79669         stat-time-tests: check for the usleep function
79670         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
79672 2009-10-10  Bruno Haible  <bruno@clisp.org>
79674         * modules/xnanosleep: Put the Link section after the Include section.
79676 2009-10-09  Eric Blake  <ebb9@byu.net>
79678         dup2: work around FreeBSD 6.1 bug
79679         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
79680         * doc/posix-functions/dup2.texi (dup2): Document it.
79681         Reported by Nelson H. F. Beebe and Jim Meyering.
79683         test-stat-time: port to buggy NFS clients
79684         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
79685         (test_ctime): Also skip test if mtime and ctime are skewed.
79687         maint: prefer 'file system' over 'filesystem'
79688         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79689         * doc/posix-functions/lstat.texi (lstat): Likewise.
79690         * lib/file-has-acl.c (file_has_acl): Likewise.
79691         * lib/fwriteerror.c [TEST]: Likewise.
79692         * tests/test-areadlink.h (test_areadlink): Likewise.
79693         * tests/test-areadlinkat-with-size.c (main): Likewise.
79694         * tests/test-areadlinkat.c (main): Likewise.
79695         * tests/test-canonicalize-lgpl.c (main): Likewise.
79696         * tests/test-canonicalize.c (main): Likewise.
79697         * tests/test-fstatat.c (main): Likewise.
79698         * tests/test-linkat.c (main): Likewise.
79699         * tests/test-lstat.h (test_lstat_func): Likewise.
79700         * tests/test-mkdir.h (test_mkdir): Likewise.
79701         * tests/test-readlink.h (test_readlink): Likewise.
79702         * tests/test-remove.c (main): Likewise.
79703         * tests/test-rename.h (test_rename): Likewise.
79704         * tests/test-renameat.c (main): Likewise.
79705         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79706         * tests/test-symlink.h (test_symlink): Likewise.
79707         * tests/test-symlinkat.c (main): Likewise.
79708         * tests/test-unlink.h (test_unlink_func): Likewise.
79709         * tests/test-unlinkat.c (main): Likewise.
79711         maint: make realtime library usage explicit
79712         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
79713         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
79714         * modules/settime (Link): Likewise.
79715         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
79717         test-stat-time: speed up execution
79718         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
79719         warning on mingw.
79720         (nap): New helper function.
79721         (prepare_test): Use it to reduce sleep time.
79722         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
79723         execution.
79724         * modules/stat-time-tests (configure.ac): Check for usleep.
79726 2009-10-09  Jim Meyering  <meyering@redhat.com>
79728         selinux-h: always use getfilecon wrappers
79729         * lib/getfilecon.c: New file.
79730         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
79731         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
79732         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
79733         (fgetfilecon): Provide a stub.
79734         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
79735         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
79736         file unconditionally.
79737         When <selinux/selinux.h> is found, arrange to use wrappers.
79738         * modules/selinux-h (Files): Add getfilecon.c.
79739         (Makefile.am): Substitute include-next-related bits
79740         into the now-always-generated selinux/selinux.h file.
79741         * doc/glibc-functions/lgetfilecon.texi: New file.
79742         * doc/glibc-functions/fgetfilecon.texi: New file.
79743         * doc/glibc-functions/getfilecon.texi: New file.
79744         * doc/glibc-functions/getfilecon-desc.texi: New file.
79745         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
79746         which to pull in the new files.
79747         * MODULES.html.sh (Misc): Add selinux-h.
79749 2009-10-08  Jim Meyering  <meyering@redhat.com>
79751         unistd: fix comment typo
79752         * lib/unistd.in.h (euidaccess): Fix a comment typo.
79754 2009-10-08  Eric Blake  <ebb9@byu.net>
79756         areadlink: use SIZE_MAX consistently
79757         * modules/areadlink (Depends-on): Add stdint.
79758         * modules/areadlink-with-size (Depends-on): Likewise.
79759         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
79760         gives NULL; drop sys/types, since unistd gives size_t; and add
79761         stdint for SIZE_MAX.
79762         (SIZE_MAX): Rely on headers.
79763         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
79764         and add stdint.
79765         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
79766         (SIZE_MAX): Likewise.
79767         (INITIAL_BUF_SIZE): Turn into enum.
79768         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
79770 2009-10-08  Jim Meyering  <meyering@redhat.com>
79772         areadlinkat: avoid compilation failure
79773         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
79774         Fix typo in comment.
79776 2009-10-07  Eric Blake  <ebb9@byu.net>
79778         areadlinkat-with-size: new module
79779         * modules/areadlinkat-with-size: New module.
79780         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
79781         * lib/areadlink.h (areadlinkat): Declare it.
79782         * MODULES.html.sh (File system functions): Mention it.
79783         * modules/areadlinkat-with-size-tests: New test.
79784         * tests/test-areadlinkat-with-size.c: New file.
79786         xreadlinkat: new module
79787         * modules/xreadlinkat: New module.
79788         * lib/xreadlinkat.c (xreadlinkat): New file.
79789         * lib/xreadlink.h (xreadlinkat): Declare it.
79790         * MODULES.html.sh (File system functions): Mention it.
79792         areadlinkat: new module
79793         * lib/at-func.c (FUNC_FAIL): New define.
79794         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
79795         * modules/areadlinkat: New module.
79796         * lib/linkat.c (areadlinkat): Move...
79797         * lib/areadlinkat.c (areadlinkat): ...to new file.
79798         * lib/areadlink.h (areadlinkat): Declare it.
79799         * modules/linkat (Depends-on): Add areadlinkat.
79800         * MODULES.html.sh (File system functions): Mention it.
79801         * modules/areadlinkat-tests: New test.
79802         * tests/test-areadlinkat.c: New file.
79804         areadlink, areadlink-with-size: add tests
79805         * modules/areadlink-tests: New test.
79806         * modules/areadlink-with-size-tests: Likewise.
79807         * tests/test-areadlink.h: New file.
79808         * tests/test-areadlink.c: Likewise.
79809         * tests/test-areadlink-with-size.c: Likewise.
79811         maint: minor cleanups
79812         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
79813         _UNUSED_PARAMETER_ instead.
79814         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
79815         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
79816         * modules/linkat-tests (Files): Distribute test-link.h.
79818         openat, utimens: whitespace cleanup
79819         * lib/openat.c: Prefer space throughout, rather than mix of 8
79820         spaces vs. tabs.
79821         * lib/at-func.c: Likewise.
79822         * lib/utimens.c: Likewise.
79824         openat: avoid using wrong fd
79825         * lib/openat.c (openat_permissive): Reject user's fd if saving the
79826         working directory chooses same fd.
79827         * lib/at-func.c (AT_FUNC_NAME): Likewise.
79829         mkdir, mkdirat: fix cygwin 1.5.x bug
79830         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
79831         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
79832         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
79833         bug.
79834         (gl_PREREQ_MKDIR): Delete unused macro.
79835         * modules/mkdir (Files): Track file rename.
79836         (configure.ac): Update macro name.
79837         * modules/openat (Depends-on): Add mkdir.
79838         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
79840         mkdir, mkdirat: add tests
79841         * modules/mkdir-tests: New test.
79842         * tests/test-mkdir.h: New file.
79843         * tests/test-mkdir.c: Likewise.
79844         * tests/test-mkdirat.c: Likewise.
79845         * modules/openat-tests (Files): Add new files.
79846         (Makefile.am): Run new test.
79848 2009-10-06  Eric Blake  <ebb9@byu.net>
79850         doc: tweak *at function documentation
79851         * doc/posix-functions/faccessat.texi (faccessat): Mention
79852         known issue with replacement.
79853         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
79854         * doc/posix-functions/linkat.texi (linkat): Likewise.
79855         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
79856         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
79857         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79858         * doc/posix-functions/renameat.texi (renameat): Likewise.
79859         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
79861         openat: fix GNU/Hurd bug in unlinkat
79862         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
79863         broken.
79864         * doc/posix-functions/unlink.texi (unlink): Document this.
79865         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
79867         fdopendir: fix GNU/Hurd bug
79868         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
79869         allowing non-directory fds.
79870         * lib/fdopendir.c (rpl_fdopendir): Work around it.
79871         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
79872         * modules/dirent (Makefile.am): Substitute it.
79873         * lib/dirent.in.h (fdopendir): Declare replacement.
79874         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
79875         * tests/test-fdopendir.c (main): Test something other than
79876         /dev/null, since on Hurd that behaves like a directory.
79878         test-symlink: port to GNU/Hurd
79879         * tests/test-symlink.h (test_symlink): Relax expected errno.
79881         doc: tweak more cygwin information
79882         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
79883         now compatible with glibc.
79884         * doc/posix-functions/getopt.texi (getopt): Likewise.
79886         getopt-gnu: add another test
79887         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
79888         guarantee behavior relied on by m4.
79889         * tests/test-getopt.c (main): Use it.
79890         * modules/getopt-posix-tests (Depends-on): Add setenv.
79891         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
79893         getopt: fix compilation on darwin
79894         * lib/getopt.in.h (includes): Leave breadcrumbs during system
79895         include.
79896         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
79897         Reported by Ludovic Courtès.
79899 2009-10-06  Bruno Haible  <bruno@clisp.org>
79901         * modules/size_max (Description): Discourage its use.
79902         Reported by Simon Josefsson.
79904 2009-10-06  Jim Meyering  <meyering@redhat.com>
79906         linkat: avoid compilation failure
79907         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
79909 2009-10-05  Eric Blake  <ebb9@byu.net>
79911         linkat: support Linux 2.6.17
79912         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
79913         linkat on Linux, but allow cache variable override.
79914         * lib/linkat.c (rpl_linkat): Define override.
79915         * modules/linkat (Depends-on): Add symlinkat.
79916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
79917         * modules/unistd (Makefile.am): Substitute it.
79918         * lib/unistd.in.h (linkat): Declare replacement.
79919         Reported by Pádraig Brady.
79921         quotearg: port test to systems with C.UTF-8 locale
79922         * tests/test-quotearg.c (struct result_strings): Add another
79923         member, differentiating between C.ASCII and C.UTF-8 handling.
79924         (compare_strings): Add parameter.
79925         (main): Adjust all callers.
79927         getopt: avoid clash with FreeBSD _getopt_internal
79928         * lib/getopt.in.h (_getopt_internal): Override the name.
79929         * lib/getopt_int.h (includes): Pick up any overrides.
79930         Reported by Reuben Thomas.
79932         hash: allow C89 compilation
79933         * lib/hash.c (check_tuning): Move declaration before statement.
79934         Reported by Reuben Thomas.
79936 2009-10-05  Karl Berry  <karl@gnu.org>
79938         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
79940 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
79941             Bruno Haible  <bruno@clisp.org>
79943         * lib/uname.c (uname): Use a table-driven algorithm to compute
79944         Windows NT versions.
79946 2009-10-04  Bruno Haible  <bruno@clisp.org>
79948         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
79949         program_invocation_short_name.
79950         * modules/progname (configure.ac): Test for presence of
79951         program_invocation_short_name.
79952         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
79954 2009-10-04  Bruno Haible  <bruno@clisp.org>
79956         * lib/progname.c (set_program_name): Fix comment.
79957         Reported by Jim Meyering.
79959 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79960             Bruno Haible  <bruno@clisp.org>
79962         * lib/uname.c: Include <string.h>.
79963         (uname): Do only one call to GetVersionEx in the common case.
79965 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79966             Bruno Haible  <bruno@clisp.org>
79968         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
79969         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
79970         (uname): Add support for Windows CE and various non-x86 CPU types.
79972 2009-10-03  Bruno Haible  <bruno@clisp.org>
79974         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
79975         invocation to tests/configure.ac.
79976         Reported by Ian Beckwith <ianb@erislabs.net>.
79978 2009-10-02  Eric Blake  <ebb9@byu.net>
79980         fchdir: avoid compiler warning
79981         * lib/fchdir.c (canonicalize_file_name)
79982         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
79984         test-open: support mingw errno values
79985         * tests/test-open.h (test_open): Relax test.
79986         * tests/test-fopen.h (test_fopen): Likewise.
79987         * tests/test-openat-safer.c (main): Likewise.
79989         open: fix opening directory on mingw
79990         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
79992         test-open: on GNU/Hurd, /dev/null is a directory
79993         * tests/test-fopen.h (main): Rename...
79994         (test_fopen): ...to this.  Use a guaranteed non-directory when
79995         confirming open behavior on trailing slash.
79996         * tests/test-openat-safer.c (main): Likewise.
79997         * tests/test-open.h (main): Likewise....
79998         (test_open): ...to this.
79999         * tests/test-fopen.c (main): Adjust caller.
80000         * tests/test-fopen-safer.c (main): Likewise.
80001         * tests/test-open.c (main): Likewise.
80002         * tests/test-fcntl-safer.c (main): Likewise.
80003         Reported by Samuel Thibault.
80005         rename, fchdir: don't ignore chdir failure
80006         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
80007         * lib/rename.c (rpl_rename) [W32]: Likewise.
80008         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
80009         an empty destination directory if source cannot be renamed,
80010         although there is still possibility for failure.
80011         * doc/posix-functions/rename.texi (rename): Document the race.
80012         Reported by Jim Meyering.
80014         maint: cleanup whitespace in recent commits
80015         * lib/rename.c (rpl_rename): Remove tabs.
80016         * tests/test-link.h (test_link): Likewise.
80017         * lib/fchdir.c (get_name): Likewise.
80018         Reported by Jim Meyering.
80020 2009-10-02  Ben Pfaff  <blp@gnu.org>
80022         relocatable-prog-wrapper: Add missing dependency on
80023         double-slash-root.
80024         * modules/relocatable-prog-wrapper: Add dependency.
80025         Reported by Ian Beckwith <ianb@erislabs.net>.
80027 2009-10-02  Eric Blake  <ebb9@byu.net>
80029         renameat: fix Solaris bugs
80030         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
80031         needed fixing.
80032         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
80033         * modules/stdio (Makefile.am): Substitute it.
80034         * lib/stdio.in.h (renameat): Declare replacement.
80035         * lib/renameat.c (rpl_renameat): Implement fix.
80037         renameat: new module
80038         * modules/renameat: New file.
80039         * lib/renameat.c (renameat): Likewise.
80040         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
80041         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80042         * modules/stdio (Makefile.am): Substitute them.
80043         * lib/stdio.in.h (renameat): Declare it.
80044         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80045         * doc/posix-functions/renameat.texi (renameat): Likewise.
80046         * modules/renameat-tests: New test.
80047         * tests/test-renameat.c: Likewise.
80049         rename: fix mingw bugs
80050         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
80051         directory overwrite bugs.
80053         rename: fix another cygwin 1.5 bug
80054         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
80055         checks.
80056         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
80057         unnecessary cygwin workarounds.  Also work around bug with moving
80058         full directory onto an empty one.
80059         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
80061         rename-dest-slash: merge into rename module
80062         * modules/rename-dest-slash (Status): Mark obsolete.
80063         (Depends-on): Add rename.
80064         (Files): Let rename do it all.
80065         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
80066         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
80067         * m4/rename-dest-slash.m4: ...so this file can be deleted.
80068         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
80069         * lib/rename.c (rpl_rename): Update comments.
80071         rename: fix cygwin 1.5.x bugs
80072         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
80073         * lib/rename.c (rpl_rename): Work around them.
80074         * modules/rename (Depends-on): Add same-inode.
80076         rename: fix Solaris 10 bug
80077         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80078         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
80079         was the only bug.
80081         rename: fix Solaris 9 bug
80082         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
80083         on non-directory.  Avoid calling exit.
80084         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
80085         strdup.
80086         * modules/rename-tests (Depends-on): Drop lstat.
80087         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
80088         (gl_PREREQ_RENAME): Delete unused macro.
80090         rename-dest-slash: fix NetBSD bug
80091         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
80092         links.
80093         * modules/rename-dest-slash (Depends-on): Add same-inode.
80095         rename-tests: new test, exposes several platform bugs
80096         * modules/rename-tests: New file.
80097         * tests/test-rename.h: Likewise.
80098         * tests/test-rename.c: Likewise.
80099         * doc/posix-functions/rename.texi (rename): Improve documentation,
80100         including bugs that will eventually be fixed in gnulib.
80102 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
80104         * lib/uname.c: Include <stdlib.h>
80105         (uname): Assume version info is available.
80107 2009-10-02  Jim Meyering  <meyering@redhat.com>
80109         gnu-web-doc-update: correct --help output
80110         * build-aux/gnu-web-doc-update: Make --help output relevant.
80112         gnu-web-doc-update: add standard options
80113         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
80115         gnu-web-doc-update: New module.
80116         Use this script to automatically update the on-line web documentation
80117         for your GNU project at http://www.gnu.org/software/$pkg/manual/
80118         * modules/gnu-web-doc-update: New file, from coreutils.
80119         * build-aux/gnu-web-doc-update: New script.
80121 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
80123         link: LoadLibrary is not needed.
80124         * lib/link.c: Use GetModuleHandle.
80126 2009-10-01  Eric Blake  <ebb9@byu.net>
80128         getopt: bump serial number
80129         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
80130         change.
80132         tests: tighten link, rmdir, and remove tests
80133         * tests/test-link.h (includes): No need to use <config.h> here.
80134         Clean up if directory hard link was created, otherwise test for
80135         trailing '.'.
80136         * tests/test-linkat.c (main): Simplify.
80137         * tests/test-remove.c (main): Enhance test for trailing '.'.
80138         * tests/test-rmdir.h (test_rmdir_func): Likewise.
80140 2009-10-01  Jim Meyering  <meyering@redhat.com>
80142         maint.mk: requiring "make major" was annoying, for a "minor" release.
80143         What is intended is "stable", to contrast with alpha and beta,
80144         so require "make stable", not "make major".
80145         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
80146         (get_tool_versions): Likewise.
80147         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
80149 2009-09-30  Ben Pfaff  <blp@gnu.org>
80151         Fix broken build of replacement for Windows tmpfile().
80152         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
80153         flags argument added along with the 'mkostemp' module.
80155 2009-09-28  Bruno Haible  <bruno@clisp.org>
80157         Avoid identifier clash with POSIX function 'remove' defined as a macro.
80158         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
80159         to 'remove_elt'.
80160         (gl_list_remove): Update.
80161         * lib/gl_list.c (gl_list_remove): Update.
80162         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
80163         to 'remove_elt'.
80164         (gl_oset_remove): Update.
80165         * lib/gl_list.c (gl_oset_remove): Update.
80166         Reported by Eric Blake.
80168 2009-09-28  Eric Blake  <ebb9@byu.net>
80170         doc: mention yet more cygwin 1.7 status
80171         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
80172         cygwin.
80173         * doc/glibc-functions/execvpe.texi (execvpe): New file.
80174         * doc/gnulib.texi (Glibc unistd.h): Mention it.
80176         argp: fix test failure
80177         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
80178         that are not upper-case.  Pass correct range to tolower.
80180 2009-09-27  Jim Meyering  <meyering@redhat.com>
80182         test-yesno: work around sparc-dash here-document infelicity
80183         Without this change, the literal \177 byte in a here document
80184         would make dash 0.5.5.1-3 access uninitialized memory.
80185         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
80186         Instead, use a marker, "@", and filter through tr to create the desired
80187         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
80189 2009-09-27  Bruno Haible  <bruno@clisp.org>
80191         Disable untested support for new flavours of ACLs on AIX.
80192         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
80193         progress.
80194         * lib/set-mode-acl.c (qset_acl): Likewise.
80196 2008-12-07  Bruno Haible  <bruno@clisp.org>
80198         Add support for new flavours of ACLs on AIX. (Untested.)
80199         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
80200         (file_has_acl): Add support for newer AIX.
80201         * lib/set-mode-acl.c (qset_acl): Likewise.
80202         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
80203         Rainer Tammer <tammer@tammer.net>.
80205 2009-09-26  Eric Blake  <ebb9@byu.net>
80207         argp: fix compilation of getopt
80208         * lib/getopt.in.h (includes): Use different guard than glibc.
80209         Reported by Sergey Poznyakoff.
80211         doc: mention more cygwin 1.7 status
80212         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
80213         bug.
80214         * doc/posix-functions/execl.texi (execl): Likewise.
80215         * doc/posix-functions/execle.texi (execle): Likewise.
80216         * doc/posix-functions/execlp.texi (execlp): Likewise.
80217         * doc/posix-functions/execv.texi (execv): Likewise.
80218         * doc/posix-functions/execve.texi (execve): Likewise.
80219         * doc/posix-functions/execvp.texi (execvp): Likewise.
80220         * doc/glibc-functions/canonicalize_file_name.texi
80221         (canonicalize_file_name): Cygwin 1.7 now provides this.
80222         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
80223         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
80224         on AT_SYMLINK_NOFOLLOW.
80226 2009-09-24  Eric Blake  <ebb9@byu.net>
80228         test-linkat: make test more robust
80229         * tests/test-linkat.c (main): Avoid collision with EEXIST.
80231         getopt: fix inclusion guards for cygwin
80232         * modules/getopt-posix (Depends-on): Add include-next.
80233         (Makefile.am): Substitute more items in replacement header.
80234         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
80235         <getopt.h>.
80236         * lib/getopt.in.h (includes): Use split inclusion guard, and
80237         prefer <getopt.h> over include <unistd.h> when one is present.
80238         (option): Also override name of 'struct option'.
80240         same-inode: revert prior change; it is not yet ready
80241         * NEWS: Undo mention of this change.
80242         * lib/same-inode.h (same-inode.h): Undo tri-state change.
80243         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80244         * lib/cycle-check.c (cycle_check): Likewise.
80245         * lib/same.c (same_name): Likewise.
80246         * lib/at-func2.c (at_func2): Likewise.
80248 2009-09-23  Eric Blake  <ebb9@byu.net>
80250         linkat: new module
80251         * modules/linkat: New file.
80252         * lib/at-func2.c (at_func2): Likewise.
80253         * lib/linkat.c (linkat): Likewise.
80254         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
80255         * lib/openat-priv.h (at_func2): Add declaration.
80256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80257         * modules/unistd (Makefile.am): Substitute them.
80258         * lib/unistd.in.h (linkat): Declare it.
80259         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80260         * doc/posix-functions/linkat.texi (linkat): Likewise.
80261         * doc/posix-functions/link.texi (link): Tweak wording.
80262         * tests/test-link.c (main): Move guts...
80263         * tests/test-link.h (test_link): ...into new file.
80264         * modules/linkat-tests: New test.
80265         * tests/test-linkat.c: Likewise.
80266         * modules/link-tests (Files): Ship new file.
80267         (Depends-on): Add stdbool.
80269         dirname: add library-safe mdir_name
80270         * lib/dirname.h (mdir_name): New prototype.
80271         * lib/dirname.c (dir_name): Move guts...
80272         (mdir_name): ...to new function that avoids xalloc_die.
80274         fchdir: another mingw fix
80275         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
80276         * lib/fchdir.c (get_name): New helper method; skips canonicalize
80277         on mingw (where it has not yet been ported), and make it optional
80278         elsewhere.
80279         (_gl_register_fd): Use it.
80281         same-inode: make SAME_INODE tri-state, to port to mingw
80282         * NEWS: Mention this change.
80283         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
80284         st_ino always being 0.
80285         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80286         * lib/cycle-check.c (cycle_check): Likewise.
80287         * lib/same.c (same_name): Likewise.
80289         lstat: avoid mingw compilation error
80290         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
80291         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
80292         lstat ourselves.
80293         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
80294         was adequate.
80295         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
80296         the checks for lstat.
80297         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
80299         link: fix test failure on Solaris 9
80300         * lib/link.c (rpl_link): Don't assume link will catch bogus
80301         trailing slash on source.
80303         test-symlinkat: enhance test
80304         * tests/test-readlink.c (main): Move guts...
80305         * tests/test-readlink.h (test_readlink): ...into new file.
80306         * tests/test-symlink.c (main): Move guts...
80307         * tests/test-symlink.h (test_symlink): ...into new file.
80308         * tests/test-symlinkat.c (main): Use new files for further
80309         coverage.
80310         (do_symlink, do_readlink): New helper functions.
80311         * modules/symlink-tests (Files): Ship new file.
80312         (Depends-on): Add stdbool.
80313         * modules/readlink-tests (Files): Ship new file.
80314         (Depends-on): Add stdbool.
80315         * modules/symlinkat-tests (Files): Use new files.
80317 2009-09-23  Eric Blake  <ebb9@byu.net>
80319         readlink: document portability issue with symlink length
80320         * doc/posix-functions/lstat.texi (lstat): Mention that some file
80321         systems have bogus st_size on symlinks, and mention the
80322         areadlink-with-size module.
80323         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80324         * doc/posix-functions/readlink.texi (readlink): Mention the
80325         areadlink module, and ERANGE failure.
80326         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80327         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
80329         readlink: fix Solaris 9 bug with trailing slash
80330         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
80331         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
80332         * doc/posix-functions/readlink.texi (readlink): Document this.
80333         * modules/readlink-tests: New test.
80334         * tests/test-readlink.c: Likewise.
80336         readlink: fix cygwin 1.5.x bug with return type
80337         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
80338         * lib/unistd.in.h (readlink): Use ssize_t.
80339         * lib/readlink.c (readlink): Likewise.
80340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80341         * modules/unistd (Makefile.am): Substitute it.
80342         * lib/unistd.in.h (readlink): Declare replacement.
80343         * doc/posix-functions/readlink.texi (readlink): Document this.
80345         symlink: use throughout gnulib
80346         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
80347         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
80348         symlink is not used.
80349         * modules/symlinkat (Depends-on): Add symlink.
80350         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80351         * modules/canonicalize-tests (Depends-on): Likewise.
80352         * modules/lstat-tests (Depends-on): Likewise.
80353         * modules/openat-tests (Depends-on): Likewise.
80354         * modules/remove-tests (Depends-on): Likewise.
80355         * modules/rmdir-tests (Depends-on): Likewise.
80356         * modules/unlink-tests (Depends-on): Likewise.
80357         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
80358         * tests/test-canonicalize.c (symlink): Likewise.
80359         * tests/test-fstatat.c (symlink): Likewise.
80360         * tests/test-lstat.c (symlink): Likewise.
80361         * tests/test-remove.c (symlink): Likewise.
80362         * tests/test-rmdir.c (symlink): Likewise.
80363         * tests/test-unlink.c (symlink): Likewise.
80364         * tests/test-unlinkat.c (symlink): Likewise.
80366         symlink: new module, for Solaris 9 bug
80367         * modules/symlink: New file.
80368         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
80369         * lib/symlink.c: Likewise.
80370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
80371         * modules/unistd (Makefile.am): Substitute them.
80372         * lib/unistd.in.h (symlink): Declare replacement.
80373         * MODULES.html.sh (File system functions): Mention it.
80374         * doc/posix-functions/symlink.texi (symlink): Likewise.
80375         * modules/symlink-tests: New test.
80376         * tests/test-symlink.c: Likewise.
80378 2009-09-23  Bruno Haible  <bruno@clisp.org>
80380         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
80381         when needed.
80382         Test case: gnulib-tool --import --with-tests atexit inttypes.
80383         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
80385 2009-09-23  Bruno Haible  <bruno@clisp.org>
80387         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
80388         subcommand, not in a subshell.
80390 2009-09-22  Eric Blake  <ebb9@byu.net>
80392         unistd: sort replacement declarations
80393         * lib/unistd.in.h: Sort declarations.
80395         open, openat: minor optimization
80396         * lib/open.c (open): If open succeeded, len is non-zero.
80397         * lib/openat.c (rpl_openat): Likewise.
80399         link-follow: ensure correct result
80400         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
80401         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
80402         distinguish between possible failures.
80404 2009-09-21  Eric Blake  <ebb9@byu.net>
80406         fts: avoid compiler warning
80407         * lib/fts.c (dirent_inode_sort_may_be_useful)
80408         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
80410 2009-09-19  Bruno Haible  <bruno@clisp.org>
80412         * lib/progreloc.c (canonicalize_file_name): New declaration.
80414 2009-09-19  Eric Blake  <ebb9@byu.net>
80416         link: fix quoting
80417         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
80419         openat: fix openat bugs on Solaris 9
80420         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
80421         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
80422         * modules/openat (Depends-on): Add open.
80423         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
80424         * modules/fcntl-h (Makefile.am): Substitute it.
80425         * lib/fcntl.in.h (openat): Declare replacement.
80426         * doc/posix-functions/openat.texi (openat): Document this.
80428         openat: move fstatat and unlinkat into correct files
80429         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
80430         compiled.
80431         * lib/openat.c (fstatat, unlinkat): Move...
80432         * lib/fstatat.c (fstatat): ...into correct files.
80433         * lib/unlinkat.c (unlinkat): Likewise.
80435         openat: fix unlinkat bugs on Solaris 9
80436         * lib/unlinkat.c (unlinkat): New file.
80437         * modules/openat (Depends-on): Add unlink.
80438         (Files): Distribute it.
80439         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
80440         trailing slash behavior is broken.
80441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80442         * modules/unistd (Makefile.am): Substitute it.
80443         * lib/unistd.in.h (unlinkat): Declare replacement.
80444         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
80446         openat: fix fstatat bugs on Solaris 9
80447         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
80448         stat.
80449         * doc/posix-functions/fstatat.texi (fstatat): Document this.
80451         test-unlinkat: enhance test, to expose Solaris 9 bug
80452         * tests/test-unlink.c (main): Factor guts...
80453         * tests/test-unlink.h (test_rmdir_func): ...into new file.
80454         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
80455         * tests/test-rmdir.c (main): Adjust caller.
80456         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
80457         (unlinker): New helper function.
80458         (rmdirat): Enhance check.
80459         * modules/rmdir-tests (Depends-on): Add stdbool.
80460         * modules/unlink-tests (Depends-on): Likewise.
80461         (Files): Add test-unlink.h.
80462         * modules/openat-tests (Files): Likewise.
80463         (Depends-on): Add unlinkdir.
80465         test-fstatat: new test, to expose Solaris 9 bugs
80466         * tests/test-stat.c (main): Factor guts...
80467         * tests/test-stat.h (test_stat_func): ...into new file.
80468         * tests/test-lstat.c (main): Factor guts...
80469         * tests/test-lstat.h (test_lstat_func): ...into new file.
80470         * tests/test-fstatat.c: New file.
80471         * modules/stat-tests (Files): Add test-stat.h.
80472         * modules/lstat-tests (Files): Add test-lstat.h.
80473         (Depends-on): Add stdbool.
80474         * modules/openat-tests (Depends-on): Add pathmax.
80475         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
80476         (Makefile.am): Run new test.
80478         remove: new module, for mingw and Solaris 9 bugs
80479         * modules/remove: New file.
80480         * lib/remove.c: Likewise.
80481         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
80482         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80483         * modules/stdio (Makefile.am): Use them.
80484         * lib/stdio.in.h (remove): Declare replacement.
80485         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80486         * doc/posix-functions/remove.texi (remove): Likewise.
80487         * modules/remove-tests: New test.
80488         * tests/test-remove.c: Likewise.
80490         unlink: new module, for Solaris 9 bug
80491         * modules/unlink: New file.
80492         * lib/unlink.c: Likewise.
80493         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
80494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80495         * modules/unistd (Makefile.am): Use them.
80496         * lib/unistd.in.h (stat): Declare replacement.
80497         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80498         * doc/posix-functions/unlink.texi (unlink): Likewise.
80499         * modules/unlink-tests: New test.
80500         * tests/test-unlink.c: Likewise.
80502         lstat: fix Solaris 9 bug
80503         * lib/lstat.c (lstat): Also check for trailing slash on
80504         non-symlink, non-directories.  Use stat module to simplify logic.
80505         * doc/posix-functions/lstat.texi (lstat): Document it.
80506         * modules/lstat-tests (Depends-on): Add errno, same-inode.
80507         (configure.ac): Check for symlink.
80508         * tests/test-lstat.c (main): Add more tests.
80510         stat: add as dependency to other modules
80511         * modules/chown (Depends-on): Add stat.
80512         * modules/euidaccess (Depends-on): Likewise.
80513         * modules/fchdir (Depends-on): Likewise.
80514         * modules/isdir (Depends-on): Likewise.
80515         * modules/link (Depends-on): Likewise.
80516         * modules/lstat (Depends-on): Likewise.
80517         * modules/mkdir-p (Depends-on): Likewise.
80518         * modules/modechange (Depends-on): Likewise.
80519         * modules/open (Depends-on): Likewise.
80520         * modules/readlink (Depends-on): Likewise.
80521         * modules/same (Depends-on): Likewise.
80523         stat: fix Solaris 9 bug
80524         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
80525         slash.
80526         * lib/stat.c (rpl_stat): Work around it.
80527         * doc/posix-functions/stat.texi (stat): Update documentation.
80529         stat: new module, for mingw bug
80530         * modules/stat: New file.
80531         * lib/stat.c: Likewise.
80532         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
80533         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80534         * modules/sys_stat (Makefile.am): Use them.
80535         * lib/sys_stat.in.h (stat): Declare replacement.
80536         * lib/openat.c (fstatat): Deal with lstat and stat being function
80537         macros.
80538         * modules/openat (Depends-on): Add inline.
80539         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80540         * doc/posix-functions/stat.texi (stat): Likewise.
80541         * modules/stat-tests: New test.
80542         * tests/test-stat.c: Likewise.
80544 2009-09-19  Jim Meyering  <meyering@redhat.com>
80546         syntax-check: detect unnecessary inclusion of canonicalize.h
80547         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
80549 2009-09-19  Eric Blake  <ebb9@byu.net>
80551         canonicalize-lgpl: adjust clients to use correct header
80552         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80553         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
80554         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
80555         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
80556         * lib/progreloc.c (includes): Likewise.
80558 2009-09-19  Jim Meyering  <meyering@redhat.com>
80560         test-posixtm.c: correct a comment
80561         * tests/test-posixtm.c: Correct first-line comment.
80562         Spotted by Eric Blake.
80564 2009-09-16  Jim Meyering  <meyering@redhat.com>
80566         posixtm-tests: make T const-correct; add a test case
80567         * tests/test-posixtm.c (T): Declare const.
80568         Add a test for -(2^31+1).
80569         Remove useless can-succeed-only-in-2002 test.
80571         posixtm-tests: adjust the sole failing test
80572         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
80573         expected output matches what mktime now produces.  Cross-checked via
80574         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
80576         posixtm: move #ifdef'd tests into a new module
80577         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
80578         * tests/test-posixtm.c: ... this new file.
80579         * modules/posixtm-tests: New module.
80581 2009-09-19  Eric Blake  <ebb9@byu.net>
80583         openat: simplify use of at-func.c
80584         * lib/at-func.c (includes): Include prerequisites here, to
80585         simplify requirements on client files.
80586         * lib/openat-priv.h: Add double-inclusion guard.
80587         * lib/faccessat.c (includes): Simplify.
80588         * lib/fchmodat.c (includes): Likewise.
80589         * lib/fchownat.c (includes): Likewise.
80590         * lib/mkdirat.c (includes): Likewise.
80591         * lib/mkfifoat.c (includes): Likewise.
80592         * lib/symlinkat.c (includes): Likewise.
80594         openat: allow return of fd 0
80595         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
80596         * modules/save-cwd (Depends-on): Replace fcntl-safer with
80597         unistd-safer.
80598         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
80599         <fcntl.h>; this module does not leak fds.
80600         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
80601         must be allowed to return 0, leaving openat_safer to add the
80602         safety.
80603         (openat_permissive): Avoid writing to just-opened fd 2 if
80604         restoring the current directory fails.
80605         * lib/openat-die.c (openat_restore_fail): Add comment.
80606         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
80607         (save_cwd): Guarantee safe fd, but without use of open_safer.
80608         * tests/test-openat.c: New test.
80609         * modules/openat-tests (Files, Makefile.am): Distribute and build
80610         new file.
80612         relocatable-prog-wrapper: fix build
80613         * modules/relocatable-prog-wrapper (Files): Update name of
80614         canonicalize m4 file, broken on 2009-09-17.
80615         Reported by emad hajjar <aleppos@hotmail.com>.
80617 2009-09-19  Bruno Haible  <bruno@clisp.org>
80619         * lib/safe-alloc.h: Use the standard header with GPL copyright.
80620         * lib/safe-alloc.c: Likewise.
80621         Reported by Ian Beckwith <ianb@erislabs.net>.
80623 2009-09-18  Bruno Haible  <bruno@clisp.org>
80625         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
80626         Reported by <erobles@sensacd.com.mx>.
80628 2009-09-17  Eric Blake  <ebb9@byu.net>
80630         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
80631         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
80632         slashes when checking if last component is missing.
80633         * tests/test-canonicalize.c (main): Test this.
80635         canonicalize, canonicalize-lgpl: honor // if distinct from /
80636         * modules/canonicalize (Files): Add double-slash-root.m4.
80637         * modules/canonicalize-lgpl (Files): Likewise.
80638         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80639         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
80640         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
80641         fallback definition.
80642         (canonicalize_filename_mode): Use it to protect //.
80643         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
80644         (__realpath): Likewise.
80645         * tests/test-canonicalize.c (main): Test this.
80646         * tests/test-canonicalize-lgpl.c (main): Likewise.
80647         * modules/canonicalize-tests (Depends-on): Add same-inode.
80648         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80650         canonicalize-lgpl: fix glibc bug with trailing slash
80651         * m4/canonicalize-lgpl.m4: Move contents...
80652         * m4/canonicalize.m4: ...here.
80653         (gl_CANONICALIZE_LGPL): Factor realpath check...
80654         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
80655         glibc 2.3.5 bug, fixed 2005-04-27.
80656         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
80657         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
80658         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
80659         * modules/canonicalize-lgpl (Files): Manage file rename.
80660         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
80661         * modules/stdlib (Makefile.am): Substitute witness.
80662         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
80663         is needed.
80664         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
80665         replacement is required.
80666         * lib/canonicalize.c (canonicalize_file_name): Likewise.
80667         * doc/glibc-functions/canonicalize_file_name.texi
80668         (canonicalize_file_name): Document this.
80669         * doc/posix-functions/realpath.texi (realpath): Likewise.
80671         canonicalize-lgpl: reject non-directory with trailing slash
80672         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
80673         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
80674         catches failures in glibc 2.3.5.
80675         * tests/test-canonicalize.c (main): Likewise.
80677         canonicalize-lgpl: use native realpath if it works
80678         * lib/canonicalize-lgpl.c (realpath): Guard with
80679         FUNC_REALPATH_WORKS.
80680         * lib/stdlib.in.h (realpath): Make declaration optional based on
80681         HAVE_REALPATH.
80682         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
80683         native realpath works.
80684         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
80685         * modules/stdlib (Makefile.am): Substitute witness.
80687         canonicalize, canonicalize-lgpl: use <stdlib.h>
80688         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
80689         (Include): Mention <stdlib.h>.
80690         (configure.ac): Mention functions we provide.
80691         * modules/canonicalize (configure.ac): Likewise.
80692         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
80693         realpath if canonicalize_file_name is missing.
80694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
80695         * modules/stdlib (Makefile.am): Substitute witnesses.
80696         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
80697         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
80698         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
80699         * NEWS: Document this.
80700         * doc/glibc-functions/canonicalize_file_name.texi
80701         (canonicalize_file_name): Likewise.
80702         * doc/posix-functions/realpath.texi (realpath): Likewise.
80703         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
80705         test-canonicalize: consolidate into single C program
80706         * tests/test-canonicalize.sh: Delete; move setup into...
80707         * tests/test-canonicalize.c (main): ...the program, making it
80708         easier to run in debugger.  Add some tests.
80709         * modules/canonicalize-tests (Files): Remove unused file.
80710         (Depends-on): Add progname.
80711         (configure.ac, Makefile.am): Simplify.
80713         test-canonicalize-lgpl: consolidate into single C program
80714         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
80715         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
80716         easier to run in debugger.  Add some tests.
80717         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
80718         (configure.ac, Makefile.am): Simplify.
80720         canonicalize: avoid resolvepath
80721         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
80722         unnecessary checks.
80723         * lib/canonicalize.c (includes): Simplify.
80724         (canonicalize_file_name): Drop resolvepath implementation.
80725         * modules/canonicalize (Depends-on): Drop filenamecat.
80727         canonicalize: don't lose errno
80728         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
80729         over calls to free.
80731         canonicalize: simplify errno handling
80732         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
80733         assignment.
80735         canonicalize, canonicalize-lgpl: update module dependencies
80736         * modules/canonicalize (Depends-on): Add extensions, lstat,
80737         pathmax, stdlib.
80738         (Files): Drop pathmax.h.
80739         (configure.ac): Adjust macro name.
80740         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
80741         lstat, stdlib, sys_stat.
80742         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
80743         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
80744         extensions.
80745         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
80746         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
80747         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
80748         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
80749         declaration, if available.
80750         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
80751         we can rely on the readlink module.
80752         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
80753         (includes): Use <unistd.h> unconditionally.
80755 2009-09-17  Eric Blake  <ebb9@byu.net>
80757         maint: make Include sections of modules consistent
80758         * modules/alloca: Use only header name; no need to list #include.
80759         * modules/alloca-opt: Likewise.
80760         * modules/arpa_inet: Likewise.
80761         * modules/canon-host: Likewise.
80762         * modules/configmake: Likewise.
80763         * modules/dirent: Likewise.
80764         * modules/eealloc: Likewise.
80765         * modules/environ: Likewise.
80766         * modules/fchdir: Likewise.
80767         * modules/fcntl: Likewise.
80768         * modules/fcntl-h: Likewise.
80769         * modules/gethrxtime: Likewise.
80770         * modules/gettime: Likewise.
80771         * modules/ignore-value: Likewise.
80772         * modules/inet_ntop: Likewise.
80773         * modules/inet_pton: Likewise.
80774         * modules/inttypes: Likewise.
80775         * modules/isnand-nolibm: Likewise.
80776         * modules/isnanf-nolibm: Likewise.
80777         * modules/mbchar: Likewise.
80778         * modules/mbfile: Likewise.
80779         * modules/mbiter: Likewise.
80780         * modules/mbuiter: Likewise.
80781         * modules/netdb: Likewise.
80782         * modules/netinet_in: Likewise.
80783         * modules/nproc: Likewise.
80784         * modules/pagealign_alloc: Likewise.
80785         * modules/poll: Likewise.
80786         * modules/printf-frexp: Likewise.
80787         * modules/pthread: Likewise.
80788         * modules/putenv: Likewise.
80789         * modules/random_r: Likewise.
80790         * modules/relocatable-prog: Likewise.
80791         * modules/search: Likewise.
80792         * modules/select: Likewise.
80793         * modules/selinux-h: Likewise.
80794         * modules/settime: Likewise.
80795         * modules/signal: Likewise.
80796         * modules/size_max: Likewise.
80797         * modules/socklen: Likewise.
80798         * modules/ssize_t: Likewise.
80799         * modules/stdarg: Likewise.
80800         * modules/stdbool: Likewise.
80801         * modules/stddef: Likewise.
80802         * modules/stdint: Likewise.
80803         * modules/stdio: Likewise.
80804         * modules/stdlib: Likewise.
80805         * modules/string: Likewise.
80806         * modules/strings: Likewise.
80807         * modules/sys_file: Likewise.
80808         * modules/sys_ioctl: Likewise.
80809         * modules/sys_select: Likewise.
80810         * modules/sys_socket: Likewise.
80811         * modules/sys_stat: Likewise.
80812         * modules/sys_time: Likewise.
80813         * modules/sys_times: Likewise.
80814         * modules/sys_utsname: Likewise.
80815         * modules/sys_wait: Likewise.
80816         * modules/sysexits: Likewise.
80817         * modules/time: Likewise.
80818         * modules/times: Likewise.
80819         * modules/tmpfile: Likewise.
80820         * modules/trim: Likewise.
80821         * modules/unistd: Likewise.
80822         * modules/wchar: Likewise.
80823         * modules/wctype: Likewise.
80825 2009-09-17  Bruno Haible  <bruno@clisp.org>
80827         Make getdate.y compile on QNX and NetBSD 5 / i386.
80828         * m4/getdate.m4 (gl_GETDATE): Conditionally define
80829         TIME_T_FITS_IN_LONG_INT.
80830         * lib/getdate.y (long_time_t): New type.
80831         (relative_time): Change type of 'seconds' field to long_time_t.
80832         (get_date): Update types of local variables. Check against overflow
80833         during conversion from long_time_t to time_t.
80834         Reported by Matt Kraai <kraai@ftbfs.org>
80835         and Hasso Tepper <hasso@netbsd.org>.
80837 2009-09-17  Bruno Haible  <bruno@clisp.org>
80839         * modules/COPYING: Update copyright years.
80840         * modules/README: Likeiwse.
80841         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
80842         Reported by Ian Beckwith <ianb@erislabs.net>.
80844 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80846         * users.txt: Update references for gnuit package.
80848 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80850         * m4/getdelim.m4: Fix typo in copyright line.
80852 2009-09-17  Bruno Haible  <bruno@clisp.org>
80854         * lib/atoll.c: Use the standard header with GPL copyright.
80855         * lib/argz.in.h: Likewise.
80856         * lib/glob.c: Likewise.
80857         * lib/glob-libc.h: Likewise.
80858         * lib/random_r.c: Likewise.
80859         * lib/siglist.h: Likewise.
80860         * lib/strsignal.c: Likewise.
80861         Reported by Ian Beckwith <ianb@erislabs.net>.
80863 2009-09-17  Eric Blake  <ebb9@byu.net>
80865         rmdir: ensure correct dependency order
80866         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
80868 2009-09-17  Bruno Haible  <bruno@clisp.org>
80870         Disable assertion that fails on NetBSD 5 / i386.
80871         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
80872         Reported by Sam Steingold <sds@gnu.org>
80873         and Hasso Tepper <hasso@netbsd.org>.
80875 2009-09-16  Eric Blake  <ebb9@byu.net>
80877         unlinkdir: port to mingw
80878         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
80879         on which no one can unlink a directory.
80881         stdlib: sort witness names
80882         * modules/stdlib (Makefile.am): Sort replacements.
80883         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
80884         * lib/stdlib.in.h: Likewise.
80886         parse-duration-tests: avoid link failure
80887         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
80888         LIBINTL.
80889         Reported by Tom G. Christensen.
80891         openat-tests: ensure unlinkat behaves like rmdir
80892         * tests/test-rmdir.c (main): Factor guts...
80893         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
80894         * modules/rmdir-tests (Files): Ship new file.
80895         * modules/openat-tests: New test.
80896         * tests/test-unlinkat.c: Likewise.
80898         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
80899         * modules/rmdir-errno (Status, Notice): Now obsolete.
80901         rmdir: work around cygwin 1.5.x and mingw bugs
80902         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
80903         * lib/rmdir.c (rmdir): Work around it.
80904         * modules/rmdir (Status, Notice): No longer obsolete.
80905         (Files): Add dos.m4.
80906         (Depends-on): Add unistd.
80907         (configure.ac): Set witnesses.
80908         (License): Relax to LGPLv2+.
80909         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
80910         * modules/unistd (Makefile.am): Substitute witnesses.
80911         * lib/unistd.in.h (rmdir): Declare replacement.
80912         * doc/posix-functions/rmdir.texi (rmdir): Document this.
80913         * modules/rmdir-tests: New tests.
80914         * tests/test-rmdir.c: Likewise.
80916 2009-09-15  Eric Blake  <ebb9@byu.net>
80918         fchdir: improve use of replacement functions
80919         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
80920         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
80921         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
80922         REPLACE_CLOSEDIR.
80923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
80924         * modules/sys_stat (Makefile.am): Substitute correct witness.
80925         * modules/dirent (Makefile.am): Likewise.
80926         * modules/unistd (Makefile.am): Likewise.
80927         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
80928         * lib/unistd.in.h (dup): Likewise.
80929         * lib/sys_stat.in.h (fstat): Likewise.
80931         maint: ignore gnulib-tool temp files
80932         * .gitignore: Ignore files created during gnulib-tool --test.
80934 2009-09-13  Jim Meyering  <meyering@redhat.com>
80936         posixtm: don't reject a time that specify "60" as the number of seconds
80937         * lib/posixtm.c (posixtime): The code to reject invalid dates
80938         would also reject a time specified with the .60 suffix.
80939         But POSIX allows that, in order to accommodate leap seconds.
80940         So don't reject it.
80941         (main): Adjust tests accordingly.
80942         * modules/posixtm (Depends-on): Add stpcpy.
80944 2009-09-11  Jim Meyering  <meyering@redhat.com>
80946         announce-gen: include [$release_type] in emitted Subject:
80947         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
80948         e.g., [stable] in the emitted Subject: line.
80950 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80952         Remove obsolete macros from several modules.
80953         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
80954         obsolete Autoconf macros with their modern counterparts.
80955         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
80956         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
80957         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
80958         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
80959         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
80960         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
80961         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
80962         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
80963         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
80964         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
80965         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
80966         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
80967         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
80968         * m4/sockets.m4 (gl_SOCKETS): Likewise.
80969         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
80970         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
80971         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
80972         * m4/time_r.m4 (gl_TIME_R): Likewise.
80973         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
80974         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
80975         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
80977         Fix copyright header in build-aux scripts.
80978         * build-aux/git-version-gen: Fix copyright header to match GPLv3
80979         recommendation.
80980         * build-aux/ncftpput-ftp: Likewise.
80981         * build-aux/update-copyright: Likewise.
80983 2009-09-09  Eric Blake  <ebb9@byu.net>
80985         test-link: allow Linux choice of errno
80986         * tests/test-link.c (main): Relax test for alternate error.
80988         strndup: fix improper m4 caching
80989         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
80990         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
80991         (gl_PREREQ_STRNDUP): Delete.
80992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
80993         * modules/string (Makefile.am): Substitute it.
80994         * lib/string.in.h (strndup): Modernize prototype.
80996         getcwd: port to mingw
80997         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
80998         different from the POSIX assumptions made throughout the getcwd
80999         module; fortunately, the mingw getcwd does not need replacement.
81000         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
81001         * modules/getcwd-tests: New test.
81002         * tests/test-getcwd.c: Likewise.
81004         link: fix platform bugs
81005         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
81006         * lib/link.c (link): Work around them.  Fix related mingw bug.
81007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
81008         * modules/unistd (Makefile.am): Substitute it.
81009         * lib/unistd.in.h (link): Declare replacement.
81010         * doc/posix-functions/link.texi (link): Document this.
81011         * modules/link (Depends-on): Add strdup-posix, sys_stat.
81013         test-link: consolidate into single C program, test more cases
81014         * tests/test-link.sh: Delete.
81015         * tests/test-link.c: Test more error conditions.  Exposes bugs on
81016         at least Cygwin and Solaris.
81017         * modules/link-tests (Files): Remove unused file.
81018         (Depends-on): Add errno, sys_stat.
81019         (Makefile.am): Simplify.
81021 2009-09-08  Bruno Haible  <bruno@clisp.org>
81023         Work around towlower, towupper bug on mingw.
81024         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
81025         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
81026         * doc/posix-functions/towlower.texi: Mention the mingw bug.
81027         * doc/posix-functions/towupper.texi: Likewise.
81028         Reported by Eric Blake.
81030 2009-09-08  Jim Meyering  <meyering@redhat.com>
81032         build: don't try to run autoheader if we don't use it
81033         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
81034         is not used in configure.ac.
81036 2009-09-08  Eric Blake  <ebb9@byu.net>
81038         euidaccess: fix compilation error
81039         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
81041         rawmemchr: relax license
81042         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
81043         okay.
81044         Reported by Jim Meyering.
81046         mkfifoat: new module
81047         * modules/mkfifoat: New file.
81048         * lib/mkfifoat.c: Likewise.
81049         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
81050         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
81051         * modules/sys_stat (Makefile.am): Use them.
81052         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
81053         * MODULES.html.sh (File system functions): Mention module.
81054         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
81055         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
81056         * modules/mkfifoat-tests: New test.
81057         * tests/test-mkfifoat.c: Likewise.
81059         strchrnul: relax license
81060         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
81061         okay.
81062         Reported by Jim Meyering.
81064 2009-09-08  Eric Blake  <ebb9@byu.net>
81066         fstatat: fix compilation on Solaris
81067         * lib/fstatat.c (includes): Add fcntl.h.
81068         Reported by Pádraig Brady.
81070 2009-09-07  Eric Blake  <ebb9@byu.net>
81072         rename: modernize replacement
81073         * modules/rename (Depends-on): Add stdio.
81074         (configure.ac): Declare witness.
81075         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
81076         stdio take care of replacement.
81077         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
81078         * modules/stdio (Makefile.am): Substitute them.
81079         * lib/stdio.in.h (rename): Declare replacement.
81080         * lib/rename.c (includes): Allow cross-compilation to non-windows
81081         machines.
81082         * doc/posix-functions/rename.texi (rename): Improve
81083         documentation.
81085         stdio: sort witness names
81086         * modules/stdio (Makefile.am): Sort replacements.
81087         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
81088         * lib/stdio.in.h: Likewise.
81090         getcwd: minor cleanups
81091         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
81092         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
81094         openat: provide more convenience names
81095         * modules/faccessat (configure.ac): Add C witness.
81096         * lib/unistd.in.h (readlinkat): Fix typo.
81097         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
81098         convenience wrappers.
81099         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
81100         wrappers in syntax checks.
81102 2009-09-06  Eric Blake  <ebb9@byu.net>
81104         doc: fix comments in recent patches
81105         * lib/faccessat.c: Mention correct function.
81106         * lib/fchmodat.c: Likewise.
81107         * lib/fchownat.c: Likewise.
81108         * lib/symlinkat.c: Likewise.
81109         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
81110         constants.
81112         faccessat, symlinkat: continue cleanup of previous patch
81113         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
81114         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81115         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
81116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
81117         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
81118         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
81119         set.
81121 2009-09-06  Bruno Haible  <bruno@clisp.org>
81123         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
81124         (fstatat): Declare if GNULIB_FSTATAT is set.
81125         (mkdirat): Declare if GNULIB_MKDIRAT is set.
81126         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
81127         (unlinkat): Declare if GNULIB_UNLINKAT is set.
81128         * modules/fcntl-h (Files): Remove m4/openat.m4.
81129         * modules/sys_stat (Files): Remove m4/openat.m4.
81130         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
81131         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
81132         * modules/unistd (Files): Remove m4/openat.m4.
81133         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
81134         GNULIB_OPENAT.
81135         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
81136         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
81137         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
81138         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
81139         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
81140         gl_OPENAT_DEFAULTS.
81141         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
81142         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
81143         Don't require gl_OPENAT_DEFAULTS.
81144         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
81145         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
81146         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
81147         (gl_OPENAT_DEFAULTS): Remove macro.
81149 2009-09-06  Bruno Haible  <bruno@clisp.org>
81151         * modules/openat (configure.ac): Remove unneeded witness.
81153 2009-09-06  Bruno Haible  <bruno@clisp.org>
81155         Set errno to ENOSYS when a function is entirely unsupported.
81156         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
81157         EOPNOTSUPP.
81158         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81159         * modules/chown (Depends-on): Remove errno.
81161 2009-09-06  Bruno Haible  <bruno@clisp.org>
81163         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
81165 2009-09-06  Bruno Haible  <bruno@clisp.org>
81167         * lib/sys_stat.in.h: Fix preprocessor command indentation.
81169 2009-09-06  Ben Pfaff  <blp@gnu.org>
81170             Bruno Haible  <bruno@clisp.org>
81172         Work around a glibc bug in strtok_r.
81173         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
81174         Undefine if UNDEFINE_STRTOK_R is set.
81175         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
81176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81177         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
81178         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
81179         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
81180         UNDEFINE_STRTOK_R.
81181         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
81183 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
81185         exclude: minor fix
81186         * lib/exclude.c: Include wctype.h
81188 2009-09-06  Akim Demaille  <demaille@gostai.com>
81190         bootstrap: improve error message
81191         * build-aux/bootstrap (find_tool): Upon failure, report the list
81192         of candidates.
81193         Honor the initial value of the envvar.
81195 2009-09-05  Eric Blake  <ebb9@byu.net>
81197         symlinkat: new module
81198         * modules/symlinkat: New file.
81199         * lib/symlinkat.c: Likewise.
81200         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
81201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
81202         * modules/unistd (Makefile.am): Use them.
81203         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
81204         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
81205         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
81206         * MODULES.html.sh (File system functions): Mention module.
81207         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
81208         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
81209         * modules/symlinkat-tests: New test.
81210         * tests/test-symlinkat.c: Likewise.
81212         test-openat-safer: add more checks
81213         * tests/test-openat-safer.c (main): Check more code paths.
81215 2009-09-05  Jim Meyering  <meyering@redhat.com>
81217         syntax-check: detect unnecessary inclusion of openat.h
81218         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
81220 2009-09-05  Bruno Haible  <bruno@clisp.org>
81222         Support towlower, towupper.
81223         * doc/posix-functions/towlower.texi: Mention module wctype.
81224         * doc/posix-functions/towupper.texi: Likewise.
81225         * lib/wctype.in.h (towlower, towupper): New functions.
81226         * tests/test-wctype.c: Include stdio.h, stdlib.h.
81227         (ASSERT): New macro.
81228         (e): New variable.
81229         (main): Test also towlower, towupper. Test WEOF argument.
81230         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
81232 2009-09-05  Bruno Haible  <bruno@clisp.org>
81234         Fix conversion behaviour when the input is invalid.
81235         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
81236         mark occurring in first pass of indirect conversion.
81237         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
81238         input.
81239         Found by clang's static analyzer.
81241 2009-09-05  Bruno Haible  <bruno@clisp.org>
81243         * tests/test-striconveh.c (main): Test indirect conversion on platforms
81244         where direct conversion is possible.
81246 2009-09-04  Eric Blake  <ebb9@byu.net>
81248         openat: fail with ENOENT on empty name
81249         * lib/openat-proc.c (openat_proc_name): Special-case the empty
81250         buffer.
81252         link-follow: fix logic bug in prior patch
81253         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
81254         reversed sense of yes and no in prior patch.  Avoid confusing
81255         compilation failure with desired semantics.
81257         link-follow: accommodate mingw and cross-compilation
81258         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
81259         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
81260         cross-compilation results to -1, to make linkat easier to
81261         implement when cross-compiling.  Trivially support mingw.
81262         * modules/link-follow (configure.ac): Call new name.
81263         * NEWS: Mention this.
81265 2009-09-03  Eric Blake  <ebb9@byu.net>
81267         faccessat: compile replacement
81268         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
81269         needed.
81271         fts: fix compilation error
81272         * lib/fts.c (includes): Re-add "openat.h", for
81273         openat_needs_fchdir.
81275         faccessat: new module
81276         * modules/faccessat: New file.
81277         * lib/faccessat.c: Likewise.
81278         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81280         * modules/unistd (Makefile.am): Use it.
81281         * lib/unistd.in.h (faccessat): Declare it.
81282         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
81283         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
81284         * MODULES.html.sh (File system functions): Mention it.
81285         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
81286         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
81288         euidaccess: prefer POSIX over non-standard implementation
81289         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
81290         * lib/euidaccess.c (euidaccess): Use it if available.
81292         openat: make template easier to use
81293         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
81294         AT_FUNC_F2 to be undefined.
81295         (VALIDATE_FLAG): New macro; use it to reject bad flags.
81296         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
81297         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
81298         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
81299         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
81300         Likewise.
81301         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
81302         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
81303         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
81304         Likewise.
81306         openat: declare in POSIX headers
81307         * NEWS: Mention this.
81308         * modules/openat (configure.ac): Declare witnesses.
81309         (Depends-on): Add fcntl-h, sys_stat, unistd.
81310         (Include): Mention correct headers.
81311         * modules/fcntl-h (Depends-on): Add link-warning.
81312         (Files): Add openat.m4.
81313         (Makefile.am): Substitute witnesses.
81314         * modules/sys_stat (Files, Makefile.am): Likewise.
81315         * modules/unistd (Files, Makefile.am): Likewise.
81316         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
81317         (gl_OPENAT_DEFAULTS): New macro.
81318         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
81319         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
81320         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
81321         (SYS_STAT_H): Remove unused variable.
81322         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
81323         * lib/fcntl--.h (includes): Remove unneeded header.
81324         * lib/openat-safer.c (includes): Likewise.
81325         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
81326         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
81327         appropriate headers.
81328         (__OPENAT_PREFIX): Delete.
81329         * lib/fcntl.in.h (openat): Provide declaration.
81330         (AT_FDCWD): Fix Solaris bug.
81331         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
81332         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
81333         * lib/fchmodat.c (includes):  Adjust to find declaration.
81334         * lib/fchownat.c (includes): Likewise.
81335         * lib/mkdirat.c (includes): Likewise.
81336         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
81337         still visible.
81339 2009-09-02  Eric Blake  <ebb9@byu.net>
81341         errno: use consistently
81342         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
81343         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
81344         * lib/canonicalize.c (ELOOP): Likewise.
81345         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
81346         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
81347         * lib/lchown.c (EOPNOTSUPP): Likewise.
81348         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
81349         * lib/savewd.c (ESTALE): Likewise.
81350         * lib/settime.c (ENOSYS): Likewise.
81351         * lib/utimens.c (ENOSYS): Likewise.
81352         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
81353         * lib/chdir-safer.c (ELOOP): Likewise.
81354         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
81355         * modules/c-stack (Depends-on): Add errno.
81356         * modules/canonicalize (Depends-on): Likewise.
81357         * modules/chdir-safer (Depends-on): Likewise.
81358         * modules/fdopendir (Depends-on): Likewise.
81359         * modules/inet_ntop (Depends-on): Likewise.
81360         * modules/inet_pton (Depends-on): Likewise.
81361         * modules/lchown (Depends-on): Likewise.
81362         * modules/openat (Depends-on): Likewise.
81363         * modules/savewd (Depends-on): Likewise.
81364         * modules/settime (Depends-on): Likewise.
81365         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
81367         fts: avoid leaking fds
81368         * modules/fts (Depends-on): Add cloexec.
81369         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
81370         flag.
81372         fts: make directory fds more robust
81373         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
81374         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
81376         backupfile, chdir-long, fts, savedir: make safer
81377         * lib/backupfile.c (includes): Use "dirent--.h", since
81378         numbered_backup can write to stderr during readdir.
81379         * lib/savedir.c (includes): Likewise.
81380         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
81381         emulation can write to stderr on failure.
81382         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
81383         * lib/getcwd.c: Document why opendir_safer is unused.
81384         * lib/glob.c: Likewise.
81385         * lib/scandir.c: Likewise.
81386         * lib/openat-proc.c: Likewise, for open_safer.
81387         * modules/backupfile (Depends-on): Add dirent-safer.
81388         * modules/savedir (Depends-on): Likewise.
81389         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
81390         * modules/chdir-long (Depends-on): Add openat-safer.
81392         openat-safer: new module
81393         * modules/openat-safer: New file.
81394         * lib/openat-safer.c: Likewise.
81395         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
81396         * lib/fcntl-safer.h (openat_safer): Declare.
81397         * lib/fcntl--.h (openat): Override.
81398         * MODULES.html.sh (File descriptor based I/O): Mention it.
81399         * lib/openat.h: Add double-inclusion guards.
81400         * lib/openat.c (includes): Only include "fcntl-safer.h", not
81401         "fcntl--.h", so we can implement openat.
81402         * modules/openat-safer-tests: New test.
81403         * tests/test-openat-safer.c: New file.
81405         dirent-safer: new module
81406         * modules/dirent-safer: New file.
81407         * lib/dirent--.h: Likewise.
81408         * lib/dirent-safer.h: Likewise.
81409         * lib/opendir-safer.c: Likewise.
81410         * m4/dirent-safer.m4: Likewise.
81411         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
81412         * modules/dirent-safer-tests: New test.
81413         * tests/test-dirent-safer.c: New file.
81414         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
81416         fdopendir: optimize on mingw
81417         * lib/unistd.in.h (_gl_directory_name): New prototype.
81418         * lib/fchdir.c (_gl_directory_name): Implement it.
81419         (fchdir): Use it to simplify implementation.
81420         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
81421         fchdir, when available, to avoid calling [f]chdir().
81423         fdopendir: split into its own module
81424         * lib/openat.c (fdopendir): Move...
81425         * lib/fdopendir.c: ...into new file.
81426         * modules/fdopendir: New module.
81427         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
81428         * modules/openat (Depends-on): Add fdopendir.
81429         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
81430         fdopendir here.
81431         * modules/savedir (Depends-on): Only need fdopendir, not full
81432         openat.
81433         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
81434         * lib/openat.h (fdopendir): Drop prototype.
81435         * lib/dirent.in.h (fdopendir): Provide prototype.
81436         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
81437         * modules/dirent (Makefile.am): Substitute them.
81438         * MODULES.html.sh (File system functions): Mention it.
81439         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
81440         * modules/fdopendir-tests: New file.
81441         * tests/test-fdopendir.c: Likewise.
81443         fchdir: use more consistent macro convention
81444         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
81445         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
81446         REPLACE_FCHDIR, rather than relying on config.h macros.
81447         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
81448         inside a single make-time REPLACE_FCHDIR block, rather than using
81449         the config.h FCHDIR_REPLACEMENT.
81450         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
81451         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
81452         Manage fstat replacement.
81453         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
81454         REPLACE_FCHDIR.
81455         * modules/sys_stat (Files): Add m4/unistd_h.m4.
81456         (Makefile.am): Substitute REPLACE_FCHDIR.
81457         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
81458         FCHDIR_REPLACEMENT.
81459         * lib/dup-safer.c (dup_safer): Likewise.
81460         * lib/dup2.c (rpl_dup2): Likewise.
81461         * lib/dup3.c (rpl_dup3): Likewise.
81462         * lib/open.c (rpl_open): Likewise.
81464         fchdir: simplify error handling, and support dup3
81465         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
81466         stdbool, malloc-posix, realloc-posix.
81467         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
81468         (ensure_dirs_slot): Return false on allocation failure.
81469         (rpl_dup2): Delete.
81470         (_gl_register_dup): New function.
81471         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
81472         (_gl_register_fd): Close fd on allocation failure.
81473         * lib/fcntl.in.h (_gl_register_fd): Update signature.
81474         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
81475         prototype.
81476         (rpl_dup2_fchdir): Delete prototype.
81477         * lib/open.c (open): Update caller.
81478         * lib/dup2.c (dup2): Track fchdir metadata.
81479         * lib/dup3.c (dup3): Likewise.
81480         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
81481         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
81483 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81485         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
81486         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
81487         don't pass arguments to AC_OUTPUT.
81489 2009-09-02  Bruno Haible  <bruno@clisp.org>
81491         * modules/mkdtemp (License): Relicense under LGPLv2+.
81492         Reported by Paolo Bonzini.
81494 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81496         Replace uses of obsolete autoconf macros in Jim's modules.
81497         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
81498         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
81499         can evoke a warning from autoconf when run with -Wobsolete
81500         enabled.  They were declared obsolete for good reasons (see
81501         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
81502         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
81503         should not continue using the deprecated macros.
81504         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
81505         obsolete Autoconf macros with modern counterparts.
81506         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81507         * m4/dos.m4 (gl_AC_DOS): Likewise.
81508         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
81509         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
81510         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
81511         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
81512         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
81513         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
81514         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
81515         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
81516         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
81517         Likewise.
81518         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
81519         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81520         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
81521         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
81522         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
81523         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81525 2009-09-01  Eric Blake  <ebb9@byu.net>
81527         fchdir: fix off-by-one bug in previous patch
81528         * lib/fchdir.c (rpl_fstat): Use correct bounds.
81529         (_gl_unregister_fd): Delete useless if.
81531 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
81533         maint.mk: sort the list of syntax-check rules
81534         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
81535         easier to get a sense of progress when the rules are run sequentially
81536         and take a long time.
81538 2009-09-01  Simon Josefsson  <simon@josefsson.org>
81540         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
81541         * modules/netinet_in: Likewise.
81542         * modules/sys_file: Likewise.
81543         * modules/sys_ioctl: Likewise.
81544         * modules/sys_select: Likewise.
81545         * modules/sys_socket: Likewise.
81546         * modules/sys_stat: Likewise.
81547         * modules/sys_time: Likewise.
81548         * modules/sys_times: Likewise.
81549         * modules/sys_utsname: Likewise.
81550         * modules/sys_wait: Likewise.
81552 2009-09-01  Jim Meyering  <meyering@redhat.com>
81554         fts: help ensure that return values are not ignored
81555         * lib/fts_.h (__GNUC_PREREQ): Define.
81556         (__attribute_warn_unused_result__): Define.
81557         (fts_children, fts_close, fts_open, fts_read): Declare with
81558         __attribute_warn_unused_result__.
81560         fts: fts_close now fails also when closing a dir file descriptor fails
81561         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
81562         and propagate to caller, along with errno.
81564         announce-gen: correct formatting in --help output
81565         * build-aux/announce-gen (usage): Move the one-line description in
81566         --help output "up", to where it belongs, just after Usage:.
81568 2009-08-31  Eric Blake  <ebb9@byu.net>
81570         fchdir: port to mingw
81571         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
81572         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
81573         opened, then use a substitute.
81574         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
81575         replacement.
81576         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
81577         (_gl_register_fd): No need to check stat if open already filters
81578         all directories.
81579         (fchdir): Fix error condition to match POSIX.
81580         * modules/fchdir (Depends-on): Add sys_stat.
81581         * doc/posix-functions/open.texi (open): Document the limitation.
81582         * modules/fchdir-tests: New file.
81583         * tests/test-fchdir.c: Likewise.
81585         canonicalize: allow cross-testing from cygwin to mingw
81586         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
81587         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
81588         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
81589         Likewise.
81590         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
81591         target does not support symlinks.
81592         * tests/test-canonicalize-lgpl.sh: Likewise.
81594         chown: avoid compilation warning on mingw
81595         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
81596         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
81597         mingw.
81598         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81599         * modules/chown (Depends-on): Add errno.
81601 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
81603         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
81604         command.
81606 2009-08-31  Jim Meyering  <meyering@redhat.com>
81608         canonicalize: remove useless initialization
81609         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
81610         initialization of local, "end".
81612 2009-08-30  Bruno Haible  <bruno@clisp.org>
81614         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
81615         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
81616         ENOSYS.
81618 2009-08-30  Bruno Haible  <bruno@clisp.org>
81620         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
81621         /usr/xpg4/bin/tr when it exists.
81622         * tests/test-pipe-filter-gi1.sh: Likewise.
81624 2009-08-30  Bruno Haible  <bruno@clisp.org>
81626         Work around deficient /usr/bin/id program on Solaris.
81627         * tests/test-file-has-acl.sh (ID): New variable.
81628         * tests/test-set-mode-acl.sh (ID): Likewise.
81629         * tests/test-copy-acl.sh (ID): Likewise.
81630         * tests/test-copy-file.sh (ID): Likewise.
81632 2009-08-30  Bruno Haible  <bruno@clisp.org>
81634         New module 'xstriconveh'.
81635         * lib/xstriconveh.h: New file.
81636         * lib/xstriconveh.c: New file.
81637         * modules/xstriconveh: New file.
81639 2009-08-30  Bruno Haible  <bruno@clisp.org>
81641         Make it easier to use mem_cd_iconveh.
81642         * lib/striconveh.h (iconveh_t): New type.
81643         (iconveh_open, iconveh_close): New declarations.
81644         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81645         with a single 'const iconveh_t *' argument.
81646         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
81647         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81648         with a single 'const iconveh_t *' argument.
81649         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
81650         * tests/test-striconveh.c (main): Update.
81651         * NEWS: Mention the change.
81653 2009-08-30  Bruno Haible  <bruno@clisp.org>
81655         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
81656         problem.
81658 2009-08-30  Bruno Haible  <bruno@clisp.org>
81660         Work around iconv_open problem on Solaris.
81661         * lib/iconv_open-solaris.gperf: New file.
81662         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
81663         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
81664         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
81665         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
81666         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
81667         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
81669 2009-08-29  Jim Meyering  <meyering@redhat.com>
81671         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
81672         * top/maint.mk (cvs-check): Remove target; it was just an alias
81673         to the better-named vc-diff-check.
81674         (maintainer-distcheck): Remove rule.  It was used only from
81675         the (alpha/beta/major) target, and all of its commands but one
81676         were coreutils-specific.
81677         (vc-dist): Remove rule.
81678         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
81679         Run vc-diff-check, not vc-dist.
81680         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
81682 2009-08-27  Bruno Haible  <bruno@clisp.org>
81684         * tests/test-bitrotate.c (main): Remove test that uses a shift count
81685         of 0.
81687 2009-08-27  Bruno Haible  <bruno@clisp.org>
81689         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
81690         compilers.
81691         * doc/func.texi: Document the SunPRO C bug.
81693 2009-08-27  Bruno Haible  <bruno@clisp.org>
81695         Fix link error on Solaris.
81696         * tests/test-parse-duration.c (xstrdup): Remove function.
81698 2009-08-26  Pádraig Brady  <P@draigbrady.com>
81700         ignore-value: handle pointer types, too
81701         * lib/ignore-value.h (__attribute__): Remove definition.
81702         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
81703         of a more concise and more-often effective "(void) i" statement.
81704         (ignore_ptr): New function to suppress warnings from functions that
81705         return pointers, and to make it explicit that one function doesn't
81706         handle all cases.
81708 2009-08-25  Bruno Haible  <bruno@clisp.org>
81710         dup2: work around a Linux bug.
81711         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
81712         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
81713         * doc/posix-functions/dup2.texi: Mention the Linux bug.
81714         Reported by Simon Josefsson.
81716 2009-08-25  Jim Meyering  <meyering@redhat.com>
81718         libguestfs uses gnulib
81719         * users.txt: Add libguestfs.
81721 2009-08-24  Eric Blake  <ebb9@byu.net>
81723         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
81724         * lib/pipe2.c (includes): Add binary-io.h.
81725         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
81727 2009-08-24  Bruno Haible  <bruno@clisp.org>
81729         Tolerate declared but missing accept4 syscall.
81730         * lib/accept4.c (accept4): Invoke original accept4 function first, if
81731         available.
81732         * lib/sys_socket.in.h (accept4): If the function is already present,
81733         override it.
81734         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
81735         * modules/accept4 (Makefile.am): Compile accept4.c always.
81736         Reported by Paolo Bonzini and Eric Blake.
81738 2009-08-23  Bruno Haible  <bruno@clisp.org>
81740         New module 'accept4'.
81741         * lib/sys_socket.in.h (accept4): New declaration.
81742         * lib/accept4.c: New file.
81743         * m4/accept4.m4: New file.
81744         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
81745         GNULIB_ACCEPT4, HAVE_ACCEPT4.
81746         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
81747         HAVE_ACCEPT4.
81748         * modules/accept4: New file.
81749         * doc/glibc-functions/accept4.texi: Mention the new module.
81751 2009-08-24  Jim Meyering  <meyering@redhat.com>
81753         progname: also set global program_invocation_name, when possible
81754         Before this change, a libtool-enabled program that calls glibc's
81755         error function would report the program name as
81756         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
81757         * modules/progname (configure.ac): Check for a declaration of
81758         program_invocation_name.
81759         * lib/progname.c:  Include <errno.h>.
81760         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
81761         Set program_invocation_name.
81763 2009-08-23  Bruno Haible  <bruno@clisp.org>
81765         * lib/dup3.c: Include <string.h>.
81767 2009-08-23  Bruno Haible  <bruno@clisp.org>
81769         * lib/dup3.c (dup3): Test only once whether the system actually exists.
81770         * lib/pipe2.c (pipe2): Likewise.
81771         Suggested by Eric Blake.
81773 2009-08-23  Bruno Haible  <bruno@clisp.org>
81775         Tolerate declared but missing dup3 syscall.
81776         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
81777         * lib/unistd.in.h (dup3): If the function is already present,
81778         override it.
81779         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
81780         * modules/dup3 (Makefile.am): Compile dup3.c always.
81781         Reported by Paolo Bonzini.
81783 2009-08-23  Bruno Haible  <bruno@clisp.org>
81785         Tolerate declared but missing pipe2 syscall.
81786         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
81787         available.
81788         * lib/unistd.in.h (pipe2): If the function is already present,
81789         override it.
81790         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
81791         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
81792         Reported by Paolo Bonzini.
81794 2009-08-23  Bruno Haible  <bruno@clisp.org>
81796         * lib/pipe2.c (pipe2): Move #ifs inside function.
81798 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81800         quotearg: document limitations of quote_these_too
81801         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
81802         those limitations are created.
81803         * lib/quotearg.h (set_char_quoting): Document that digits and
81804         letters that are special after backslash are not permitted.
81805         (quotearg_char): Cross-reference set_char_quoting documentation.
81807 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
81809         quotearg: implement custom_quoting_style
81810         * lib/quotearg.c: (struct quoting_options): Add left_quote and
81811         right_quote fields.
81812         (set_custom_quoting): New public function.
81813         (quotearg_buffer_restyled): Add left_quote and right_quote
81814         arguments, handle them very much like locale quoting, and update
81815         all uses.
81816         (quotearg_n_custom): New public function.
81817         (quotearg_n_custom_mem): New public function.
81818         (quotearg_custom): New public function.
81819         (quotearg_custom_mem): New public function.
81820         * lib/quotearg.h: Prototype and document new public functions.
81821         (enum quoting_style): For escape_quoting_style and
81822         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
81823         ignored even though they're otherwise like c_quoting_style.
81824         Add custom_quoting_style member and document with comparison to
81825         clocale_quoting_style.
81826         * tests/test-quotearg.c (custom_quotes): New array.
81827         (custom_results): New array.
81828         (main): Extend to test custom quoting.
81830 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81832         quotearg: fix right quote escaping when it's in quote_these_too
81833         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
81834         quote, be sure to prepend only one backslash.
81835         * tests/test-quotearg.c (use_quote_double_quotes): New function.
81836         (main): Test it.
81838 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81840         quotearg-tests: test escaping of embedded locale quotes
81841         * tests/test-quotearg.c (struct result_strings): Add member for
81842         new input.
81843         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
81844         (inputs): Add new input.
81845         (results_g): Add expected results.
81846         (flag_results): Likewise.
81847         (locale_results): Likewise.
81848         (compare_strings): Check those.
81850 2009-08-23  Bruno Haible  <bruno@clisp.org>
81852         Tests for module 'dup3'.
81853         * modules/dup3-tests: New file.
81854         * tests/test-dup3.c: New file.
81856         New module 'dup3'.
81857         * lib/unistd.in.h (dup3): New declaration.
81858         * lib/dup3.c: New file.
81859         * m4/dup3.m4: New file.
81860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
81861         HAVE_DUP3.
81862         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
81863         * modules/dup3: New file.
81864         * doc/glibc-functions/dup3.texi: Mention the new module.
81866 2009-08-23  Bruno Haible  <bruno@clisp.org>
81868         Tweak the dup2 test.
81869         * tests/test-dup2.c (main): Create the test file empty. Verify that an
81870         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
81871         the test file is still empty. Fix argument order of lseek.
81873 2009-08-23  Bruno Haible  <bruno@clisp.org>
81875         Avoid test link errors when the modules getopt-gnu, gettext are used.
81876         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
81877         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81879 2009-08-23  Bruno Haible  <bruno@clisp.org>
81881         Fix getdtablesize() on mingw.
81882         * lib/getdtablesize.c (getdtablesize): Implement differently.
81883         * lib/unistd.in.h (getdtablesize): Improve comment.
81885 2009-08-23  Bruno Haible  <bruno@clisp.org>
81887         New module 'mkostemp'.
81888         Based on Ulrich Drepper's 2007-08-10 change in glibc.
81889         * lib/stdlib.in.h (mksotemp): New declaration.
81890         * lib/mkostemp.c: New file, from glibc with modifications.
81891         * lib/tempname.h (GT_FILE): Remove outdated comment.
81892         (gen_tempname): Add flags argument.
81893         * lib/tempname.c (__GT_BIGFILE): Remove macro.
81894         (__GT_FILE): Map to 1.
81895         (small_open, large_open): Remove macros.
81896         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
81897         * lib/mkstemp.c (mkstemp): Update.
81898         * lib/mkdtemp.c (mkdtemp): Likewise.
81899         * m4/mkostemp.m4: New file.
81900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
81901         HAVE_MKOSTEMP.
81902         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
81903         HAVE_MKOSTEMP.
81904         * modules/mkostemp: New file, based on modules/mkstemp.
81905         * doc/glibc-functions/mkostemp.texi: Mention the new module.
81906         * NEWS: Mention the change.
81908 2009-08-23  Bruno Haible  <bruno@clisp.org>
81910         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
81911         Reported by Eric Blake.
81913 2009-08-23  Bruno Haible  <bruno@clisp.org>
81915         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
81916         Reported by Eric Blake.
81918 2009-08-23  Bruno Haible  <bruno@clisp.org>
81920         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
81921         * modules/pipe2 (Depends-on): Likewise.
81923 2009-08-23  Eric Blake  <ebb9@byu.net>
81925         fcntl-h: add O_TTY_INIT support
81926         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
81927         * tests/test-fcntl-h.c (o): Test it.
81928         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81930         fcntl-h: rename from fcntl, in preparation for fcntl(2)
81931         * modules/fcntl: Move <fcntl.h> header replacement...
81932         * modules/fcntl-h: ...to new name, so as not to collide with
81933         like-named function.
81934         * tests/test-fcntl.c: Rename...
81935         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
81936         * modules/fcntl-tests: Rename...
81937         * modules/fcntl-h-tests: ...to this.  Update test file name.
81938         * modules/chdir-long (Depends-on): Update clients.
81939         * modules/chdir-safer (Depends-on): Likewise.
81940         * modules/fcntl-safer (Depends-on): Likewise.
81941         * modules/fts (Depends-on): Likewise.
81942         * modules/mkancesdirs (Depends-on): Likewise.
81943         * modules/mkdir-p (Depends-on): Likewise.
81944         * modules/open (Depends-on): Likewise.
81945         * modules/savewd (Depends-on): Likewise.
81946         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
81947         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81949 2009-08-22  Bruno Haible  <bruno@clisp.org>
81951         * modules/binary-io (License): Relicense under LGPL.
81952         * modules/pipe2 (License): Likewise.
81954 2009-08-22  Bruno Haible  <bruno@clisp.org>
81956         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
81957         return value.
81958         * lib/pipe-filter-gi.c (filter_init): Likewise.
81959         Reported by Eric Blake.
81961 2009-08-22  Bruno Haible  <bruno@clisp.org>
81963         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
81964         * modules/pipe (Depends-on): Add pipe2.
81966 2009-08-22  Bruno Haible  <bruno@clisp.org>
81968         Tests for module 'pipe2'.
81969         * modules/pipe2-tests: New file.
81970         * tests/test-pipe2.c: New file.
81972         New module 'pipe2'.
81973         * lib/unistd.in.h (pipe2): New declaration.
81974         * lib/pipe2.c: New file.
81975         * m4/pipe2.m4: New file.
81976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
81977         HAVE_PIPE2.
81978         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
81979         * modules/pipe2: New file.
81980         * doc/glibc-functions/pipe2.texi: Mention the new module.
81982 2009-08-22  Bruno Haible  <bruno@clisp.org>
81984         Reference some new glibc functions.
81985         * doc/glibc-functions/accept4.texi: New file.
81986         * doc/glibc-functions/dup3.texi: New file.
81987         * doc/glibc-functions/mkostemp.texi: New file.
81988         * doc/glibc-functions/pipe2.texi: New file.
81989         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
81990         (Glibc sys/socket.h): Refer to accept4.
81991         (Glibc unistd.h): Refer to dup3, pipe2.
81992         Reported by Eric Blake.
81994 2009-08-22  Jim Meyering  <meyering@redhat.com>
81995             Bruno Haible  <bruno@clisp.org>
81997         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
81998         This makes it so packages using automake-1.11's silent-rules option
81999         can print e.g., a single "GEN    configmake.h" line, rather than
82000         the 30+ statements that perform the job.  If you want to see the
82001         actual commands, you can still run "make V=1".
82002         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
82003         so that make output is abbreviated when those variables are defined
82004         appropriately.
82005         * modules/argz: Likewise.
82006         * modules/arpa_inet: Likewise.
82007         * modules/byteswap: Likewise.
82008         * modules/configmake: Likewise.
82009         * modules/dirent: Likewise.
82010         * modules/errno: Likewise.
82011         * modules/fcntl: Likewise.
82012         * modules/float: Likewise.
82013         * modules/fnmatch: Likewise.
82014         * modules/getopt-posix: Likewise.
82015         * modules/glob: Likewise.
82016         * modules/iconv_open: Likewise.
82017         * modules/inttypes: Likewise.
82018         * modules/localcharset: Likewise.
82019         * modules/locale: Likewise.
82020         * modules/math: Likewise.
82021         * modules/netdb: Likewise.
82022         * modules/netinet_in: Likewise.
82023         * modules/poll: Likewise.
82024         * modules/posix_spawnp-tests: Likewise.
82025         * modules/sched: Likewise.
82026         * modules/search: Likewise.
82027         * modules/selinux-h: Likewise.
82028         * modules/signal: Likewise.
82029         * modules/spawn: Likewise.
82030         * modules/stdarg: Likewise.
82031         * modules/stdbool: Likewise.
82032         * modules/stddef: Likewise.
82033         * modules/stdint: Likewise.
82034         * modules/stdio: Likewise.
82035         * modules/stdlib: Likewise.
82036         * modules/string: Likewise.
82037         * modules/strings: Likewise.
82038         * modules/sys_file: Likewise.
82039         * modules/sys_ioctl: Likewise.
82040         * modules/sys_select: Likewise.
82041         * modules/sys_socket: Likewise.
82042         * modules/sys_stat: Likewise.
82043         * modules/sys_time: Likewise.
82044         * modules/sys_times: Likewise.
82045         * modules/sys_utsname: Likewise.
82046         * modules/sys_wait: Likewise.
82047         * modules/sysexits: Likewise.
82048         * modules/time: Likewise.
82049         * modules/unistd: Likewise.
82050         * modules/wchar: Likewise.
82051         * modules/wctype: Likewise.
82053 2009-08-22  Jim Meyering  <meyering@redhat.com>
82055         announce-gen: detect write failure
82056         * build-aux/announce-gen: Add Coda at end.
82057         Remove equivalent-but-more-verbose block at top.
82059 2009-08-19  Akim Demaille  <demaille@gostai.com>
82061         bootstrap: --help to stdout.
82062         * bootstrap (usage): Don't send --help to stderr.
82063         Use a here doc instead of a long string.
82065 2009-08-21  Eric Blake  <ebb9@byu.net>
82067         test-popen-safer: split from test-popen
82068         * tests/test-popen.c (main): Move...
82069         * tests/test-popen.h: ...into new file.
82070         * tests/test-popen-safer2.c: New file.
82071         * modules/popen-tests (Files): Add test-popen.h.
82072         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
82073         Suggested by Bruno Haible.
82075         test-fcntl-safer: split from test-open
82076         * tests/test-open.c (main): Move...
82077         * tests/test-open.h: ...into new file.
82078         * tests/test-fcntl-safer.c: New file.
82079         * modules/open-tests (Files): Add test-open.h.
82080         * modules/fcntl-safer-tests: New file.
82081         Suggested by Bruno Haible.
82083         test-fopen-safer: split from test-fopen
82084         * tests/test-fopen.c (main): Move...
82085         * tests/test-fopen.h: ...into new file.
82086         * tests/test-fopen-safer.c: New file.
82087         * modules/fopen-tests (Files): Add test-fopen.h.
82088         * modules/fopen-safer-tests: New file.
82089         Suggested by Bruno Haible.
82091 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82093         popen-safer: test O_CLOEXEC at run-time.
82094         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
82096 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
82098         fcntl: move more flags to the header
82099         * lib/cloexec.c: Do not define FD_CLOEXEC here.
82100         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
82101         * lib/fcntl.in.h: Do both things here.
82103 2009-08-21  Jim Meyering  <meyering@redhat.com>
82105         consistently remove $@-t before redirecting to it
82106         * modules/argz: Remove $@-t and $@ before redirecting to the former.
82107         * modules/alloca-opt: Likewise.
82108         * modules/byteswap: Likewise.
82109         * modules/fnmatch: Likewise.
82110         * modules/getopt-posix: Likewise.
82111         * modules/glob: Likewise.
82112         * modules/poll: Likewise.
82113         * modules/posix_spawnp-tests: Likewise.
82114         * modules/sys_socket: Likewise.
82115         * modules/sysexits: Likewise.
82117 2009-08-21  Eric Blake  <ebb9@byu.net>
82119         popen: simplify access to original popen
82120         * lib/popen.c (rpl_popen): No need to worry about popen being a
82121         macro.
82122         Reported by Bruno Haible.
82124 2009-08-20  Eric Blake  <ebb9@byu.net>
82126         build: avoid some compiler warnings
82127         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
82128         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
82129         type.
82130         (new_exclude_segment, excluded_file_pattern_p)
82131         (excluded_file_name_p): Reduce scope.
82132         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
82133         old-style declaration.
82135 2009-08-20  Simon Josefsson  <simon@josefsson.org>
82137         * tests/test-exclude1.sh: Handle Windows EOL.
82138         * tests/test-exclude2.sh: Likewise.
82139         * tests/test-exclude3.sh: Likewise.
82140         * tests/test-exclude4.sh: Likewise.
82141         * tests/test-exclude5.sh: Likewise.
82142         * tests/test-exclude6.sh: Likewise.
82143         * tests/test-exclude7.sh: Likewise.
82145 2009-08-19  Akim Demaille  <demaille@gostai.com>
82147         bootstrap: find sha1sum when named gsha1sum.
82148         * bootstrap (find_tool): New.
82149         ($SHA1SUM): New.
82150         Use it.
82152 2009-08-20  Jim Meyering  <meyering@redhat.com>
82154         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
82155         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
82156         expression that converts "." in a file name to "\." in the resulting
82157         regexp.  Start with a dummy statement, so that prior shell variable
82158         definitions are expanded portably.  Reported by Simon Josefsson.
82160 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
82162         Fix polling for writeability of a screen buffer.
82163         * lib/poll.c: Distinguish input and screen buffers for the
82164         Win32 implementation.
82165         * lib/select.c: Likewise.
82167 2009-08-19  Eric Blake  <ebb9@byu.net>
82169         popen-safer: prevent popen from clobbering std descriptors
82170         * modules/popen-safer: New file.
82171         * lib/popen-safer.c: Likewise.
82172         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
82173         * lib/stdio--.h (popen): Provide override.
82174         * lib/stdio-safer.h (popen_safer): Provide declaration.
82175         * tests/test-popen.c (includes): Partially test this.
82176         * modules/popen-safer-tests: New file, for more tests.
82177         * tests/test-popen-safer.c: Likewise.
82178         * MODULES.html.sh (file stream based Input/Output): Mention it.
82180         tests: test some of the *-safer modules
82181         * modules/fopen-safer (Depends-on): Add fopen.
82182         * modules/fcntl-safer (Depends-on): Add fcntl.
82183         * modules/stdlib-safer (Depends-on): Add stdlib.
82184         (configure.ac): Set indicator.
82185         * modules/unistd-safer (configure.ac): Likewise.
82186         * modules/tmpfile-safer (configure.ac): Likewise.
82187         (Depends-on): Add tmpfile.
82188         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
82189         active.
82190         * tests/test-fopen.c (includes): Test safer versions when they are
82191         in use.
82192         * tests/test-open.c (includes): Likewise.
82194         popen: fix cygwin 1.5 bug when stdin closed
82195         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
82196         * modules/popen: New file.
82197         * modules/popen-tests: Likewise.
82198         * tests/test-popen.c: Likewise.
82199         * m4/popen.m4: Likewise.
82200         * lib/popen.c: Likewise.
82201         * lib/stdio.in.h (popen): New declaration.
82202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
82203         * modules/stdio (Makefile.am): Likewise.
82204         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
82206 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
82208         maint.mk: give full control over update-copyright exclusions
82209         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
82210         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
82211         (update-copyright): Don't force inclusion of top-level
82212         ChangeLog.  Don't force exclusion of all COPYING files, but make
82213         them the default exclusion instead.
82215 2009-08-16  Bruno Haible  <bruno@clisp.org>
82217         Fix test failures on Solaris 10.
82218         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
82219         tests when Solaris iconv() is used.
82220         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
82221         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
82222         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
82223         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
82224         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
82226 2009-08-16  Bruno Haible  <bruno@clisp.org>
82228         Fix test failures on Solaris 10.
82229         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
82230         'tr' program and pass it as first argument.
82231         * tests/test-pipe-filter-gi1.sh: Likewise.
82232         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
82233         program as first argument.
82234         * tests/test-pipe-filter-gi1.c (main): Likewise.
82236 2009-08-16  Eric Blake  <ebb9@byu.net>
82238         fpurge: fix previous commits
82239         * modules/fpurge (Makefile.am): Make replacement conditional,
82240         partially reverting 2007-04-29 change; missed in previous
82241         attempt.
82242         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
82243         is missing.
82245 2009-08-16  Bruno Haible  <bruno@clisp.org>
82247         Clarify fpurge's effect on the file position.
82248         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
82249         * tests/test-fpurge.c (main): Make a second pass for checking the file
82250         position.
82252 2009-08-16  Bruno Haible  <bruno@clisp.org>
82254         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
82255         declaration of fpurge is missing.
82256         * tests/test-fpurge.c (main): Check that the file has not more contents
82257         than expected. Close the file before removing it.
82259 2009-08-15  Eric Blake  <ebb9@byu.net>
82261         fpurge: don't wrap working cygwin implementation
82262         * lib/fpurge.c (fpurge): Fix comment typo.
82263         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
82264         1.7 to avoid replacement.
82265         * tests/test-fpurge.c (main): Enhance test.
82267 2009-08-15  Eric Blake  <ebb9@byu.net>
82268         and Jim Meyering  <meyering@redhat.com>
82270         test-update-copyright: skip if perl is insufficient
82271         * tests/test-update-copyright.sh: Failure to run maintainer tool
82272         should not cause testsuite failure on cygwin 1.5.
82274 2009-08-14  Eric Blake  <ebb9@byu.net>
82276         doc: mention more functions added in cygwin 1.7.0
82277         * doc/posix-headers/limits.texi (limits.h): Update for recent
82278         cygwin additions.
82279         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
82280         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
82281         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
82282         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
82283         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
82285 2009-08-14  Eric Blake  <ebb9@byu.net>
82287         maint.mk: simplify update-copyright rule
82288         * top/maint.mk (update-copyright-local): Delete, and document how
82289         to do it in cfg.mk instead.
82290         (update-copyright-exclude-regexp): Delete, and document how to do
82291         it in .x-update-copyright instead.
82292         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
82293         exclude ChangeLog.
82295 2009-08-14  Bruno Haible  <bruno@clisp.org>
82297         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
82299 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82301         maint.mk: support update-copyright-env
82302         * top/maint.mk (update-copyright-env): Define place-holder.
82303         (update-copyright): Expand $(update-copyright-env) before
82304         invoking update-copyright.
82306 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82308         update-copyright: implement forced reformatting
82309         * build-aux/update-copyright: Implement and document
82310         UPDATE_COPYRIGHT_FORCE.
82311         * tests/test-update-copyright.sh: Test it.
82313 2009-08-14  Eric Blake  <ebb9@byu.net>
82314         and Bruno Haible  <bruno@clisp.org>
82316         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
82317         * tests/test-locale.c: Revert previous patch related to NULL.
82318         * tests/test-stdio.c: Likewise.
82319         * tests/test-stdlib.c: Likewise.
82320         * tests/test-string.c: Likewise.
82321         * tests/test-unistd.c: Likewise.
82322         * modules/time-tests (Depends-on): Add verify.
82323         * modules/wchar-tests (Depends-on): Likewise.
82324         * tests/test-time.c: Test for NULL compliance.
82325         * tests/test-wchar.c: Likewise.
82326         * modules/locale (Depends-on): Add stddef.
82327         * modules/stdio (Depends-on): Likewise.
82328         * modules/stdlib (Depends-on): Likewise.
82329         * modules/string (Depends-on): Likewise.
82330         * modules/time (Depends-on): Likewise.
82331         * modules/unistd (Depends-on): Likewise.
82332         * modules/wchar (Depends-on): Likewise.
82333         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
82334         * lib/stdlib.in.h (includes): Likewise.
82335         * lib/string.in.h (includes): Likewise.
82336         * lib/time.in.h (includes): Likewise.
82337         * lib/unistd.in.h (includes): Likewise.
82338         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
82339         replaced.
82340         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
82341         * m4/stddef_h.m4: New file.
82342         * modules/stddef: Likewise.
82343         * lib/stddef.in.h: Likewise.
82344         * modules/stddef-tests: Likewise.
82345         * tests/test-stddef.c: Likewise.
82346         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
82347         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
82348         * doc/posix-headers/locale.texi (locale.h): Likewise.
82349         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
82350         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
82351         * doc/posix-headers/string.texi (string.h): Likewise.
82352         * doc/posix-headers/time.texi (time.h): Likewise.
82353         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
82354         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
82356 2009-08-14  Eric Blake  <ebb9@byu.net>
82358         doc: improve git diff of texinfo files
82359         * .gitattributes: Add rule for *.texi files, with hint on how to
82360         use it.
82361         Copied from m4, and based on a report by Bruno Haible.
82363 2009-08-14  Bruno Haible  <bruno@clisp.org>
82365         Disable multithread support by default on Cygwin 1.5.x for real.
82366         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
82368 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82370         update-copyright: much ado about intervals
82371         * build-aux/update-copyright: Implement and document
82372         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
82373         of copyright year intervals.
82374         Also, document UPDATE_COPYRIGHT_YEAR.
82375         * tests/test-update-copyright.sh: Test it.
82377         update-copyright: convert 2-digit to 4-digit years
82378         * build-aux/update-copyright: Implement and document.
82379         * tests/test-update-copyright.sh: Update.
82381 2009-08-14  Jim Meyering  <meyering@redhat.com>
82383         test-exclude: avoid coreutils "make check" failure
82384         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
82385         just as in test-argmatch.c.
82387 2009-08-13  Eric Blake  <ebb9@byu.net>
82389         test-dup2: fix bad assumption
82390         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
82391         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
82393         test-version-etc: fix CRLF portability issue
82394         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
82395         recognize \r.
82396         * tests/test-argp-version-etc-1.sh: Likewise.
82398         getopt: update client modules
82399         * modules/argp (Depends-on): Use getopt-gnu.
82400         * modules/git-merge-changelog (Depends-on): Likewise.
82401         * modules/long-options (Depends-on): Likewise.
82402         * modules/xstrtol (Depends-on): Likewise.
82404 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82406         * tests/test-version-etc.sh: Don't fail on different
82407         project/version.  Don't fail on CRLF differences.  Rewrite to use
82408         multiple -e instead of multiple sed forks, suggested by Eric Blake
82409         <ebb9@byu.net>.
82410         * tests/test-argp-version-etc-1.sh: Likewise.
82412 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82414         * tests/test-version-etc.sh: Don't fail on different
82415         project/version.
82417 2009-08-12  Bruno Haible  <bruno@clisp.org>
82419         Tests for modules 'getopt-posix', 'getopt-gnu'.
82420         * modules/getopt-posix-tests: New file.
82421         * tests/test-getopt.c: New file.
82422         * tests/test-getopt.h: New file.
82423         * tests/test-getopt_long.h: New file.
82425         New modules 'getopt-posix', 'getopt-gnu'.
82426         * modules/getopt-gnu: New file, renamed from modules/getopt.
82427         * modules/getopt-posix: New file.
82428         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
82429         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
82430         (gl_GETOPT): Remove macro.
82431         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
82432         Disable the test against BSD systems that declare optreset. Test
82433         against mingw bug. Test against lack of support of optional arguments
82434         on many platforms.
82435         * doc/glibc-headers/getopt.texi: Update module name and list of
82436         relevant platforms.
82437         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
82438         'getopt-gnu' and more portability problems.
82439         * NEWS: Mention the changes.
82441 2009-08-12  Bruno Haible  <bruno@clisp.org>
82443         Ensure that optarg etc. get declared by <unistd.h>.
82444         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
82445         AC_USE_SYSTEM_EXTENSIONS.
82446         * modules/getopt (Depends-on): Add 'extensions'.
82448 2009-08-12  Bruno Haible  <bruno@clisp.org>
82450         Avoid test link errors.
82451         * modules/pipe-filter-ii-tests (Makefile.am): Define
82452         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
82453         * modules/pipe-filter-gi-tests (Makefile.am): Define
82454         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
82455         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82457 2009-08-12  Bruno Haible  <bruno@clisp.org>
82459         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
82460         gl_GETOPT_SUBSTITUTE before.
82461         (gl_GETOPT): Use it.
82462         * m4/argp.m4 (gl_ARGP): Update.
82463         Reported by Sergey Poznyakoff.
82465         * m4/getopt.m4: Reorder macros.
82466         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
82467         (gl_GETOPT_SUBSTITUTE): Remove macro.
82469 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82471         Minor improvement in gitlog-to-changelog
82473         * build-aux/gitlog-to-changelog: New option `--format' makes
82474         output format string configurable.
82476 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82478         Optimize exclude: use hash tables for non-wildcard patterns.
82480         * lib/exclude.c: Include hash.h and mbuiter.h
82481         (struct exclude_pattern, exclude_segment): New data types.
82482         (struct exclude): Rewrite.
82483         (fnmatch_pattern_has_wildcards): New function.
82484         (new_exclude_segment, free_exclude_segment): New functions.
82485         (excluded_file_pattern_p, excluded_file_name_p): New functions.
82486         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
82487         * lib/exclude.h (is_fnmatch_pattern): New prototype.
82488         * modules/exclude: Depend on hash and mbuiter.
82490         * modules/exclude-tests: New file.
82491         * tests/test-exclude.c: New file.
82492         * tests/test-exclude1.sh: New file.
82493         * tests/test-exclude2.sh: New file.
82494         * tests/test-exclude3.sh: New file.
82495         * tests/test-exclude4.sh: New file.
82496         * tests/test-exclude5.sh: New file.
82497         * tests/test-exclude6.sh: New file.
82498         * tests/test-exclude7.sh: New file.
82500 2009-08-12  Bruno Haible  <bruno@clisp.org>
82502         Ensure that getopt() gets declared by <unistd.h>.
82503         * lib/unistd.in.h: Conditionally include getopt.h.
82504         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
82505         Set GNULIB_UNISTD_H_GETOPT.
82506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82507         GNULIB_UNISTD_H_GETOPT.
82508         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
82510 2009-08-12  Bruno Haible  <bruno@clisp.org>
82512         Clarify logic.
82513         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
82514         gl_replace_getopt instead of GETOPT_H.
82516 2009-08-12  Bruno Haible  <bruno@clisp.org>
82518         * m4/getopt.m4: Add comments.
82520 2009-08-12  Bruno Haible  <bruno@clisp.org>
82522         Disable multithread support by default on Cygwin 1.5.x.
82523         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
82524         set gl_use_threads=no if not specified otherwise.
82526 2009-08-11  Bruno Haible  <bruno@clisp.org>
82528         Avoid compilation error on NetBSD 5.0.
82529         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
82530         * tests/test-stdio.c: Likewise.
82531         * tests/test-stdlib.c: Likewise.
82532         * tests/test-string.c: Likewise.
82533         * tests/test-unistd.c: Likewise.
82534         Reported by Greg Troxel <gdt@ir.bbn.com>
82535         at <https://savannah.gnu.org/support/?106973>.
82537 2009-08-11  Bruno Haible  <bruno@clisp.org>
82539         * modules/dup2-tests (Depends-on): Remove close.
82541         Undo 2009-07-19 commit.
82542         * modules/acl-tests (Depends-on): Remove close.
82543         * modules/binary-io-tests (Depends-on): Likewise.
82544         * modules/closein-tests (Depends-on): Likewise.
82545         * modules/flock-tests (Depends-on): Likewise.
82546         * modules/fsync-tests (Depends-on): Likewise.
82547         * modules/lseek-tests (Depends-on): Likewise.
82548         * modules/pipe-tests (Depends-on): Likewise.
82549         * modules/posix_spawn-tests (Depends-on): Likewise.
82550         * modules/posix_spawnp-tests (Depends-on): Likewise.
82551         * modules/stat-time-tests (Depends-on): Likewise.
82552         * modules/yesno-tests (Depends-on): Likewise.
82554 2009-08-10  Bruno Haible  <bruno@clisp.org>
82556         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
82558 2009-08-10  Bruno Haible  <bruno@clisp.org>
82560         Fix a gcc warning.
82561         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
82563 2009-08-10  Bruno Haible  <bruno@clisp.org>
82565         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
82566         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
82567         not only the first time.
82568         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
82569         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
82570         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
82571         is 1, not only the first time.
82573 2009-08-10  Bruno Haible  <bruno@clisp.org>
82575         Make it possible to use module 'gethostname' without module 'close'.
82576         * lib/unistd.in.h (close): Evoke a link error only if
82577         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82579         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82580         * modules/unistd (Makefile.am): Substitute
82581         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82582         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
82583         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82584         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
82585         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82586         * modules/sys_ioctl (Makefile.am): Substitute
82587         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82588         * modules/socket (configure.ac): On native Windows, set
82589         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
82590         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82591         Reported by Sam Steingold <sds@gnu.org>.
82593 2009-08-10  Bruno Haible  <bruno@clisp.org>
82595         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
82596         * modules/ioctl (configure.ac): Likewise.
82598 2009-08-10  Bruno Haible  <bruno@clisp.org>
82600         Avoid collision between gnulib wrapper and libintl wrapper.
82601         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
82602         already defined in intl/printf.c.
82603         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
82604         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
82606 2009-08-09  Bruno Haible  <bruno@clisp.org>
82608         Make <sys/select.h> really self-contained, also on Solaris 10.
82609         * lib/sys_select.in.h: Include <string.h>.
82610         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
82611         Solaris 10 problem.
82612         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
82613         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
82614         Reported by Jim Meyering.
82616 2009-08-09  Bruno Haible  <bruno@clisp.org>
82618         Avoid warnings from 'aclocal' that are due to a use of macro name
82619         AM_XGETTEXT_OPTION that is not defined in automake.
82620         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
82621         automake.
82622         * modules/error (configure.ac): Likewise.
82623         * modules/propername (configure.ac): Likewise.
82624         * modules/vasprintf (configure.ac): Likewise.
82625         * modules/verror (configure.ac): Likewise.
82626         * modules/xprintf (configure.ac): Likewise.
82627         * modules/xvasprintf (configure.ac): Likewise.
82629 2009-08-08  Bruno Haible  <bruno@clisp.org>
82631         Avoid compilation error in C++ mode.
82632         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
82633         Reported by Sam Steingold <sds@gnu.org>.
82635 2009-08-08  Bruno Haible  <bruno@clisp.org>
82637         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
82638         for the various Unix platforms.
82639         * doc/posix-headers/limits.texi: Update platforms list regarding
82640         HOST_NAME_MAX.
82641         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82643 2009-08-07  Jim Meyering  <meyering@redhat.com>
82645         selinux-at: fix typo in a comment
82646         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
82647         Spotted by Paolo Bonzini.
82649         selinux-at: remove redundant m4 code, add documentation
82650         * modules/selinux-at (configure.ac): Remove redundant code.
82651         LIB_SELINUX is already set via the dependent module, selinux-h.
82652         (Include): Add quotes around selinux-at.h.
82653         * lib/selinux-at.h: Add documentation.
82654         Reported by Bruno Haible in
82655         http://marc.info/?l=gnulib-bug&m=124958988300749
82657 2009-08-07  Bruno Haible  <bruno@clisp.org>
82659         Avoid link error on MacOS X 10.3 and 10.4.
82660         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
82661         on non-ELF systems.
82662         * lib/argp-pv.c (argp_program_version): Likewise.
82663         Reported by Simon Josefsson.
82665 2009-08-07  Simon Josefsson  <simon@josefsson.org>
82667         * tests/test-version-etc.sh: Use $EXEEXT.
82669 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
82671         update-copyright: update documentation to point to maint.mk
82672         * build-aux/update-copyright: Here.
82674 2009-08-06  Jim Meyering  <meyering@redhat.com>
82676         maint.mk: support update-copyright-local
82677         * top/maint.mk (update-copyright-local): Define place-holder.
82678         (update-copyright): Depend on $(update-copyright-local).
82680 2009-08-06  Jim Meyering  <meyering@redhat.com>
82682         selinux-at: new module
82683         Initially written for coreutils, this module will soon be
82684         used by findutils, too.
82685         * MODULES.html.sh [Misc]: Add selinux-at.
82686         * lib/selinux-at.h: New file, from coreutils.
82687         * lib/selinux-at.c: Likewise.
82688         * modules/selinux-at: Likewise.
82689         (License): Change from LGPL to GPL, since it depends
82690         on the GPL'd openat module.
82692         doc: update README
82693         * README: Remove references to cogito.
82694         Remove cvs-repo-updating instructions from 2007.
82695         Don't imply that CVS is better if you have limited disk space.
82697 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82699         update-copyright: support C-style comments
82700         * build-aux/update-copyright: Implement and document.
82701         * tests/test-update-copyright.sh: Test.
82703 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82705         update-copyright: support omitted "(C)"
82706         * build-aux/update-copyright: Implement and document.  Also,
82707         allow variable whitespace before "(C)".
82708         * tests/test-update-copyright.sh: Test.
82710 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82712         update-copyright: don't trip on non-FSF copyright statements
82713         * build-aux/update-copyright: Fix so that the first correctly
82714         formatted FSF copyright statement is recognized no matter what
82715         appears before it.  Update documentation.
82716         * tests/test-update-copyright.sh: Test that.
82718 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82720         update-copyright: clean up code a little
82721         * build-aux/update-copyright: Append "_re" to the name of any
82722         variable holding a regular expression.
82723         Replace "old" and "new" with "stmt" in variable names.
82724         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
82725         handled correctly.
82726         Format code more consistently.
82728 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82730         update-copyright-tests: improve portability
82731         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
82732         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
82734 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82736         update-copyright: support @copyright{} and &copy;
82737         * build-aux/update-copyright: Implement and document.
82738         * tests/test-update-copyright.sh: Test.
82740 2009-08-04  Jim Meyering  <meyering@redhat.com>
82742         update-copyright-tests: correctly test EOL=\r\n handling
82743         * tests/test-update-copyright.sh: Put \r at the end of some lines
82744         for the dos-eol tests.  Based on a patch by Joel E. Denny.
82746         maint.mk: make update-copyright exclusion list more configurable
82747         * top/maint.mk (update-copyright): Default to excluding COPYING,
82748         but allow an override, in case someone does want to update that file.
82750         maint.mk: don't update copyright date in COPYING
82751         * top/maint.mk (update-copyright): Exclude COPYING.
82753         maint.mk: add a copyright-updating rule
82754         * top/maint.mk (update-copyright): New rule.
82755         Derived from coreutils/Makefile.am.
82757         update-copyright: rename some variables
82758         * build-aux/update-copyright: Rename a few variables for clarity.
82759         Tweak syntax.  List Joel E. Denny as coauthor.
82761 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82763         update-copyright: fix bug for 2-digit last year and add tests
82764         * build-aux/update-copyright: Fix bug.
82765         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
82766         specified.
82767         * modules/update-copyright-tests: New
82768         * tests/test-update-copyright.sh: New.
82770 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82772         update-copyright: handle leading tabs in line prefix
82773         * build-aux/update-copyright: Count leading tabs as 8 spaces
82774         when computing margin.  This helps with the formatting of
82775         ChangeLogs, for example.
82776         Fix documentation a little.
82778 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82780         update-copyright: support EOL=\r\n
82781         * build-aux/update-copyright: Implement that.
82783 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82785         update-copyright: automatically format copyright statements
82786         * build-aux/update-copyright: Implement that.
82787         Also, be a little more predictable and safer by always failing
82788         when the full copyright format is not perfectly recognized as an
82789         unbroken whole.  Discussed at
82790         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
82791         Rewrite documentation.
82793 2009-08-03  Bruno Haible  <bruno@clisp.org>
82795         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
82797 2009-08-02  Bruno Haible  <bruno@clisp.org>
82799         Tests for module 'uname'.
82800         * modules/uname-tests: New file.
82801         * tests/test-uname.c: New file.
82803         New module 'uname'.
82804         * lib/uname.c: New file.
82805         * m4/uname.m4: New file.
82806         * modules/uname: New file.
82807         * doc/posix-functions/uname.texi: Mention the new module.
82809 2009-08-02  Bruno Haible  <bruno@clisp.org>
82811         Tests for module 'sys_utsname'.
82812         * modules/sys_utsname-tests: New file.
82813         * tests/test-sys_utsname.c: New file.
82815         New module 'sys_utsname'.
82816         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
82817         * m4/sys_utsname_h.m4: New file.
82818         * modules/sys_utsname: New file.
82819         * doc/posix-headers/sys_utsname.texi: Mention the new module.
82821 2009-08-02  Bruno Haible  <bruno@clisp.org>
82823         Implicitly initialize the sockets library.
82824         * lib/gethostname.c: Include sockets.h.
82825         (rpl_gethostname): Invoke gl_sockets_startup.
82826         * lib/socket.c: Include sockets.h.
82827         (rpl_socket): Invoke gl_sockets_startup.
82828         * modules/gethostname (Depends-on): Add sockets.
82829         * modules/socket (Depends-on): Likewise.
82830         * tests/test-poll.c: Don't include sockets.h.
82831         (main): Don't invoke gl_sockets_startup.
82832         * tests/test-select.c: Don't include sockets.h.
82833         (main): Don't invoke gl_sockets_startup.
82835 2009-08-02  Bruno Haible  <bruno@clisp.org>
82837         Allow multiple calls to gl_sockets_startup.
82838         * lib/sockets.c (initialized_sockets_version): New variable.
82839         (gl_sockets_startup): Do nothing if already called for this or a higher
82840         version.
82841         (gl_sockets_cleanup): Reset initialized_sockets_version.
82843 2009-08-03  Simon Josefsson  <simon@josefsson.org>
82845         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
82846         different project/version.
82848 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
82849             Bruno Haible  <bruno@clisp.org>
82851         Tests for module 'pipe-filter-gi'.
82852         * modules/pipe-filter-gi-tests: New file.
82853         * tests/test-pipe-filter-gi1.sh: New file.
82854         * tests/test-pipe-filter-gi1.c: New file.
82855         * tests/test-pipe-filter-gi2.sh: New file.
82856         * tests/test-pipe-filter-gi2-main.c: New file.
82857         * tests/test-pipe-filter-gi2-child.c: New file.
82859         New module 'pipe-filter-gi'.
82860         * lib/pipe-filter-gi.c: New file.
82861         * modules/pipe-filter-gi: New file.
82863 2009-08-02  Bruno Haible  <bruno@clisp.org>
82864             Paolo Bonzini  <bonzini@gnu.org>
82866         Tests for module 'pipe-filter-ii'.
82867         * modules/pipe-filter-ii-tests: New file.
82868         * tests/test-pipe-filter-ii1.sh: New file.
82869         * tests/test-pipe-filter-ii1.c: New file.
82870         * tests/test-pipe-filter-ii2.sh: New file.
82871         * tests/test-pipe-filter-ii2-main.c: New file.
82872         * tests/test-pipe-filter-ii2-child.c: New file.
82874         New module 'pipe-filter-ii'.
82875         * lib/pipe-filter.h: New file.
82876         * lib/pipe-filter-ii.c: New file.
82877         * lib/pipe-filter-aux.h: New file.
82878         * modules/pipe-filter-ii: New file.
82880 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82882         * lib/gc-libgcrypt.c: Change copyright to FSF.
82883         * lib/gc-gnulib.c: Likewise.
82885 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
82887         * lib/gethostname.c: Include limits.h.
82889 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82890             Bruno Haible  <bruno@clisp.org>
82892         Ensure HOST_NAME_MAX as part of the gethostname module.
82893         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
82894         define also HOST_NAME_MAX.
82895         * tests/test-gethostname.c: Include <limits.h>.
82896         (main): Check also HOST_NAME_MAX.
82897         * doc/posix-headers/limits.texi: Document the mingw problem.
82899 2009-08-02  Bruno Haible  <bruno@clisp.org>
82901         * lib/gethostname.c (gethostname): Fix handling of large len argument.
82902         Add comments.
82904 2009-03-31  Simon Josefsson  <simon@josefsson.org>
82906         * lib/gethostname.c: Add Windows wrapper.
82907         * m4/gethostname.m4: Look for gethostname in -lws2_32.
82908         * modules/gethostname: Depend on sys_socket & errno, for also
82909         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
82910         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
82912 2009-07-31  Jim Meyering  <meyering@redhat.com>
82914         getloadavg: fix symbol name in comment
82915         * lib/getloadavg.c: Correct a typo I introduced when adding
82916         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
82917         Matt Kraai spotted the problem.
82919 2009-07-29  Matt Kraai  <mkraai@beckman.com>
82921         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
82922         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
82923         code also if ! defined N_NAME_POINTER.
82924         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
82925         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
82926         but the n_name member is a 12-byte array.
82928 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
82930         update-copyright: generalize comment handling
82931         * build-aux/update-copyright: Handle copyright statements
82932         within more comment styles.
82933         Document usage.
82934         Report any file with an external copyright holder or parse failure.
82936 2009-07-29  Jim Meyering  <meyering@redhat.com>
82938         mktime: correct setting of REPLACE_MKTIME
82939         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
82941         update-copyright: new module
82942         * modules/update-copyright: New file.
82943         * build-aux/update-copyright: New file.
82944         * MODULES.html.sh (maint+release support): Add update-copyright.
82946 2009-07-27  Bruno Haible  <bruno@clisp.org>
82948         Fix compilation error when <ctime> is used and mktime is replaced.
82949         * lib/time.in.h (mktime): New declaration.
82950         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
82951         REPLACE_MKTIME instead of defining mktime in config.h.
82952         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
82953         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
82954         Reported by Ross McFarland <rwmcfa1@neces.com>.
82956 2009-07-27  Bruno Haible  <bruno@clisp.org>
82958         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
82959         Reported by Matt Kraai <mkraai@beckman.com>.
82961 2009-07-25  Jim Meyering  <meyering@redhat.com>
82963         maint.mk: avoid warnings about missing files
82964         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
82965         diagnostic when .prev-version does not exist.
82966         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
82967         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
82968         nonexistent cfg.mk.
82969         Suggestions from Simon Josefsson.
82971 2009-07-25  Bruno Haible  <bruno@clisp.org>
82973         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
82974         defined as macros. Needed on QNX 6.4.1.
82975         Reported by Matt Kraai <mkraai@beckman.com>.
82977 2009-07-23  Jim Meyering  <meyering@redhat.com>
82979         maint.mk: invoke "make dist" with a working value of XZ_OPT
82980         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
82982 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
82984         Make fseeko.c compile on QNX.
82985         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
82987 2009-07-22  Peter Simons  <simons@cryp.to>
82989         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
82990         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
82991         * lib/md4.h: Likewise.
82992         * lib/md5.h: Likewise.
82993         * lib/sha1.h: Likewise.
82994         * lib/sha256.h: Likewise.
82995         * lib/sha512.h: Likewise.
82997         tests-sha1: don't assign literal string to 'char *' variable
82998         * tests/test-sha1.c (main): Declare locals with "const" to match
82999         attributes of the right hand side.
83001 2009-07-21  Eric Blake  <ebb9@byu.net>
83003         dup2: fix more mingw problems
83004         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
83005         fd to itself.
83006         * doc/posix-functions/dup2.texi (dup2): Document the bug.
83007         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
83008         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
83009         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
83010         care of mingw bugs.
83012 2009-07-21  Jim Meyering  <meyering@redhat.com>
83014         vc-list-files: avoid failure when /bin/sh is dash
83015         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
83016         On some Debian based systems, /bin/sh is a symlink to dash, and running
83017         this command would omit the "/" following each 'tests' prefix:
83018           dash -x build-aux/vc-list-files -C . tests
83019         That is because bash and dash work differently:
83020           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
83021           bash ok
83022           dash odd
83024 2009-07-21  Eric Blake  <ebb9@byu.net>
83026         dup2-tests: test previous patch
83027         * modules/dup2-tests: New file.
83028         * tests/test-dup2.c: Likewise.
83029         * tests/test-open.c (main): Avoid unspecified behavior.
83030         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
83031         test.
83033         dup2: work around mingw and cygwin 1.5 bug
83034         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
83035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
83036         * modules/unistd (Makefile.am): Substitute it.
83037         * lib/unistd.in.h (dup2): Declare the replacement.
83038         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
83039         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
83040         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
83041         * modules/execute (Depends-on): Add dup2.
83042         * modules/fseterr (Depends-on): Likewise.
83043         * modules/pipe (Depends-on): Likewise.
83044         * modules/posix_spawn-internal (Depends-on): Likewise.
83046 2009-07-21  Bruno Haible  <bruno@clisp.org>
83048         * modules/.gitattributes: New file.
83050 2009-07-20  Bruno Haible  <bruno@clisp.org>
83052         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
83053         (main): Use it.
83055 2009-07-20  Eric Blake  <ebb9@byu.net>
83057         test-pipe: make a bit more robust.
83058         * tests/test-pipe.c (myerr): Allow error messages regardless of
83059         what we do to stderr.
83060         (test_pipe): Rearrange to avoid deadlock.
83061         (child_main): Try a larger read, to ensure we avoided deadlock.
83062         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
83063         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
83064         if misused.
83066 2009-07-19  Jim Meyering  <meyering@redhat.com>
83068         fts: avoid false-positive cycle-detection
83069         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
83070         for each new command line argument.
83072 2009-07-19  Bruno Haible  <bruno@clisp.org>
83074         Fix build error on mingw with the modules sys_select and unistd.
83075         * modules/acl-tests (Depends-on): Add close.
83076         * modules/binary-io-tests (Depends-on): Likewise.
83077         * modules/closein-tests (Depends-on): Likewise.
83078         * modules/flock-tests (Depends-on): Likewise.
83079         * modules/fsync-tests (Depends-on): Likewise.
83080         * modules/lseek-tests (Depends-on): Likewise.
83081         * modules/pipe-tests (Depends-on): Likewise.
83082         * modules/posix_spawn-tests (Depends-on): Likewise.
83083         * modules/posix_spawnp-tests (Depends-on): Likewise.
83084         * modules/stat-time-tests (Depends-on): Likewise.
83085         * modules/yesno-tests (Depends-on): Likewise.
83087 2009-07-19  Bruno Haible  <bruno@clisp.org>
83089         Unify conditionals.
83090         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
83091         macros, not at the compiler macros.
83092         * lib/pipe.c: Likewise.
83093         * lib/execute.c: Likewise.
83094         * lib/spawni.c: Likewise.
83096 2009-07-19  Bruno Haible  <bruno@clisp.org>
83098         Fix handling of closed stdin/stdout/stderr on mingw.
83099         * lib/w32spawn.h: Include unistd.h.
83100         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
83101         file descriptor with O_NOINHERIT flag.
83102         (fd_safer_noinherit): New function, based on fd-safer.c.
83103         (dup_safer_noinherit): New function, based on dup-safer.c.
83104         (undup_safer_noinherit): New function.
83105         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
83106         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
83107         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
83108         instead of fd_safer.
83109         * tests/test-pipe.c: Include <windows.h>.
83110         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
83111         result.
83113         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
83114         from main.
83115         (test_pipe): Pass an extra argument for disambiguation.
83116         (main): Invoke parent_main or child_main.
83118         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
83119         consistently.
83121 2009-07-18  Eric Blake  <ebb9@byu.net>
83123         test-pipe: fix mingw build
83124         * tests/test-pipe.c (main): Avoid fcntl on mingw.
83126 2009-07-18  Bruno Haible  <bruno@clisp.org>
83128         * modules/pipe-tests (Makefile.am): Fix typo.
83130 2009-07-18  Eric Blake  <ebb9@byu.net>
83132         error: fix mingw build
83133         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
83134         Reported by Bruno Haible.
83136         error: avoid undefined use of stdout
83137         * lib/error.c (error, error_at_line): Check that fd 1 is open
83138         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
83139         is handling faults and the close_stdout module wants to report the
83140         detection of closed stdout as an error.
83142 2009-07-17  Eric Blake  <ebb9@byu.net>
83144         pipe: be robust in face of closed fds
83145         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
83146         should cause child to misbehave.
83147         * modules/pipe-tests: New module.
83148         * tests/test-pipe.c: New file.
83149         * tests/test-pipe.sh: New file.
83150         Reported by Akim Demaille.
83152 2009-07-14  Bruno Haible  <bruno@clisp.org>
83154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
83155         Reported by anonymous kc.
83157 2009-07-07  Jim Meyering  <meyering@redhat.com>
83159         maint.mk: don't look for translatable strings in *.m4 or *.mk
83160         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
83161         when searching for translatable strings.
83163 2009-07-05  Jim Meyering  <meyering@redhat.com>
83165         remove superfluous parentheses in STREQ definition
83166         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
83167         * lib/getugroups.c (STREQ): Likewise.
83168         * lib/fnmatch.c (STREQ): Likewise.
83169         Spotted by Bruno Haible.
83171 2009-07-04  Jim Meyering  <meyering@redhat.com>
83173         argv-iter: new module
83174         * MODULES.html.sh: Add argv-iter.
83175         * lib/argv-iter.c, lib/argv-iter.h: New files.
83176         * modules/argv-iter: New file.
83177         * modules/argv-iter-tests: New file.
83178         * tests/test-argv-iter.c: Test it.
83180 2009-07-04  Bruno Haible  <bruno@clisp.org>
83182         Fix assertion.
83183         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
83184         contains more exact copies of a given entry than file2, leave the extra
83185         copies unpaired rather than aborting.
83186         Reported by Eric Blake.
83188 2009-07-02  Bruno Haible  <bruno@clisp.org>
83190         Speedup git-merge-changelog for git cherry-pick.
83191         * lib/git-merge-changelog.c (struct entries_mapping): New type.
83192         (entries_mapping_get): New function, extracted from compute_mapping.
83193         (entries_mapping_reverse_get): New function.
83194         (compute_mapping): Add a 'full' argument. Return the result in a
83195         'struct entries_mapping'.
83196         (main): Update. Access the mappings through entries_mapping_get.
83197         Reported by Eric Blake.
83199 2009-07-02  Bruno Haible  <bruno@clisp.org>
83201         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
83202         best_i.
83204 2009-07-02  Bruno Haible  <bruno@clisp.org>
83206         Speed up approximate search for matching ChangeLog entries.
83207         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
83208         argument. Call fstrcmp_bounded instead of fstrcmp.
83209         (compute_mapping, try_split_merged_entry, main): Update callers.
83211 2009-07-02  Bruno Haible  <bruno@clisp.org>
83213         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
83215 2009-06-30  Bruno Haible  <bruno@clisp.org>
83217         Reduce the number of uc_is_cased calls.
83218         * lib/unicase.h (casing_suffix_context_t): Add
83219         'first_char_except_ignorable' field.
83220         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
83221         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
83222         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
83223         Update initializer.
83224         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
83225         case-ignorable characters.
83226         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
83227         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
83228         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
83229         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
83230         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
83232 2009-06-30  Bruno Haible  <bruno@clisp.org>
83234         Tests for module 'unicase/ignorable'.
83235         * modules/unicase/ignorable-tests: New file.
83236         * tests/unicase/test-ignorable.c: New file, generated by
83237         gen-uni-tables.
83239         Tests for module 'unicase/cased'.
83240         * modules/unicase/cased-tests: New file.
83241         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
83242         * tests/unicase/test-predicate-part1.h: New file, derived from
83243         tests/unictype/test-predicate-part1.h.
83244         * tests/unicase/test-predicate-part2.h: New file, same as
83245         tests/unictype/test-predicate-part2.h.
83247         Fix evaluation of "Before C" condition of FINAL_SIGMA.
83248         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
83249         (output_casing_properties): New function.
83250         (main): Call it.
83251         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
83252         * lib/unicase/cased.c: Include unictype/bitmap.h.
83253         (uc_is_cased): Define through a bitmap lookup.
83254         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
83255         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
83256         (uc_is_case_ignorable): Define through a bitmap lookup.
83257         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
83258         lib/unictype/bitmap.h.
83259         (Depends-on): Add inline. Clean up.
83260         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
83261         lib/unictype/bitmap.h.
83262         (Depends-on): Add inline. Clean up.
83263         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
83264         recognition.
83265         * tests/unicase/test-u16-tolower.c (main): Likewise.
83266         * tests/unicase/test-u32-tolower.c (main): Likewise.
83268 2009-06-30  Bruno Haible  <bruno@clisp.org>
83270         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
83271         * lib/unicase/u16-casemap.c: Likewise.
83272         * lib/unicase/u32-casemap.c: Likewise.
83274 2009-06-29  Bruno Haible  <bruno@clisp.org>
83276         Define u32_casefold as a wrapper around u32_ct_casefold.
83277         * lib/unicase/u32-casefold.c: Update.
83278         * modules/unicase/u32-casefold (Depends-on): Add
83279         unicase/u32-ct-casefold, unicase/empty-prefix-context,
83280         unicase/empty-suffix-context. Clean up.
83282         Define u16_casefold as a wrapper around u16_ct_casefold.
83283         * lib/unicase/u16-casefold.c: Update.
83284         * modules/unicase/u16-casefold (Depends-on): Add
83285         unicase/u16-ct-casefold, unicase/empty-prefix-context,
83286         unicase/empty-suffix-context. Clean up.
83288         Define u8_casefold as a wrapper around u8_ct_casefold.
83289         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
83290         * lib/unicase/u8-casefold.c: Update.
83291         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
83292         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83294         Define u32_totitle as a wrapper around u32_ct_totitle.
83295         * lib/unicase/u32-totitle.c: Update.
83296         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
83297         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83299         Define u16_totitle as a wrapper around u16_ct_totitle.
83300         * lib/unicase/u16-totitle.c: Update.
83301         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
83302         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83304         Define u8_totitle as a wrapper around u8_ct_totitle.
83305         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
83306         functions.
83307         (FUNC): Delegate to U_CT_TOTITLE.
83308         * lib/unicase/u8-totitle.c: Update.
83309         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
83310         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83312         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
83313         invocation.
83314         * modules/unicase/u32-tolower (Depends-on): Add
83315         unicase/empty-prefix-context, unicase/empty-suffix-context.
83317         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
83318         invocation.
83319         * modules/unicase/u16-tolower (Depends-on): Add
83320         unicase/empty-prefix-context, unicase/empty-suffix-context.
83322         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
83323         * modules/unicase/u8-tolower (Depends-on): Add
83324         unicase/empty-prefix-context, unicase/empty-suffix-context.
83326         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
83327         invocation.
83328         * modules/unicase/u32-toupper (Depends-on): Add
83329         unicase/empty-prefix-context, unicase/empty-suffix-context.
83331         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
83332         invocation.
83333         * modules/unicase/u16-toupper (Depends-on): Add
83334         unicase/empty-prefix-context, unicase/empty-suffix-context.
83336         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
83337         * modules/unicase/u8-toupper (Depends-on): Add
83338         unicase/empty-prefix-context, unicase/empty-suffix-context.
83340         New module 'unicase/u32-ct-casefold'.
83341         * lib/unicase/u32-ct-casefold.c: New file.
83342         * modules/unicase/u32-ct-casefold: New file.
83344         New module 'unicase/u16-ct-casefold'.
83345         * lib/unicase/u16-ct-casefold.c: New file.
83346         * modules/unicase/u16-ct-casefold: New file.
83348         New module 'unicase/u8-ct-casefold'.
83349         * lib/unicase/u8-ct-casefold.c: New file.
83350         * lib/unicase/u-ct-casefold.h: New file, derived from
83351         lib/unicase/u-casefold.h.
83352         * modules/unicase/u8-ct-casefold: New file.
83354         New module 'unicase/u32-ct-totitle'.
83355         * lib/unicase/u32-ct-totitle.c: New file.
83356         * modules/unicase/u32-ct-totitle: New file.
83358         New module 'unicase/u16-ct-totitle'.
83359         * lib/unicase/u16-ct-totitle.c: New file.
83360         * modules/unicase/u16-ct-totitle: New file.
83362         New module 'unicase/u8-ct-totitle'.
83363         * lib/unicase/u8-ct-totitle.c: New file.
83364         * lib/unicase/u-ct-totitle.h: New file, derived from
83365         lib/unicase/u-totitle.h.
83366         * modules/unicase/u8-ct-totitle: New file.
83368         New module 'unicase/u32-ct-tolower'.
83369         * lib/unicase/u32-ct-tolower.c: New file.
83370         * modules/unicase/u32-ct-tolower: New file.
83372         New module 'unicase/u16-ct-tolower'.
83373         * lib/unicase/u16-ct-tolower.c: New file.
83374         * modules/unicase/u16-ct-tolower: New file.
83376         New module 'unicase/u8-ct-tolower'.
83377         * lib/unicase/u8-ct-tolower.c: New file.
83378         * modules/unicase/u8-ct-tolower: New file.
83380         New module 'unicase/u32-ct-toupper'.
83381         * lib/unicase/u32-ct-toupper.c: New file.
83382         * modules/unicase/u32-ct-toupper: New file.
83384         New module 'unicase/u16-ct-toupper'.
83385         * lib/unicase/u16-ct-toupper.c: New file.
83386         * modules/unicase/u16-ct-toupper: New file.
83388         New module 'unicase/u8-ct-toupper'.
83389         * lib/unicase/u8-ct-toupper.c: New file.
83390         * modules/unicase/u8-ct-toupper: New file.
83392         Add context arguments to u*_casemap functions.
83393         * lib/unicase/unicasemap.h: Include unicase.h.
83394         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
83395         suffix_context arguments.
83396         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
83397         functions.
83398         (FUNC): Add prefix_context and suffix_context arguments. Use
83399         uc_is_cased and uc_is_case_ignorable.
83400         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
83401         * lib/unicase/u16-casemap.c: Likewise.
83402         * lib/unicase/u32-casemap.c: Likewise.
83403         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
83404         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83405         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
83406         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83407         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
83408         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83410         New module 'unicase/u32-suffix-context'.
83411         * lib/unicase/u32-suffix-context.c: New file.
83412         * modules/unicase/u32-suffix-context: New file.
83414         New module 'unicase/u16-suffix-context'.
83415         * lib/unicase/u16-suffix-context.c: New file.
83416         * modules/unicase/u16-suffix-context: New file.
83418         New module 'unicase/u8-suffix-context'.
83419         * lib/unicase/u8-suffix-context.c: New file.
83420         * lib/unicase/u-suffix-context.h: New file.
83421         * modules/unicase/u8-suffix-context: New file.
83423         New module 'unicase/empty-suffix-context'.
83424         * lib/unicase/empty-suffix-context.c: New file.
83425         * modules/unicase/empty-suffix-context: New file.
83427         New module 'unicase/u32-prefix-context'.
83428         * lib/unicase/u32-prefix-context.c: New file.
83429         * modules/unicase/u32-prefix-context: New file.
83431         New module 'unicase/u16-prefix-context'.
83432         * lib/unicase/u16-prefix-context.c: New file.
83433         * modules/unicase/u16-prefix-context: New file.
83435         New module 'unicase/u8-prefix-context'.
83436         * lib/unicase/u8-prefix-context.c: New file.
83437         * lib/unicase/u-prefix-context.h: New file.
83438         * lib/unicase/context.h: New file.
83439         * modules/unicase/u8-prefix-context: New file.
83441         New module 'unicase/empty-prefix-context'.
83442         * lib/unicase/empty-prefix-context.c: New file.
83443         * modules/unicase/empty-prefix-context: New file.
83445         New module 'unicase/ignorable'.
83446         * lib/unicase/ignorable.c: New file.
83447         * modules/unicase/ignorable: New file.
83449         New module 'unicase/cased'.
83450         * lib/unicase/caseprop.h: New file.
83451         * lib/unicase/cased.c: New file.
83452         * modules/unicase/cased: New file.
83454         New functions for case mapping of substrings.
83455         * lib/unicase.h (casing_prefix_context_t): New type.
83456         (unicase_empty_prefix_context): New variable.
83457         (u8_casing_prefix_context, u16_casing_prefix_context,
83458         u32_casing_prefix_context, u8_casing_prefixes_context,
83459         u16_casing_prefixes_context, u32_casing_prefixes_context): New
83460         declarations.
83461         (casing_suffix_context_t): New type.
83462         (unicase_empty_suffix_context): New variable.
83463         (u8_casing_suffix_context, u16_casing_suffix_context,
83464         u32_casing_suffix_context, u8_casing_suffixes_context,
83465         u16_casing_suffixes_context, u32_casing_suffixes_context,
83466         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
83467         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
83468         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
83469         declarations.
83471 2009-06-28  Jim Meyering  <meyering@redhat.com>
83473         boostrap: indent only with spaces
83474         * build-aux/bootstrap: Indent only with spaces, never TABs.
83476         bootstrap: split long lines
83477         * build-aux/bootstrap: Keep line length < 80.
83479         bootstrap: sync from coreutils
83480         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
83481         just as autoreconf does.  Verify a list of prerequisite
83482         package-name,version-number pairs if defined in bootstrap.conf.
83483         Refer to README-prereq, if prerequisites are not satisfied.
83485 2009-06-27  Eric Blake  <ebb9@byu.net>
83487         tests: add test for bogus NULL definition
83488         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
83489         * tests/test-stdlib.c: Likewise.
83490         * tests/test-string.c: Likewise.
83491         * tests/test-locale.c: Likewise.
83492         * tests/test-unistd.c: Likewise.
83493         * modules/stdio-tests (Depends-on): Add verify.
83494         * modules/stdlib-tests (Depends-on): Likewise.
83495         * modules/string-tests (Depends-on): Likewise.
83496         * modules/locale-tests (Depends-on): Likewise.
83497         * modules/unistd-tests (Depends-on): Likewise.
83499 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
83501         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
83502         self-explaining comment.
83503         * m4/selinux-selinux-h: Update serial.
83504         (gl_LIBSELINUX): New macro, adding a warning for missing development
83505         packages to code extracted from...
83506         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
83507         Add warning for missing development packages here, too.
83509 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
83511         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
83513 2009-06-25  Eric Blake  <ebb9@byu.net>
83515         version-etc: fix regression
83516         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
83517         gcc.
83518         (version_etc): Use it, to catch bugs with trailing NULL.
83519         * lib/version-etc.c (version_etc_arn): Delete unused argument.
83520         (version_etc_va): Fix logic bug.
83521         * modules/version-etc-tests: Add test.
83522         * tests/test-version-etc.c: New file.
83523         * tests/test-version-etc.sh: Likewise.
83525 2009-06-25  Sam Steingold  <sds@gnu.org>
83527         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
83528         mbtowc declaration.
83530 2009-06-25  Eric Blake  <ebb9@byu.net>
83532         fpurge: migrate into <stdio.h>
83533         * lib/fpurge.h: Delete...
83534         * lib/stdio.in.h (fpurge): ...and declare here, instead.
83535         * lib/fpurge.c (fpurge): Change declaring header.
83536         * modules/fpurge (Files): Drop deleted file.
83537         (Depends-on): Add stdio.
83538         (configure.ac): Set witness.
83539         * modules/stdio (Makefile.am): Support fpurge macros.
83540         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83541         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
83542         * lib/fflush.c: Update client.
83543         * tests/test-fpurge.c: Likewise.
83544         * NEWS: Mention the change.
83546 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83548         * lib/argp-version-etc.c (program_authors): Add const
83549         qualifier.
83550         * lib/version-etc.c: Fix typos in the comments.
83551         * modules/argp-version-etc: Depends on version-etc.
83553 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83555         argp-version-etc: new module.
83557         * lib/argp-version-etc.c: New file.
83558         * lib/argp-version-etc.h: New file.
83559         * modules/argp-version-etc: New file.
83560         * modules/argp-version-etc-tests: New file.
83561         * tests/test-argp-version-etc.c: New test.
83562         * tests/test-argp-version-etc-1.sh: New test.
83564 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83566         Provide additional interfaces and documentation for version-etc
83567         module.
83569         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
83570         interfaces.
83571         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
83572         prototypes.
83574 2009-06-24  Bruno Haible  <bruno@clisp.org>
83576         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
83577         HAVE_LIB${NAME} macro.
83578         Reported by Sam Steingold <sds@gnu.org>.
83580 2009-06-23  Simon Josefsson  <simon@josefsson.org>
83582         * modules/hash-tests (test_hash_LDADD): Link to libintl when
83583         needed.
83585 2009-06-21  Bruno Haible  <bruno@clisp.org>
83587         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
83588         work.
83589         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
83590         together with LIB${NAME}, LTLIB${NAME}.
83591         Reported by Sam Steingold <sds@gnu.org>.
83593 2009-06-20  Jim Meyering  <meyering@redhat.com>
83595         tests: make sc_require_test_exit_idiom more generic
83596         * top/maint.mk (Exit_witness_file): New overridable variable.
83597         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
83598         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
83600 2009-06-19  Jim Meyering  <meyering@redhat.com>
83602         hash: reverse order of src/dst parameters in an internal interface
83603         * lib/hash.c (transfer_entries): Reverse order of parameters to
83604         put DST before SRC.  Adjust callers.
83606         tests: test-hash: avoid wholesale duplication
83607         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
83608         Instead, use a loop and add a single conditional.
83610         tests: test-hash: allow seed selection via a command line argument
83611         * tests/test-hash.c (get_seed): New function.
83612         (main): Use it.
83614 2009-06-19  Eric Blake  <ebb9@byu.net>
83616         hash: avoid memory leak on allocation failure
83617         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
83618         failure.  Factor repeated algorithm...
83619         (transfer_entries): ...into new helper routine.
83620         (hash_delete): React to hash_rehash return value.
83622         hash: reduce memory pressure in hash_rehash no-op case
83623         * lib/hash.c (next_prime): Avoid overflow.
83624         (hash_initialize): Factor bucket size computation...
83625         (compute_bucket_size): ...into new helper function.
83626         (hash_rehash): Use new function and open coding to reduce memory
83627         pressure, and avoid a memory leak in USE_OBSTACK code.
83628         Reported by Jim Meyering.
83630 2009-06-18  Eric Blake  <ebb9@byu.net>
83632         hash: make rotation more obvious
83633         * modules/hash (Depends-on): Add bitrotate and stdint.
83634         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
83635         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
83636         (SIZE_MAX): Rely on headers for definition.
83637         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
83638         (raw_hasher): Use rotr_sz.
83639         Suggested by Jim Meyering.
83641         hash: fix memory leak in last patch
83642         * lib/hash.c (hash_rehash): Avoid memory leak.
83644         hash: avoid no-op rehashing
83645         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
83647         hash: provide default callback functions
83648         * lib/hash.c (raw_hasher, raw_comparator): New functions.
83649         (hash_initialize): Use them as defaults.
83650         * tests/test-hash.c (main): Test this.
83652         hash: minor optimization
83653         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
83654         when possible.
83655         (hash_initialize): Document this promise.
83656         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
83657         * tests/test-hash.c (hash_compare_strings): Test this.
83659 2009-06-18  Bruno Haible  <bruno@clisp.org>
83661         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
83662         going to be replaced anyway.
83664 2009-06-18  Bruno Haible  <bruno@clisp.org>
83666         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
83667         in one place.
83668         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
83669         be replaced anyway.
83671 2009-06-18  Eric Blake  <ebb9@byu.net>
83673         hash: check for resize before insertion
83674         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
83675         threshold before insertion, so that a pathological hash_rehash
83676         that fills every bucket can still trigger another rehash.
83678 2009-06-18  Jim Meyering  <meyering@redhat.com>
83680         hash-tests: add a loop around the small tests
83681         * tests/test-hash.c (main): Repeat small tests with selected
83682         small initial table sizes.
83684 2009-06-17  Eric Blake  <ebb9@byu.net>
83686         hash: minor cleanups
83687         * lib/hash.h (hash_entry): Make opaque, by moving...
83688         * lib/hash.c (hash_entry): ...here.
83689         (hash_insert): Clarify restrictions on what can be inserted.
83690         (hash_get_next): Clarify when it is safe to remove an element
83691         during traversal.
83692         (check_tuning): Skip verification when tuning is known safe.
83693         (hash_initialize): Clarify restrictions on tuning.
83695 2009-06-17  Jim Meyering  <jim@meyering.net>
83696         and Eric Blake  <ebb9@byu.net>
83698         hash-tests: new module
83699         * modules/hash-tests: New file.
83700         * tests/test-hash.c: New file.
83702 2009-06-17  Eric Blake  <ebb9@byu.net>
83704         strstr-simple: document new module
83705         * MODULES.html.sh: Document new module.
83707         strstr, strcasestr: replace on platforms with broken memchr
83708         * modules/strstr: Split into...
83709         * modules/strstr-simple: ...new module that does not care about
83710         performance, but does care about glibc bug.
83711         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
83712         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
83713         if platform memchr is broken, per Debian bug 521737.
83714         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
83715         memchr.
83716         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
83717         * doc/posix-functions/strstr.texi (strstr): Document the fix.
83718         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
83719         * modules/mountlist (Depends-on): Add strstr-simple.
83720         * modules/gen-uni-tables (Depends-on): Likewise.
83721         * modules/argz (Depends-on): Add strstr.
83723 2009-06-17  Bruno Haible  <bruno@clisp.org>
83725         * modules/posix_spawn-internal (Depends-on): Add errno.
83727 2009-06-17  Bruno Haible  <bruno@clisp.org>
83729         Define missing ESTALE on Interix 3.5.
83730         * lib/errno.in.h (ESTALE): Assign a value if missing.
83731         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
83732         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
83733         missing.
83734         * doc/posix-headers/errno.texi: Mention the Interix bug.
83735         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
83737 2009-06-15  Eric Blake  <ebb9@byu.net>
83739         memchr, memchr2: add valgrind exception
83740         * lib/memchr.valgrind: New file.
83741         * lib/memchr2.valgrind: New file.
83742         * modules/memchr (Files): Distribute valgrind file.
83743         * modules/memchr2 (Files): Likewise.
83745         docs: memchr is no longer obsolete
83746         * MODULES.html.sh: Move memchr from obsolete to string.h section.
83747         * lib/string.in.h (memchr): Simplify logic.
83749 2009-06-14  Jim Meyering  <meyering@redhat.com>
83751         link-follow: fix the "checking..." message to not mention trailing slash
83752         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
83753         never considered trailing slashes.
83755 2009-06-14  Bruno Haible  <bruno@clisp.org>
83757         * m4/memchr.m4: Mention also the bug on IA-64.
83758         * doc/posix-functions/memchr.texi: Likewise.
83760 2009-06-12  Eric Blake  <ebb9@byu.net>
83762         memchr: detect broken x86_64 and alpha implementations
83763         * modules/memchr-tests (Depends-on): Move mmap detection...
83764         * modules/memchr (Depends-on): ...here.
83765         (configure.ac): Set indicator.
83766         * lib/string.in.h (memchr): Declare replacement.
83767         * modules/string (Makefile.am): Trigger replacement.
83768         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
83769         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
83770         bugs.
83771         * doc/posix-functions/memchr.texi (memchr): Document the bug.
83772         * modules/getpagesize (License): Relax license.
83774 2009-06-11  Bruno Haible  <bruno@clisp.org>
83776         * lib/idpriv.h: Add more references.
83778 2009-06-08  Bruno Haible  <bruno@clisp.org>
83780         Tests for module 'idpriv-droptemp'.
83781         * modules/idpriv-droptemp-tests: New file.
83782         * tests/test-idpriv-droptemp.sh: New file.
83783         * tests/test-idpriv-droptemp.su.sh: New file.
83784         * tests/test-idpriv-droptemp.c: New file.
83786         New module 'idpriv-droptemp'.
83787         * lib/idpriv-droptemp.c: New file.
83788         * modules/idpriv-droptemp: New file.
83790 2009-06-08  Bruno Haible  <bruno@clisp.org>
83792         Tests for module 'idpriv-drop'.
83793         * modules/idpriv-drop-tests: New file.
83794         * tests/test-idpriv-drop.sh: New file.
83795         * tests/test-idpriv-drop.su.sh: New file.
83796         * tests/test-idpriv-drop.c: New file.
83798         New module 'idpriv-drop'.
83799         * lib/idpriv.h: New file.
83800         * lib-idpriv-drop.c: New file.
83801         * m4/idpriv.m4: New file.
83802         * modules/idpriv-drop: New file.
83804 2009-06-08  Bruno Haible  <bruno@clisp.org>
83806         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
83807         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
83808         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
83809         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
83810         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
83811         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
83812         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
83814 2009-06-08  Eric Blake  <ebb9@byu.net>
83816         test-strstr: use memory fence, when possible
83817         * tests/test-strstr.c (main): Use memory fence, in order to be
83818         more likely to trigger Debian bug 521737.
83819         * modules/strstr-tests (Files): Pull in additional files.
83821         memchr: no longer obsolete, for wider field testing
83822         * modules/memchr (Status, Notice): Delete, this module is no
83823         longer obsolete.
83824         * modules/vasnprintf (Depends-on): Add memchr.
83826 2009-06-07  Jim Meyering  <meyering@redhat.com>
83828         hash: declare some functions with the warn_unused_result attribute
83829         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
83831 2009-06-07  Bruno Haible  <bruno@clisp.org>
83833         * tests/test-alignof.c: Don't test int64_t if it does not exist.
83834         Reported by Eric Blake.
83836 2009-06-06  Eric Blake  <ebb9@byu.net>
83838         test-alignof: fix typo with long double
83839         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
83840         compiler error.
83842 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
83844         Escape non-texinfo { and }s.
83845         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
83846         markup error.
83848 2009-06-04  Jim Meyering  <meyering@redhat.com>
83850         gitlog-to-changelog: don't infloop on an empty commit log
83851         * build-aux/gitlog-to-changelog: Warn about an empty log message.
83852         Reported by Boris Petersen <transacid@centerim.org>.
83854 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
83856         version-etc: extend for packagers
83857         Add three new configure options, intended for packagers:
83858           --with-packager="packager name"
83859           --with-packager-version="packager-specific version"
83860           --with-packager-bug-reports="packager bug reporting"
83861         An example with coreutils:
83862           $ ./configure \
83863             --with-packager=Gentoo \
83864             --with-packager-bug-report=http://bugs.gentoo.org/ \
83865             --with-packager-version="patchset 1.6"
83866           $ ./src/ls --version | head -n2
83867           ls (GNU coreutils) 7.1-dirty
83868           Packaged by Gentoo (patchset 1.6)
83869         Note that the bug reporting info via --help doesn't show up because
83870         coreutils uses its own custom emit_bug_reporting_address() implementation
83871         in src/system.h.  If it didn't, it'd look like:
83872           $ ./src/ls --help | tail -n4
83873           Report bugs to <bug-coreutils@gnu.org>.
83874           Report Gentoo bugs to <http://bugs.gentoo.org/>.
83875           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
83876           General help using GNU software: <http://www.gnu.org/gethelp/>.
83877         * lib/version-etc.c: Print new information, if provided.
83878         * m4/version-etc.m4: New file.
83879         * modules/version-etc (Files): Add m4/version-etc.m4.
83880         (configure.ac): Add gl_VERSION_ETC.
83882 2009-05-31  Bruno Haible  <bruno@clisp.org>
83884         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
83885         and 'int64_t'.
83886         * modules/alignof-tests (Dependencies): Add stdint.
83887         Reported by Eric Blake.
83889 2009-05-31  Bruno Haible  <bruno@clisp.org>
83891         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
83892         restriction due to compiler bugs.
83893         Reported by Eric Blake.
83895 2009-05-31  Simon Josefsson  <simon@josefsson.org>
83896             Bruno Haible  <bruno@clisp.org>
83898         Fix test-alignof failure.
83899         * lib/alignof.h (alignof_slot): New macro.
83900         (alignof_type): New macro, with the same semantics as the previous
83901         'alignof'.
83902         (alignof): Alias to alignof_slot.
83903         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
83904         check that the results are usable as constant expressions.
83906 2009-05-31  Bruno Haible  <bruno@clisp.org>
83908         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
83909         * tests/test-memchr.c (main): Check that memchr does not read past the
83910         first occurrence of the byte.
83911         * tests/test-strstr.c (main): Update comment.
83912         Suggested by Eric Blake.
83914 2009-05-30  Bruno Haible  <bruno@clisp.org>
83916         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
83917         detail how to use dumpbin.
83918         Reported by David Byron <dbyron@dbyron.com>.
83920 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83922         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
83924 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83926         * m4/manywarnings.m4: Add GCC 4.4 warnings.
83928 2009-05-28  Bruno Haible  <bruno@clisp.org>
83930         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
83931         build-aux/ files.
83933 2009-05-28  Simon Josefsson  <simon@josefsson.org>
83935         * gnulib-tool (func_import): Transform license on build-aux/ files too.
83937 2009-05-27  Simon Josefsson  <simon@josefsson.org>
83939         * gnulib-tool (sed_transform_main_lib_file)
83940         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
83941         regexps.
83943 2009-05-26  Simon Josefsson  <simon@josefsson.org>
83945         * tests/test-strstr.c: Add another self-test.
83946         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
83947         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
83949 2009-05-23  Bruno Haible  <bruno@clisp.org>
83951         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
83952         change.
83954 2009-05-21  Bruno Haible  <bruno@clisp.org>
83956         Simplify use of mode_t varargs.
83957         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
83958         uses 'mode_t' or 'int'.
83959         * lib/openat.c (openat): Likewise.
83960         * lib/open-safer.c (open_safer): Likewise.
83961         * m4/mode_t.m4: New file.
83962         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
83963         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
83964         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
83965         * modules/open (Files): Add m4/mode_t.m4.
83966         * modules/openat (Files): Likewise.
83967         * modules/fcntl-safer (Files): Likewise.
83968         Suggested by Eric Blake.
83970 2009-05-21  Pádraig Brady  <P@draigbrady.com>
83972         * doc/glibc-functions/fallocate.texi: New file.
83973         * doc/gnulib.texi: Include it.
83975 2009-05-21  Eric Blake  <ebb9@byu.net>
83976             Bruno Haible  <bruno@clisp.org>
83978         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
83979         invocations.
83980         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
83982 2009-05-21  Eric Blake  <ebb9@byu.net>
83983             Bruno Haible  <bruno@clisp.org>
83985         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
83986         include_next. Fix of 2008-11-20 commit.
83987         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
83988         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
83989         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
83990         NEXT_MATH_H.
83991         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
83992         instead of NEXT_MATH_H.
83994 2009-05-21  Bruno Haible  <bruno@clisp.org>
83996         Avoid redefinition warnings for SIZE_MAX.
83997         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
83998         Reported by Simon Josefsson.
84000 2009-05-21  Bruno Haible  <bruno@clisp.org>
84002         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
84003         AC_CACHE_VAL.
84005 2009-05-20  Bruno Haible  <bruno@clisp.org>
84007         Make zeroptr.h work on mingw.
84008         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
84009         mprotect.
84010         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
84011         * modules/memchr2-tests (configure.ac): Likewise.
84012         * modules/memcmp-tests (configure.ac): Likewise.
84013         * modules/memmem-tests (configure.ac): Likewise.
84014         * modules/memrchr-tests (configure.ac): Likewise.
84015         Reported by Simon Josefsson.
84017 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84019         * tests/test-glob.c: Include string.h for strcmp prototype.
84021 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84023         * modules/getdelim (Depends-on): Add explicit stdint, although it
84024         was implicitly already pulled in via realloc-posix.
84025         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
84027 2009-05-20  Simon Josefsson  <simon@josefsson.org>
84029         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
84030         G. Christensen" <tgc@jupiterrise.com>.
84031         * m4/sys_socket_h.m4: Check for sa_family_t.
84032         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
84033         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
84034         * tests/test-sys_socket.c: Check that sa_family_t works.
84036 2009-05-18  Eric Blake  <ebb9@byu.net>
84038         maint.mk: allow gnulib_dir in VPATH build
84039         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
84041 2009-05-15  Jim Meyering  <meyering@redhat.com>
84043         maint.mk: Give gnulib_dir a default definition.
84044         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
84045         Thus, most packages no longer need to specify this variable in cfg.mk
84047 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
84049         rename.m4: fix typos that would make non-mingw cross-configure fail
84050         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
84052 2009-05-13  Eric Blake  <ebb9@byu.net>
84054         mmap-anon: avoid out-of-order autoconf expansion
84055         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
84056         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
84057         * modules/memchr-tests (Depends-on): Add extensions.
84058         * modules/memchr2-tests (Depends-on): Add extensions.
84059         * modules/memcmp-tests (Depends-on): Add extensions.
84060         * modules/memmem-tests (Depends-on): Add extensions.
84061         * modules/memrchr-tests (Depends-on): Add extensions.
84063 2009-05-13  Bruno Haible  <bruno@clisp.org>
84065         Make some tests ISO C 99 compliant.
84066         * tests/zerosize-ptr.h: New file.
84067         * tests/test-memchr.c: Include zerosize-ptr.h.
84068         (main): Use a zero-size object pointer instead of NULL.
84069         * tests/test-memchr2.c: Include zerosize-ptr.h.
84070         (main): Use a zero-size object pointer instead of NULL.
84071         * tests/test-memcmp.c: Include zerosize-ptr.h.
84072         (main): Use a zero-size object pointer instead of NULL.
84073         * tests/test-memmem.c: Include zerosize-ptr.h.
84074         (main): Use a zero-size object pointer instead of NULL.
84075         * tests/test-memrchr.c: Include zerosize-ptr.h.
84076         (main): Use a zero-size object pointer instead of NULL.
84077         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
84078         m4/mmap-anon.m4.
84079         (Depends-on): Add getpagesize.
84080         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84081         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
84082         m4/mmap-anon.m4.
84083         (Depends-on): Add getpagesize.
84084         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84085         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
84086         m4/mmap-anon.m4.
84087         (Depends-on): Add getpagesize.
84088         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84089         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
84090         m4/mmap-anon.m4.
84091         (Depends-on): Add getpagesize.
84092         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84093         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
84094         m4/mmap-anon.m4.
84095         (Depends-on): Add getpagesize.
84096         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
84098 2009-05-12  Bruno Haible  <bruno@clisp.org>
84100         Tests for module 'alignof'.
84101         * modules/alignof-tests: New file.
84102         * tests/test-alignof.c: New file.
84104 2009-05-12  Bruno Haible  <bruno@clisp.org>
84106         Fix alignof macro.
84107         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
84108         vendor compilers that are always correct.
84110 2009-05-12  Bruno Haible  <bruno@clisp.org>
84112         Make the MAP_ANONYMOUS detection work on HP-UX 11.
84113         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
84114         not whether its fully works.
84116 2009-05-12  Bruno Haible  <bruno@clisp.org>
84118         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
84120 2009-05-12  Jim Meyering  <meyering@redhat.com>
84122         * top/maint.mk: Adjust backslash alignment.
84124 2009-05-11  Simon Josefsson  <simon@josefsson.org>
84126         * top/maint.mk: Make $(srcdir)/build-aux configurable.
84128 2009-05-11  Eric Blake  <ebb9@byu.net>
84130         argp: avoid undefined behavior
84131         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
84132         macros.
84134 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84136         * tests/test-vc-list-files-git.sh: Do git config of user.email and
84137         user.name to prevent git commit from complaining.
84139 2009-05-10  Bruno Haible  <bruno@clisp.org>
84141         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
84142         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
84143         it rewrites every file name only once.
84144         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
84146 2009-05-08  Bruno Haible  <bruno@clisp.org>
84148         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
84149         instead of 'max'.
84151 2009-05-08  Simon Josefsson  <simon@josefsson.org>
84153         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
84154         sockaddr_storage test.
84156 2009-05-07  Simon Josefsson  <simon@josefsson.org>
84158         * modules/sys_socket (Makefile.am): Substitute
84159         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
84160         * m4/sys_socket_h.m4: Check for sockaddr_storage.
84161         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
84162         * tests/test-sys_socket.c: Check sockaddr_storage.
84164 2009-05-08  Bruno Haible  <bruno@clisp.org>
84166         New module 'alignof'.
84167         * lib/alignof.h: New file.
84168         * modules/alignof: New file.
84170 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84171             Bruno Haible  <bruno@clisp.org>
84173         Fix test-file-has-acl on FreeBSD.
84174         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
84175         mask is implicitly added.
84176         * tests/test-file-has-acl.c: Include <signal.h>.
84177         (main): Terminate the test after 5 seconds.
84178         * modules/acl-tests (configure.ac): Check for alarm function.
84180 2009-05-04  Bruno Haible  <bruno@clisp.org>
84182         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
84183         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
84184         * modules/errno (configure.ac): Drop AC_REQUIRE.
84185         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
84186         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
84188 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84190         * modules/glob-tests: New module.
84191         * tests/test-glob.c: Add.
84193 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84195         * modules/fnmatch-tests: New module.
84196         * tests/test-fnmatch.c: Add.
84198 2009-05-04  Eric Blake  <ebb9@byu.net>
84200         maint: make the new no-submodule-changes rule VPATH-safe
84201         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
84203 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84204             Bruno Haible  <bruno@clisp.org>
84206         acl: Fix infinite loop on FreeBSD.
84207         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
84208         of return value from acl_get_entry.
84209         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
84210         Likewise.
84212 2009-05-03  Bruno Haible  <bruno@clisp.org>
84214         * lib/acl-internal.h (acl_entries): Clarify return value.
84215         * lib/acl_entries.c (acl_entries): Likewise.
84217 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84219         Bug fix in acl module.
84220         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
84222 2009-05-03  Bruno Haible  <bruno@clisp.org>
84224         Create gperf-generated file in the source dir, not in the build dir.
84225         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
84226         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
84227         * modules/unicase/locale-language (unicase/locale-languages.h):
84228         Likewise.
84229         * modules/unicase/special-casing (unicase/special-casing-table.h):
84230         Likewise.
84231         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
84232         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
84233         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
84234         Reported by Ralf Wildenhues.
84236 2009-05-03  Bruno Haible  <bruno@clisp.org>
84238         * modules/fnmatch (Description, configure.ac): Taken from
84239         fnmatch-posix.
84240         * modules/fnmatch-posix: Turn into a symbolic reference to the
84241         'fnmatch' module, and deprecate.
84242         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
84244 2009-05-03  Bruno Haible  <bruno@clisp.org>
84246         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
84247         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
84248         Reported by Ralf Wildenhues.
84250 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84252         * m4/fnmatch.m4: Fix fnmatch re-define.
84254 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84256         priv-set: new module and tests; adapt write-any-file
84257         * lib/priv-set.c: New file.
84258         * lib/priv-set.h: New file.
84259         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
84260         * lib/write-any-file.c: Simplify by using priv-set module.
84261         * m4/priv-set.m4: New file.
84262         * modules/priv-set: New file.
84263         * modules/unlinkdir: Add dependency on priv-set module.
84264         * modules/write-any-file: Likewise.
84266         Tests for module 'priv-set'.
84267         * modules/priv-set-tests: New file.
84268         * tests/test-priv-set.c: New file.
84270 2009-05-03  Jim Meyering  <meyering@redhat.com>
84271             Bruno Haible  <bruno@clisp.org>
84273         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
84274         use the converted UTF-8 variant of the name instead.
84276 2009-05-03  Jim Meyering  <meyering@redhat.com>
84278         tests: tighten some getdate tests
84279         * tests/test-getdate.c (main): Tighten tests: require equality,
84280         not just greater than.  Set TZ envvar to UTC0.
84282 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
84284         getdate: correctly interpret "next monday" when run on a Monday
84285         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
84286         that e.g., "next tues" (when run on a tuesday) results in a date
84287         that is one week in the future, and not today's date.
84288         I.e., add a week when the wday is the same as the current one.
84289         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
84290         and earlier by Martin Bernreuther and Jan Minář.
84291         * tests/test-getdate.c (main): Check that "next DAY" is always in
84292         the future and that "last DAY" is always in the past.
84294 2009-05-02  Jim Meyering  <meyering@redhat.com>
84296         build: ensure that a release build fails when a submodule is unclean
84297         * top/maint.mk (no-submodule-changes): New rule.
84298         (alpha beta major): Depend on it.
84300 2009-05-02  Bruno Haible  <bruno@clisp.org>
84302         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
84303         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
84304         shell variable gl_fnmatch_required to detect which variant is
84305         requested.
84306         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
84307         gl_FUNC_FNMATCH_POSIX.
84308         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
84309         exclude fnmatch-posix.
84311 2009-05-02  Bruno Haible  <bruno@clisp.org>
84313         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
84314         * modules/mbsrtowcs (License): Change to LGPLv2+.
84315         * modules/strnlen1 (License): Likewise.
84316         Reported by Simon Josefsson.
84318 2009-05-02  Bruno Haible  <bruno@clisp.org>
84320         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
84321         "cross".
84322         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
84323         gnulib-tool was called with option --source-base=lib.
84325 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84327         Use automake *-local hooks without commands, for extensibility.
84328         * modules/localcharset (Makefile.am): Rename install-exec-local
84329         rule to install-exec-localcharset, and make it a prerequisite of
84330         install-exec-local.  Likewise, rename the uninstall-local rule to
84331         uninstall-localcharset, and make it a prerequisite of the former.
84333 2009-05-01  Bruno Haible  <bruno@clisp.org>
84335         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
84336         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84337         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
84338         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
84339         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
84340         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84341         m4/locale-zh.m4, m4/codeset.m4.
84343         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84344         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
84345         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84346         m4/locale-zh.m4.
84348         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
84349         REPLACE_WCRTOMB if mbstate_t must be replaced.
84350         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
84351         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
84353 2009-05-01  Bruno Haible  <bruno@clisp.org>
84355         Avoid compiler warnings when redefining macros defined by <libintl.h>.
84356         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
84357         dngettext, dcngettext, textdomain, bindtextdomain,
84358         bind_textdomain_codeset): Undefine before redefining.
84360 2009-04-30  Bruno Haible  <bruno@clisp.org>
84362         Fix bug introduced on 2009-04-25.
84363         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
84364         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
84365         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
84366         is defined.
84367         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
84368         is defined.
84369         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
84370         is defined.
84371         Reported by Elbert_Pol <elbert.pol@gmail.com>.
84373 2009-04-28  Bruno Haible  <bruno@clisp.org>
84375         Comment tweaks.
84376         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
84377         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
84378         * lib/unicase.h (u*_casexfrm): Likewise.
84379         Reported by Paolo Bonzini.
84381 2009-04-28  Bruno Haible  <bruno@clisp.org>
84383         Fix a compilation error.
84384         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
84385         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
84386         Reported by Jim Meyering.
84388 2009-04-27  Bruno Haible  <bruno@clisp.org>
84390         New module 'libunistring'.
84391         * modules/libunistring: New file.
84392         * m4/libunistring.m4: New file.
84393         * MODULES.html.sh (Unicode string functions): Add it.
84395 2009-04-27  Eric Blake  <ebb9@byu.net>
84397         maint.mk: allow package-specific header to provide <config.h>
84398         * top/maint.mk (sc_require_config_h): New variable.
84399         (sc_require_config_h, sc_require_config_h_first): Use it.
84401 2009-04-27  Simon Josefsson  <simon@josefsson.org>
84403         * top/maint.mk (sc_avoid_if_before_free): Except
84404         useless-if-before-free script.
84406 2009-04-27  Eric Blake  <ebb9@byu.net>
84408         maintainer-makefile: depend on all required helper scripts
84409         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
84410         useless-if-before-free.
84411         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
84412         version, rather than assuming gnulib checkout is available.
84413         Reported by Simen Josefsson.
84415 2009-04-26  Bruno Haible  <bruno@clisp.org>
84417         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
84418         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
84419         "../" or "..".
84421 2009-04-26  Bruno Haible  <bruno@clisp.org>
84423         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
84424         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
84425         AC_LIB_HAVE_LINKFLAGS.
84427 2009-04-26  Bruno Haible  <bruno@clisp.org>
84429         Simplify calling convention of u*_conv_from_encoding.
84430         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
84431         u32_conv_from_encoding): Expect a resultbuf argument and return the
84432         result directly as a pointer.
84433         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
84434         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
84435         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
84436         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
84437         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
84438         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84439         Update.
84440         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
84441         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
84442         * lib/vasnprintf.c (VASNPRINTF): Update.
84443         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
84444         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
84445         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
84446         * NEWS: Mention the change.
84448 2009-04-26  Bruno Haible  <bruno@clisp.org>
84450         Simplify calling convention of u*_conv_to_encoding.
84451         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
84452         u32_conv_to_encoding): Expect a resultbuf argument and return the
84453         result directly as a pointer.
84454         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84455         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
84456         freeing scaled_offsets if mem_iconveha failed.
84457         * lib/unicase/u-casexfrm.h (FUNC): Update.
84458         * lib/uninorm/u-normxfrm.h (FUNC): Update.
84459         * lib/vasnprintf.c (VASNPRINTF): Update.
84460         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
84461         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
84462         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
84463         * NEWS: Mention the change.
84465 2009-04-26  Bruno Haible  <bruno@clisp.org>
84467         Avoid test failures on AIX and OSF/1.
84468         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
84469         malloc(0).
84470         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84471         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84472         Likewise.
84473         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
84474         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
84475         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
84476         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
84477         * doc/posix-functions/malloc.texi: Document the portability problem
84478         related to malloc(0).
84480 2009-04-26  Bruno Haible  <bruno@clisp.org>
84482         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
84483         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
84484         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
84486 2009-04-25  Bruno Haible  <bruno@clisp.org>
84488         Avoid link error when creating a namespace clean library.
84489         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
84490         as macro with arguments if already defined as an alias.
84491         * lib/signbitf.c (gl_signbitf): Don't undefine.
84492         * lib/signbitd.c (gl_signbitd): Don't undefine.
84493         * lib/signbitl.c (gl_signbitl): Don't undefine.
84495 2009-04-25  Jim Meyering  <meyering@redhat.com>
84497         vc-list-files: fix another quoting bug
84498         * build-aux/vc-list-files: Avoid sed backslash expansion
84499         of pathological directory names.
84501 2009-04-25  Eric Blake  <ebb9@byu.net>
84503         vc-list-files: fix shell quoting error
84504         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
84505         timestamp.
84507 2009-04-25  Jim Meyering  <meyering@redhat.com>
84509         vc-list-files: restore lost functionality with subdir argument
84510         * build-aux/vc-list-files: When given a non-"." sub-directory
84511         argument, substitute the $dir/ prefix back onto each resulting name.
84512         Otherwise, coreutils' root_tests check would fail.
84514 2009-04-24  Eric Blake  <ebb9@byu.net>
84516         vc-list-files: ignore git symlinks
84517         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
84518         than ls-files, to ignore git symlinks.
84520         maint.mk: import improvements from m4
84521         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
84522         (move_if_change): Delete unused macro.
84523         (news-date-check, vc-diff-check): Support VPATH builds.
84524         (announcement): Likewise.  Split --bootstrap-tools list...
84525         (boostrap-tools): ...into separate list, which can be overridden
84526         in cfg.mk.
84527         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
84528         requiring dependency on useless-if-before-free module.
84529         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
84530         Support VPATH builds.
84532 2009-04-24  Jim Meyering  <meyering@redhat.com>
84534         maint.mk: remove coreutils-specific rules and variables
84535         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
84536         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
84537         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
84539         maint.mk: remove obsolete rule
84540         * top/maint.mk (rel-check): Remove rule.
84541         (WGET, WGETFLAGS): Remove now-unused variables.
84543 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84545         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
84546         consistency.
84548         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
84549         '$(PATH_SEPARATOR)' instead of ':'.
84551 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84553         * lib/getopt1.c (main): Use 'const' for static array.
84555 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84557         * top/maint.mk: Sync with coreutils.
84558         * NEWS: Explain incompatibilities.
84560 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84561             Bruno Haible  <bruno@clisp.org>
84563         Fix cross-compilation results.
84564         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
84565         statement, as third argument of AC_TRY_RUN.
84566         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
84567         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
84568         Likewise.
84569         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
84570         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
84571         Likewise.
84572         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
84573         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
84574         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
84576 2009-04-20  Bruno Haible  <bruno@clisp.org>
84578         Avoid test failure on mingw.
84579         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
84581 2009-04-20  Bruno Haible  <bruno@clisp.org>
84583         Avoid compilation error on mingw.
84584         * modules/localename-tests (Depends-on): Add locale.
84586 2009-04-19  Bruno Haible  <bruno@clisp.org>
84588         Support for building a shared library on Windows platforms.
84589         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
84590         (main): Test the presence of UNINORM_NFC here.
84591         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
84592         (main): Test the presence of UNINORM_NFD here.
84593         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
84594         (main): Test the presence of UNINORM_NFKC here.
84595         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
84596         (main): Test the presence of UNINORM_NFKD here.
84598 2009-04-19  Bruno Haible  <bruno@clisp.org>
84600         Avoid a compiler warning.
84601         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
84602         Change type of variable 'sequence'.
84604 2009-04-19  Bruno Haible  <bruno@clisp.org>
84606         * modules/configmake (Makefile.am): When the contents of configmake.h
84607         does not change, arrange to preserve its modification time.
84609 2009-04-17  Simon Josefsson  <simon@josefsson.org>
84611         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
84612         gettext domain.
84614 2009-04-16  Jim Meyering  <meyering@redhat.com>
84616         useless-if-before-free: improve conversion code
84617         * build-aux/useless-if-before-free: Adjust code-in-comment to match
84618         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
84620 2009-04-14  Bruno Haible  <bruno@clisp.org>
84622         * modules/fcntl (Depends-on): Add extensions.
84623         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
84625 2009-04-12  Ben Pfaff  <blp@gnu.org>
84627         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
84628         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
84630 2009-03-20  Ben Pfaff  <blp@gnu.org>
84632         Make rename replace existing destinations on Windows.
84633         * m4/rename.m4: Add test for Mingw.
84634         * lib/rename.c: Add rename replacement that uses MoveFileEx with
84635         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
84636         * doc/posix-functions/rename.texi: Document.
84638 2009-04-10  Bruno Haible  <bruno@clisp.org>
84640         New include file "iconveh.h".
84641         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
84642         * lib/striconveh.h: Include it.
84643         (enum iconv_ilseq_handler): Remove definition.
84644         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
84645         striconveh.h.
84646         * lib/striconveha.c: Include striconveh.h.
84647         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
84648         * modules/striconveh (Files): Add lib/iconveh.h.
84649         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
84650         lib/striconveh.h.
84652 2009-04-10  Bruno Haible  <bruno@clisp.org>
84654         * lib/uniconv.h: Update comment.
84656 2009-04-10  Bruno Haible  <bruno@clisp.org>
84658         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
84659         always.
84660         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84661         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84662         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84663         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
84664         "unistring-notinline.h", so that the function gets defined always.
84665         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84666         * lib/unistr/u8-uctomb.c: Likewise.
84667         * lib/unistr/u16-mbtouc.c: Likewise.
84668         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84669         * lib/unistr/u16-uctomb.c: Likewise.
84670         * lib/unistr/u32-mbtouc.c: Likewise.
84671         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84672         * lib/unistr/u32-uctomb.c: Likewise.
84674 2009-04-10  Bruno Haible  <bruno@clisp.org>
84676         Mark 'utime' obsolete.
84677         * modules/utime (Status, Notice): New sections.
84678         Suggested by Jim Meyering.
84680         Fix cross-compile guess for utime test.
84681         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
84682         autoconf.
84683         * doc/posix-functions/utime.texi: Give more precisions.
84684         Reported by Jan <ipif@ymail.com>.
84686 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
84688         filevercmp: correct today's change
84689         * lib/filevercmp.c: Also handle coreutils' test inputs.
84690         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
84692         Fix regression in 'filevercmp' module. Thanks Sven Joachim
84693         for reporting it.
84694         * lib/filevercmp.c: Special handle for "", "." and "..".
84695         * tests/test-filevercmp.c: Enlarge the set suite.
84697 2009-04-07  Jim Meyering  <meyering@redhat.com>
84699         useless-if-before-free: show how to remove braced useless free, too
84700         * build-aux/useless-if-before-free: still only in a comment, though.
84702 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
84704         maint.mk: import changes to syntax-check macros from coreutils
84705         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
84706         Use them in the relevant macros.
84708 2009-04-06  Bruno Haible  <bruno@clisp.org>
84710         Fix unportable use of bit-fields.
84711         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
84712         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
84713         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
84715 2009-04-06  Bruno Haible  <bruno@clisp.org>
84717         Avoid test failures on AIX and OSF/1.
84718         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
84719         that malloc(0) = NULL.
84720         * tests/unicase/test-u8-tolower.c (check): Likewise.
84721         * tests/unicase/test-u8-totitle.c (check): Likewise.
84722         * tests/unicase/test-u8-toupper.c (check): Likewise.
84723         * tests/unicase/test-u16-casefold.c (check): Likewise.
84724         * tests/unicase/test-u16-tolower.c (check): Likewise.
84725         * tests/unicase/test-u16-totitle.c (check): Likewise.
84726         * tests/unicase/test-u16-toupper.c (check): Likewise.
84727         * tests/unicase/test-u32-casefold.c (check): Likewise.
84728         * tests/unicase/test-u32-tolower.c (check): Likewise.
84729         * tests/unicase/test-u32-totitle.c (check): Likewise.
84730         * tests/unicase/test-u32-toupper.c (check): Likewise.
84731         * tests/uninorm/test-u8-nfc.c (check): Likewise.
84732         * tests/uninorm/test-u8-nfd.c (check): Likewise.
84733         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
84734         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
84735         * tests/uninorm/test-u16-nfc.c (check): Likewise.
84736         * tests/uninorm/test-u16-nfd.c (check): Likewise.
84737         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
84738         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
84739         * tests/uninorm/test-u32-nfc.c (check): Likewise.
84740         * tests/uninorm/test-u32-nfd.c (check): Likewise.
84741         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
84742         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
84744 2009-04-05  Bruno Haible  <bruno@clisp.org>
84746         Work around an autoconf limitation.
84747         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
84748         comment line if it would be longer than 3 KB.
84750 2009-04-05  Bruno Haible  <bruno@clisp.org>
84752         Avoid test failure with libiconv-1.13.
84753         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
84754         of the expected test results.
84756 2009-04-05  Bruno Haible  <bruno@clisp.org>
84758         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
84759         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
84760         that it should be installed.
84762 2009-04-05  Bruno Haible  <bruno@clisp.org>
84764         * gnulib-tool: New option --copy-file.
84765         (func_usage): Document it.
84766         (func_dest_tmpfilename): Moved out of func_import.
84767         (func_add_file, func_update_file): New functions, extracted from
84768         func_import.
84769         (func_import): Update.
84771 2009-04-05  Karl Berry  <karl@gnu.org>
84773         * README: prominently mention gnulib-tool.
84774         Rearrange sections so getting the code is near the top.
84776 2009-04-05  Bruno Haible  <bruno@clisp.org>
84778         * lib/unicase.h: Mention u*_cmp2.
84779         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84780         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
84781         * lib/unicase/ulc-casecmp.c: Likewise.
84782         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
84783         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
84784         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
84785         unistr/u8-cmp.
84786         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
84787         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
84788         unistr/u16-cmp.
84789         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
84790         unistr/u32-cmp.
84792         * lib/uninorm.h: Mention u*_cmp2.
84793         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84794         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
84795         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
84796         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
84797         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
84798         unistr/u8-cmp.
84799         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
84800         unistr/u16-cmp.
84801         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
84802         unistr/u32-cmp.
84804         New module 'unistr/u32-cmp2'.
84805         * lib/unistr/u32-cmp2.c: New file.
84806         * modules/unistr/u32-cmp2: New file.
84808         New module 'unistr/u16-cmp2'.
84809         * lib/unistr/u16-cmp2.c: New file.
84810         * modules/unistr/u16-cmp2: New file.
84812         New module 'unistr/u8-cmp2'.
84813         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
84814         * lib/unistr/u8-cmp2.c: New file.
84815         * lib/unistr/u-cmp2.h: New file.
84816         * modules/unistr/u8-cmp2: New file.
84818 2009-04-05  Bruno Haible  <bruno@clisp.org>
84820         * lib/unictype.h (uc_property_is_valid): New macro.
84821         * tests/unictype/test-pr_byname.c (main): Use it.
84823         * lib/unistr.h: Doc fixes.
84824         * lib/uniconv.h: Doc fixes.
84825         * lib/unictype.h: Doc fixes.
84827 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
84829         Port coreutils 7.2 to Solaris 8.
84831         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
84832         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
84833         for Solaris 8.  This is a bit of a hack, as it means it's the
84834         caller's responsibility to add -lnsl if needed, but most likely it
84835         won't be needed since only getaddrinfo uses this and getaddrinfo
84836         isn't needed on Solaris 8.
84838         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
84839         problem to Solaris 8 encountered with coreutils 7.2, which
84840         resulted in a message "fnmatch.c:292: warning: passing argument 4
84841         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
84842         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
84844 2009-04-03  Simon Josefsson  <simon@josefsson.org>
84846         * m4/ld-version-script.m4: Add FIXME comment.
84848 2009-04-02  Simon Josefsson  <simon@josefsson.org>
84850         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
84851         SOVERSION variable.
84853 2009-04-02  Bruno Haible  <bruno@clisp.org>
84855         * Makefile (info, html, dvi, pdf): Combine the rules.
84856         Suggested by Jim Meyering.
84858 2009-04-01  Bruno Haible  <bruno@clisp.org>
84860         * Makefile (info, html, dvi, pdf): New targets.
84861         Reported by Reuben Thomas <rrt@sc3d.org>.
84863 2009-04-01  Bruno Haible  <bruno@clisp.org>
84865         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
84866         can be put into PATH.
84867         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
84869 2009-04-01  Bruno Haible  <bruno@clisp.org>
84871         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
84873 2009-04-01  Bruno Haible  <bruno@clisp.org>
84875         Rename module 'visibility'.
84876         * modules/lib-symbol-visibility: Renamed from modules/visibility.
84877         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
84878         * doc/gnulib.texi: Update.
84879         * MODULES.html.sh (Misc): Update.
84880         * NEWS: Mention the change.
84882 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84884         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
84885         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
84886         Eric Blake <ebb9@byu.net> for review.
84887         * MODULES.html.sh: Add lib-msvc-compat.
84888         * doc/gnulib.texi: Link to new section.
84889         * m4/ld-output-def.m4: New file.
84890         * doc/ld-output-def.texi: New file.
84892 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84894         Rename ld-version-script to lib-symbol-versions.  Suggested by
84895         Bruno Haible <bruno@clisp.org>.
84896         * modules/ld-version-script: Renamed to lib-symbol-versions.
84897         * doc/ld-version-script.texi: Fix module name.
84898         * MODULES.html.sh: Add lib-symbol-versions.
84900 2009-03-31  Simon Josefsson  <simon@josefsson.org>
84902         * modules/u64-tests: New file.
84903         * tests/test-u64.c: New file.
84905 2009-03-04  Simon Josefsson  <simon@josefsson.org>
84907         * MODULES.html.sh: Mention u64.
84908         * modules/u64: New module.
84909         * modules/crypto/sha512: Depend on u64 module instead of providing
84910         u64.h.
84912 2009-03-27  Eric Blake  <ebb9@byu.net>
84914         test-strerror: make debugging EAI_SYSTEM easier
84915         * modules/getaddrinfo-tests (Depends-on): Add strerror.
84916         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
84917         failure was EAI_SYSTEM.
84919 2009-03-25  Bruno Haible  <bruno@clisp.org>
84921         Fix a problem with --enable-relocatable on Solaris 7.
84922         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
84923         since 2008-02-24.
84925 2009-03-25  Eric Blake  <ebb9@byu.net>
84927         test-sockets: avoid gcc warning
84928         * tests/test-sockets.c (main): Silence compiler warning.
84930 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
84932         New modules nproc, pthread, contributed by Glen Lenker.
84934         * MODULES.html.sh: Add pthread, nproc.
84935         * lib/nproc.c: New file.
84936         * lib/nproc.h: New file.
84937         * lib/pthread.in.h: New file.
84938         * m4/pthread.m4: New file.
84939         * modules/nproc: New file.
84940         * modules/pthread: New file.
84942 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84944         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
84945         New variable.
84947 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
84949         filevercmp: handle simple~ and numbered.~3~ backup suffixes
84950         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
84951         * tests/test-filevercmp.c: Add tests for backup suffixes.
84953 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84955         * modules/stdlib (Depends-on): Add stdint, needed when defining
84956         struct random_data on, for example, HP-UX 10.20.  Reported by
84957         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
84959 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84961         * lib/readline.c (readline): Call fflush on stdout after printing
84962         prompt.
84964 2009-03-20  Bruno Haible  <bruno@clisp.org>
84966         Remove dependency from 'close' module to -lws2_32 on native Windows.
84967         * lib/close-hook.h: New file.
84968         * lib/close-hook.c: New file.
84969         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
84970         w32sock.h.
84971         (_gl_close_fd_maybe_socket): Remove function.
84972         (rpl_close): Invoke execute_all_close_hooks instead of
84973         _gl_close_fd_maybe_socket.
84974         * lib/sockets.c: Include close-hook.h, w32sock.h.
84975         (close_fd_maybe_socket): New function, essentially from lib/close.c.
84976         (close_sockets_hook): New variable.
84977         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
84978         (gl_sockets_cleanup): Unregister it.
84979         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
84980         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
84981         * modules/close-hook: New file.
84982         * modules/close (Files): Remove lib/w32sock.h.
84983         (Depends-on): Add close-hook.
84984         (Link): Remove section.
84985         * modules/sockets (Files): Add lib/w32sock.h.
84986         (Depends-on): Add close-hook.
84987         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
84988         invocation.
84989         * NEWS: Mention that LIB_CLOSE is gone.
84991 2009-03-23  Eric Blake  <ebb9@byu.net>
84993         signal-tests: test previous patch
84994         * tests/test-signal.c: New file.
84995         * modules/signal-tests: Likewise.
84997         signal.h: always support 'volatile sig_atomic_t'
84998         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
84999         (gl_SIGNAL_H_DEFAULTS): Add a default.
85000         * modules/signal (Makefile.am): Substitute if needed.
85001         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
85002         users can blindly add volatile.
85003         * doc/posix-headers/signal.texi (signal.h): Document it.
85004         Reported by Matthew Woehlke.
85006 2009-03-23  Jim Meyering  <meyering@redhat.com>
85008         pathmax: PATH_MAX: use pathconf only when available
85009         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
85010         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
85011         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
85012         This avoids a link failure in a PSP cross-compilation environment
85013         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
85015         * lib/vasnprintf.c (divide): Fix typo in comment.
85017 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85019         * gnulib-tool (func_filter_filelist): Fix comment.
85021 2009-03-20  Bruno Haible  <bruno@clisp.org>
85023         Make sockets.h self-contained.
85024         * lib/sockets.c: Include sockets.h first.
85025         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
85027 2009-03-19  Eric Blake  <ebb9@byu.net>
85029         doc: mention more functions added in cygwin 1.7.0
85030         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
85031         addition.
85032         * doc/posix-functions/log2f.texi: Likewise.
85034 2009-03-19  Jim Meyering  <meyering@redhat.com>
85036         fsusage: avoid syntax error due to statement-before-declaration
85037         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
85038         after all declarations.  Reported by Matthew Woehlke in
85039         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
85041 2009-03-18  Eric Blake  <ebb9@byu.net>
85043         build-aux/compile: sync from automake
85044         * build-aux/compile: New file, from automake.
85045         * config/srclist.txt: Mention build-aux/compile.
85047 2009-03-17  Bruno Haible  <bruno@clisp.org>
85049         * lib/git-merge-changelog.c: Fix typo in comment.
85050         Reported by Reuben Thomas <rrt@sc3d.org>.
85052 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
85054         * m4/regex.m4: update and improve help for
85055         --without-included-regex.
85057 2009-03-17  Simon Josefsson  <simon@josefsson.org>
85059         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
85060         failure on missing include files.
85062 2009-03-17  Eric Blake  <ebb9@byu.net>
85064         doc: mention more functions added in cygwin 1.7.0
85065         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
85066         addition.
85067         * doc/posix-functions/fwscanf.texi: Likewise.
85068         * doc/posix-functions/swprintf.texi: Likewise.
85069         * doc/posix-functions/swscanf.texi: Likewise.
85070         * doc/posix-functions/vfwprintf.texi: Likewise.
85071         * doc/posix-functions/vfwscanf.texi: Likewise.
85072         * doc/posix-functions/vswprintf.texi: Likewise.
85073         * doc/posix-functions/vswscanf.texi: Likewise.
85074         * doc/posix-functions/vwprintf.texi: Likewise.
85075         * doc/posix-functions/vwscanf.texi: Likewise.
85076         * doc/posix-functions/wcscasecmp.texi: Likewise.
85077         * doc/posix-functions/wcsdup.texi: Likewise.
85078         * doc/posix-functions/wcsftime.texi: Likewise.
85079         * doc/posix-functions/wcsncasecmp.texi: Likewise.
85080         * doc/posix-functions/wprintf.texi: Likewise.
85081         * doc/posix-functions/wscanf.texi: Likewise.
85082         * doc/glibc-functions/gethostbyname2.texi: Likewise.
85084 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85086         maint.mk: really add $(AM_MAKEFLAGS)
85087         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
85088         was inadvertently omitted in the last commit.
85089         Spotted by Bruno Haible.
85091         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
85092         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
85093         $(AM_MAKEFLAGS)' rather than plain `make'.
85095         gnulib-tool: execute $MAKE not make
85096         * gnulib-tool: Default $MAKE to 'make'.
85097         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
85098         than make.  Initialize $MAKE in the do-autobuild script.
85100         gnulib-tool: use $MAKE not make in generated files
85101         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
85102         make, in generated files.  Initialize $MAKE in the do-autobuild
85103         script.
85105         * top/GNUmakefile (_have-git-version-gen): Fix typo.
85107         GNUmakefile: disable parallelism only for multiple, recursive targets
85108         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
85109         additions in the Makefile.
85110         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
85111         by Automake.
85112         (.NOTPARALLEL): Only disable parallel builds if multiple targets
85113         are listed on the command line and at least one of them is
85114         listed in $(ALL_RECURSIVE_TARGETS).
85116 2009-03-14  Bruno Haible  <bruno@clisp.org>
85118         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
85119         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
85120         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
85121         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
85122         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
85123         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
85124         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
85125         unistr/u8-uctomb.
85126         * modules/unistr/u8-strchr (Depends-on): Likewise.
85127         * modules/unistr/u8-strrchr (Depends-on): Likewise.
85128         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
85129         unistr/u16-uctomb.
85130         * modules/unistr/u16-strchr (Depends-on): Likewise.
85131         * modules/unistr/u16-strrchr (Depends-on): Likewise.
85133 2009-03-12  Bruno Haible  <bruno@clisp.org>
85135         Work around select() bug on Interix 3.5.
85136         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
85137         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
85138         * m4/select.m4: New file.
85139         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
85140         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
85141         * modules/select (Files): Add m4/select.m4.
85142         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
85143         * modules/nanosleep (Depends-on): Add select.
85144         * modules/poll (Depends-on): Likewise.
85145         * doc/posix-functions/select.texi: Mention the Interix bug.
85146         Reported by Markus Duft <mduft@gentoo.org>.
85148         * lib/select.c: Renamed from lib/winsock-select.c.
85149         * modules/select (Files): Add lib/select.c, remove
85150         lib/winsock-select.c.
85151         (configure.ac): Update.
85153 2009-03-12  Jim Meyering  <meyering@redhat.com>
85155         avoid gcc warnings about unused macro definitions
85156         * lib/readtokens.c (STREQ): Remove unused definition.
85157         * lib/xmalloc.c (SIZE_MAX): Likewise.
85158         * lib/openat-die.c (N_): Likewise.
85159         * lib/mountlist.c (SIZE_MAX): Remove definition.
85160         Instead, include <stdint.h>.
85161         * lib/readutmp.c: Likewise.
85162         * modules/readutmp (Depends-on): Add stdint.
85163         * modules/mountlist (Depends-on): Add stdint.
85164         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
85166 2009-03-10  Bruno Haible  <bruno@clisp.org>
85168         Tests for module 'mbmemcasecoll'.
85169         * modules/mbmemcasecoll-tests: New file.
85170         * tests/test-mbmemcasecoll1.sh: New file.
85171         * tests/test-mbmemcasecoll2.sh: New file.
85172         * tests/test-mbmemcasecoll3.sh: New file.
85173         * tests/test-mbmemcasecoll.c: New file.
85175         New module 'mbmemcasecoll'.
85176         * lib/mbmemcasecoll.h: New file.
85177         * lib/mbmemcasecoll.c: New file.
85178         * modules/mbmemcasecoll: New file.
85180         * tests/test-mbmemcasecmp.h: New file, extracted from
85181         tests/test-mbmemcasecmp.c.
85182         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
85183         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
85184         (main): Update.
85185         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
85187 2009-03-09  Bruno Haible  <bruno@clisp.org>
85189         Tests for module 'mbmemcasecmp'.
85190         * modules/mbmemcasecmp-tests: New file.
85191         * tests/test-mbmemcasecmp1.sh: New file.
85192         * tests/test-mbmemcasecmp2.sh: New file.
85193         * tests/test-mbmemcasecmp3.sh: New file.
85194         * tests/test-mbmemcasecmp.c: New file.
85196         New module 'mbmemcasecmp'.
85197         * lib/mbmemcasecmp.h: New file.
85198         * lib/mbmemcasecmp.c: New file.
85199         * modules/mbmemcasecmp: New file.
85201 2009-03-09  Bruno Haible  <bruno@clisp.org>
85203         Tests for module 'unicase/ulc-casecoll'.
85204         * modules/unicase/ulc-casecoll-tests: New file.
85205         * tests/unicase/test-ulc-casecoll1.sh: New file.
85206         * tests/unicase/test-ulc-casecoll2.sh: New file.
85207         * tests/unicase/test-ulc-casecoll.c: New file.
85209         New module 'unicase/ulc-casecoll'.
85210         * lib/unicase.h (ulc_casecoll): New declaration.
85211         * lib/unicase/ulc-casecoll.c: New file.
85212         * modules/unicase/ulc-casecoll: New file.
85214         New module 'unicase/ulc-casexfrm'.
85215         * lib/unicase.h (ulc_casexfrm): New declaration.
85216         * lib/unicase/ulc-casexfrm.c: New file.
85217         * modules/unicase/ulc-casexfrm: New file.
85219 2009-03-09  Bruno Haible  <bruno@clisp.org>
85221         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
85222         invocations.
85224         * m4/mbscasecmp.m4: Remove file.
85225         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
85226         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
85228         * m4/mbscasestr.m4: Remove file.
85229         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
85230         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
85232         * m4/mbschr.m4: Remove file.
85233         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
85234         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
85236         * m4/mbscspn.m4: Remove file.
85237         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
85238         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
85240         * m4/mbslen.m4: Remove file.
85241         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
85242         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
85244         * m4/mbsncasecmp.m4: Remove file.
85245         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
85246         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
85248         * m4/mbsnlen.m4: Remove file.
85249         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
85250         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
85252         * m4/mbspbrk.m4: Remove file.
85253         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
85254         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
85256         * m4/mbspcasecmp.m4: Remove file.
85257         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
85258         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
85260         * m4/mbsrchr.m4: Remove file.
85261         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
85262         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
85264         * m4/mbssep.m4: Remove file.
85265         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
85266         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
85268         * m4/mbsspn.m4: Remove file.
85269         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
85270         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
85272         * m4/mbsstr.m4: Remove file.
85273         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
85274         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
85276         * m4/mbstok_r.m4: Remove file.
85277         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
85278         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
85280         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
85282         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
85283         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
85285         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
85287 2009-03-08  Bruno Haible  <bruno@clisp.org>
85289         Tests for module 'unicase/ulc-casecmp'.
85290         * modules/unicase/ulc-casecmp-tests: New file.
85291         * tests/unicase/test-ulc-casecmp1.sh: New file.
85292         * tests/unicase/test-ulc-casecmp2.sh: New file.
85293         * tests/unicase/test-ulc-casecmp.c: New file.
85295         New module 'unicase/ulc-casecmp'.
85296         * lib/unicase.h (ulc_casecmp): New declaration.
85297         * lib/unicase/ulc-casecmp.c: New file.
85298         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
85299         'const SRC_UNIT *'.
85300         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
85301         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
85302         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
85303         * modules/unicase/ulc-casecmp: New file.
85305         Tests for module 'unicase/u32-is-cased'.
85306         * modules/unicase/u32-is-cased-tests: New file.
85307         * tests/unicase/test-u32-is-cased.c: New file.
85309         Tests for module 'unicase/u16-is-cased'.
85310         * modules/unicase/u16-is-cased-tests: New file.
85311         * tests/unicase/test-u16-is-cased.c: New file.
85313         Tests for module 'unicase/u8-is-cased'.
85314         * modules/unicase/u8-is-cased-tests: New file.
85315         * tests/unicase/test-u8-is-cased.c: New file.
85316         * tests/unicase/test-is-cased.h: New file.
85318         New module 'unicase/u32-is-cased'.
85319         * lib/unicase/u32-is-cased.c: New file.
85320         * modules/unicase/u32-is-cased: New file.
85322         New module 'unicase/u16-is-cased'.
85323         * lib/unicase/u16-is-cased.c: New file.
85324         * modules/unicase/u16-is-cased: New file.
85326         New module 'unicase/u8-is-cased'.
85327         * lib/unicase/u8-is-cased.c: New file.
85328         * lib/unicase/u-is-cased.h: New file.
85329         * modules/unicase/u8-is-cased: New file.
85331         Tests for module 'unicase/u32-is-casefolded'.
85332         * modules/unicase/u32-is-casefolded-tests: New file.
85333         * tests/unicase/test-u32-is-casefolded.c: New file.
85335         Tests for module 'unicase/u16-is-casefolded'.
85336         * modules/unicase/u16-is-casefolded-tests: New file.
85337         * tests/unicase/test-u16-is-casefolded.c: New file.
85339         Tests for module 'unicase/u8-is-casefolded'.
85340         * modules/unicase/u8-is-casefolded-tests: New file.
85341         * tests/unicase/test-u8-is-casefolded.c: New file.
85342         * tests/unicase/test-is-casefolded.h: New file.
85344         New module 'unicase/u32-is-casefolded'.
85345         * lib/unicase/u32-is-casefolded.c: New file.
85346         * modules/unicase/u32-is-casefolded: New file.
85348         New module 'unicase/u16-is-casefolded'.
85349         * lib/unicase/u16-is-casefolded.c: New file.
85350         * modules/unicase/u16-is-casefolded: New file.
85352         New module 'unicase/u8-is-casefolded'.
85353         * lib/unicase/u8-is-casefolded.c: New file.
85354         * modules/unicase/u8-is-casefolded: New file.
85356         Tests for module 'unicase/u32-is-titlecase'.
85357         * modules/unicase/u32-is-titlecase-tests: New file.
85358         * tests/unicase/test-u32-is-titlecase.c: New file.
85360         Tests for module 'unicase/u16-is-titlecase'.
85361         * modules/unicase/u16-is-titlecase-tests: New file.
85362         * tests/unicase/test-u16-is-titlecase.c: New file.
85364         Tests for module 'unicase/u8-is-titlecase'.
85365         * modules/unicase/u8-is-titlecase-tests: New file.
85366         * tests/unicase/test-u8-is-titlecase.c: New file.
85367         * tests/unicase/test-is-titlecase.h: New file.
85369         New module 'unicase/u32-is-titlecase'.
85370         * lib/unicase/u32-is-titlecase.c: New file.
85371         * modules/unicase/u32-is-titlecase: New file.
85373         New module 'unicase/u16-is-titlecase'.
85374         * lib/unicase/u16-is-titlecase.c: New file.
85375         * modules/unicase/u16-is-titlecase: New file.
85377         New module 'unicase/u8-is-titlecase'.
85378         * lib/unicase/u8-is-titlecase.c: New file.
85379         * modules/unicase/u8-is-titlecase: New file.
85381         Tests for module 'unicase/u32-is-lowercase'.
85382         * modules/unicase/u32-is-lowercase-tests: New file.
85383         * tests/unicase/test-u32-is-lowercase.c: New file.
85385         Tests for module 'unicase/u16-is-lowercase'.
85386         * modules/unicase/u16-is-lowercase-tests: New file.
85387         * tests/unicase/test-u16-is-lowercase.c: New file.
85389         Tests for module 'unicase/u8-is-lowercase'.
85390         * modules/unicase/u8-is-lowercase-tests: New file.
85391         * tests/unicase/test-u8-is-lowercase.c: New file.
85392         * tests/unicase/test-is-lowercase.h: New file.
85394         New module 'unicase/u32-is-lowercase'.
85395         * lib/unicase/u32-is-lowercase.c: New file.
85396         * modules/unicase/u32-is-lowercase: New file.
85398         New module 'unicase/u16-is-lowercase'.
85399         * lib/unicase/u16-is-lowercase.c: New file.
85400         * modules/unicase/u16-is-lowercase: New file.
85402         New module 'unicase/u8-is-lowercase'.
85403         * lib/unicase/u8-is-lowercase.c: New file.
85404         * modules/unicase/u8-is-lowercase: New file.
85406         Tests for module 'unicase/u32-is-uppercase'.
85407         * modules/unicase/u32-is-uppercase-tests: New file.
85408         * tests/unicase/test-u32-is-uppercase.c: New file.
85410         Tests for module 'unicase/u16-is-uppercase'.
85411         * modules/unicase/u16-is-uppercase-tests: New file.
85412         * tests/unicase/test-u16-is-uppercase.c: New file.
85414         Tests for module 'unicase/u8-is-uppercase'.
85415         * modules/unicase/u8-is-uppercase-tests: New file.
85416         * tests/unicase/test-u8-is-uppercase.c: New file.
85417         * tests/unicase/test-is-uppercase.h: New file.
85419         New module 'unicase/u32-is-uppercase'.
85420         * lib/unicase/u32-is-uppercase.c: New file.
85421         * modules/unicase/u32-is-uppercase: New file.
85423         New module 'unicase/u16-is-uppercase'.
85424         * lib/unicase/u16-is-uppercase.c: New file.
85425         * modules/unicase/u16-is-uppercase: New file.
85427         New module 'unicase/u8-is-uppercase'.
85428         * lib/unicase/u8-is-uppercase.c: New file.
85429         * modules/unicase/u8-is-uppercase: New file.
85431         New module 'unicase/u32-is-invariant'.
85432         * lib/unicase/u32-is-invariant.c: New file.
85433         * modules/unicase/u32-is-invariant: New file.
85435         New module 'unicase/u16-is-invariant'.
85436         * lib/unicase/u16-is-invariant.c: New file.
85437         * modules/unicase/u16-is-invariant: New file.
85439         New module 'unicase/u8-is-invariant'.
85440         * lib/unicase/u8-is-invariant.c: New file.
85441         * lib/unicase/invariant.h: New file.
85442         * lib/unicase/u-is-invariant.h: New file.
85443         * modules/unicase/u8-is-invariant: New file.
85445         Tests for module 'unicase/u32-casecoll'.
85446         * modules/unicase/u32-casecoll-tests: New file.
85447         * tests/unicase/test-u32-casecoll.c: New file.
85449         Tests for module 'unicase/u16-casecoll'.
85450         * modules/unicase/u16-casecoll-tests: New file.
85451         * tests/unicase/test-u16-casecoll.c: New file.
85453         Tests for module 'unicase/u8-casecoll'.
85454         * modules/unicase/u8-casecoll-tests: New file.
85455         * tests/unicase/test-u8-casecoll.c: New file.
85457         New module 'unicase/u32-casecoll'.
85458         * lib/unicase/u32-casecoll.c: New file.
85459         * modules/unicase/u32-casecoll: New file.
85461         New module 'unicase/u16-casecoll'.
85462         * lib/unicase/u16-casecoll.c: New file.
85463         * modules/unicase/u16-casecoll: New file.
85465         New module 'unicase/u8-casecoll'.
85466         * lib/unicase/u8-casecoll.c: New file.
85467         * lib/unicase/u-casecoll.h: New file.
85468         * modules/unicase/u8-casecoll: New file.
85470         New module 'unicase/u32-casexfrm'.
85471         * lib/unicase/u32-casexfrm.c: New file.
85472         * modules/unicase/u32-casexfrm: New file.
85474         New module 'unicase/u16-casexfrm'.
85475         * lib/unicase/u16-casexfrm.c: New file.
85476         * modules/unicase/u16-casexfrm: New file.
85478         New module 'unicase/u8-casexfrm'.
85479         * lib/unicase/u8-casexfrm.c: New file.
85480         * lib/unicase/u-casexfrm.h: New file.
85481         * modules/unicase/u8-casexfrm: New file.
85483         Tests for module 'unicase/u32-casecmp'.
85484         * modules/unicase/u32-casecmp-tests: New file.
85485         * tests/unicase/test-u32-casecmp.c: New file.
85487         Tests for module 'unicase/u16-casecmp'.
85488         * modules/unicase/u16-casecmp-tests: New file.
85489         * tests/unicase/test-u16-casecmp.c: New file.
85491         Tests for module 'unicase/u8-casecmp'.
85492         * modules/unicase/u8-casecmp-tests: New file.
85493         * tests/unicase/test-u8-casecmp.c: New file.
85494         * tests/unicase/test-casecmp.h: New file.
85496         New module 'unicase/u32-casecmp'.
85497         * lib/unicase/u32-casecmp.c: New file.
85498         * modules/unicase/u32-casecmp: New file.
85500         New module 'unicase/u16-casecmp'.
85501         * lib/unicase/u16-casecmp.c: New file.
85502         * modules/unicase/u16-casecmp: New file.
85504         New module 'unicase/u8-casecmp'.
85505         * lib/unicase/u8-casecmp.c: New file.
85506         * lib/unicase/u-casecmp.h: New file.
85507         * modules/unicase/u8-casecmp: New file.
85509         Tests for module 'unicase/u32-casefold'.
85510         * modules/unicase/u32-casefold-tests: New file.
85511         * tests/unicase/test-u32-casefold.c: New file.
85513         Tests for module 'unicase/u16-casefold'.
85514         * modules/unicase/u16-casefold-tests: New file.
85515         * tests/unicase/test-u16-casefold.c: New file.
85517         Tests for module 'unicase/u8-casefold'.
85518         * modules/unicase/u8-casefold-tests: New file.
85519         * tests/unicase/test-u8-casefold.c: New file.
85521         New module 'unicase/u32-casefold'.
85522         * lib/unicase/u32-casefold.c: New file.
85523         * modules/unicase/u32-casefold: New file.
85525         New module 'unicase/u16-casefold'.
85526         * lib/unicase/u16-casefold.c: New file.
85527         * modules/unicase/u16-casefold: New file.
85529         New module 'unicase/u8-casefold'.
85530         * lib/unicase/u8-casefold.c: New file.
85531         * lib/unicase/u-casefold.h: New file.
85532         * modules/unicase/u8-casefold: New file.
85534         New module 'unicase/tocasefold'.
85535         * lib/unicase/casefold.h: New file.
85536         * lib/unicase/tocasefold.c: New file.
85537         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
85538         * modules/unicase/tocasefold: New file.
85540         Tests for module 'unicase/u32-totitle'.
85541         * modules/unicase/u32-totitle-tests: New file.
85542         * tests/unicase/test-u32-totitle.c: New file.
85544         Tests for module 'unicase/u16-totitle'.
85545         * modules/unicase/u16-totitle-tests: New file.
85546         * tests/unicase/test-u16-totitle.c: New file.
85548         Tests for module 'unicase/u8-totitle'.
85549         * modules/unicase/u8-totitle-tests: New file.
85550         * tests/unicase/test-u8-totitle.c: New file.
85552         New module 'unicase/u32-totitle'.
85553         * lib/unicase/u32-totitle.c: New file.
85554         * modules/unicase/u32-totitle: New file.
85556         New module 'unicase/u16-totitle'.
85557         * lib/unicase/u16-totitle.c: New file.
85558         * modules/unicase/u16-totitle: New file.
85560         New module 'unicase/u8-totitle'.
85561         * lib/unicase/u8-totitle.c: New file.
85562         * lib/unicase/u-totitle.h: New file.
85563         * modules/unicase/u8-totitle: New file.
85565         Tests for module 'unicase/u32-tolower'.
85566         * modules/unicase/u32-tolower-tests: New file.
85567         * tests/unicase/test-u32-tolower.c: New file.
85569         Tests for module 'unicase/u16-tolower'.
85570         * modules/unicase/u16-tolower-tests: New file.
85571         * tests/unicase/test-u16-tolower.c: New file.
85573         Tests for module 'unicase/u8-tolower'.
85574         * modules/unicase/u8-tolower-tests: New file.
85575         * tests/unicase/test-u8-tolower.c: New file.
85577         New module 'unicase/u32-tolower'.
85578         * lib/unicase/u32-tolower.c: New file.
85579         * modules/unicase/u32-tolower: New file.
85581         New module 'unicase/u16-tolower'.
85582         * lib/unicase/u16-tolower.c: New file.
85583         * modules/unicase/u16-tolower: New file.
85585         New module 'unicase/u8-tolower'.
85586         * lib/unicase/u8-tolower.c: New file.
85587         * modules/unicase/u8-tolower: New file.
85589         Tests for module 'unicase/u32-toupper'.
85590         * modules/unicase/u32-toupper-tests: New file.
85591         * tests/unicase/test-u32-toupper.c: New file.
85593         Tests for module 'unicase/u16-toupper'.
85594         * modules/unicase/u16-toupper-tests: New file.
85595         * tests/unicase/test-u16-toupper.c: New file.
85597         Tests for module 'unicase/u8-toupper'.
85598         * modules/unicase/u8-toupper-tests: New file.
85599         * tests/unicase/test-u8-toupper.c: New file.
85601         New module 'unicase/u32-toupper'.
85602         * lib/unicase/u32-toupper.c: New file.
85603         * modules/unicase/u32-toupper: New file.
85605         New module 'unicase/u16-toupper'.
85606         * lib/unicase/u16-toupper.c: New file.
85607         * modules/unicase/u16-toupper: New file.
85609         New module 'unicase/u8-toupper'.
85610         * lib/unicase/u8-toupper.c: New file.
85611         * modules/unicase/u8-toupper: New file.
85613         New module 'unicase/u32-casemap'.
85614         * lib/unicase/u32-casemap.c: New file.
85615         * modules/unicase/u32-casemap: New file.
85617         New module 'unicase/u16-casemap'.
85618         * lib/unicase/u16-casemap.c: New file.
85619         * modules/unicase/u16-casemap: New file.
85621         New module 'unicase/u8-casemap'.
85622         * lib/unicase/unicasemap.h: New file.
85623         * lib/unicase/u8-casemap.c: New file.
85624         * lib/unicase/u-casemap.h: New file.
85625         * modules/unicase/u8-casemap: New file.
85627         New module 'unicase/special-casing'.
85628         * lib/unicase/special-casing.h: New file.
85629         * lib/unicase/special-casing.c: New file.
85630         * lib/unicase/special-casing-table.gperf: New file, generated by
85631         gen-uni-tables.c.
85632         * modules/unicase/special-casing: New file.
85634         Tests for module 'unicase/locale-language'.
85635         * modules/unicase/locale-language-tests: New file.
85636         * tests/unicase/test-locale-language.sh: New file.
85637         * tests/unicase/test-locale-language.c: New file.
85639         New module 'unicase/locale-language'.
85640         * lib/unicase/locale-language.c: New file.
85641         * lib/unicase/locale-languages.gperf: New file.
85642         * modules/unicase/locale-language: New file.
85644         Generate more tables for case conversion and case folding.
85645         * lib/gen-uni-tables.c (SCC_*): New enum items.
85646         (struct special_casing_rule): New type.
85647         (casing_rules, num_casing_rules, allocated_casing_rules): New
85648         variables.
85649         (add_casing_rule, fill_casing_rules): New functions.
85650         (struct casefold_rule): New type.
85651         (casefolding_rules, num_casefolding_rules,
85652         allocated_casefolding_rules): New variables.
85653         (fill_casefolding_rules): New function.
85654         (unicode_casefold): New variable.
85655         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
85656         sort_casing_rules, output_casing_rules): New functions.
85657         (main): Accept to more arguments: SpecialCasing.txt and
85658         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
85659         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
85660         Output mapping for casefolding.
85662         * lib/unicase.h: Include stdbool.h, uninorm.h.
85663         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
85664         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
85665         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
85666         arguments.
85667         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
85668         resultp arguments.
85669         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
85670         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
85671         resultp arguments.
85672         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
85673         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
85674         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
85675         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
85676         declarations.
85677         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
85679 2009-03-08  Bruno Haible  <bruno@clisp.org>
85681         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
85682         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
85683         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
85684         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
85686 2009-03-07  Bruno Haible  <bruno@clisp.org>
85688         Adjust u*_normcmp, u*_normcoll API.
85689         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
85690         u16_normcoll, u32_normcoll): Change failure conventions.
85691         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
85692         errno and return -1.
85693         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
85695 2009-03-07  Bruno Haible  <bruno@clisp.org>
85697         Tests for module 'uninorm/u32-normcoll'.
85698         * modules/uninorm/u32-normcoll-tests: New file.
85699         * tests/uninorm/test-u32-normcoll.c: New file.
85701         Tests for module 'uninorm/u16-normcoll'.
85702         * modules/uninorm/u16-normcoll-tests: New file.
85703         * tests/uninorm/test-u16-normcoll.c: New file.
85705         Tests for module 'uninorm/u8-normcoll'.
85706         * modules/uninorm/u8-normcoll-tests: New file.
85707         * tests/uninorm/test-u8-normcoll.c: New file.
85709 2009-03-07  Bruno Haible  <bruno@clisp.org>
85711         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
85712         tests/uninorm/test-u32-normcmp.c.
85713         * tests/uninorm/test-u32-normcmp.c: Include it.
85714         (test_nonascii): New function, extracted from main. Add some more
85715         tests.
85716         (main): Invoke test_ascii and test_nonascii.
85717         * modules/uninorm/u32-normcmp-tests (Files): Add
85718         tests/uninorm/test-u32-normcmp.h.
85719         (Depends-on): Remove uninorm/u32-normcmp.
85721         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
85722         tests/uninorm/test-u16-normcmp.c.
85723         * tests/uninorm/test-u16-normcmp.c: Include it.
85724         (test_nonascii): New function, extracted from main. Add some more
85725         tests.
85726         (main): Invoke test_ascii and test_nonascii.
85727         * modules/uninorm/u16-normcmp-tests (Files): Add
85728         tests/uninorm/test-u16-normcmp.h.
85729         (Depends-on): Remove uninorm/u16-normcmp.
85731         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
85732         tests/uninorm/test-u8-normcmp.c.
85733         * tests/uninorm/test-u8-normcmp.c: Include it.
85734         (test_nonascii): New function, extracted from main. Add some more
85735         tests.
85736         (main): Invoke test_ascii and test_nonascii.
85737         * modules/uninorm/u8-normcmp-tests (Files): Add
85738         tests/uninorm/test-u8-normcmp.h.
85739         (Depends-on): Remove uninorm/u8-normcmp.
85741 2009-03-07  Bruno Haible  <bruno@clisp.org>
85743         New module 'uninorm/u32-normcoll'.
85744         * lib/uninorm/u32-normcoll.c: New file.
85745         * modules/uninorm/u32-normcoll: New file.
85747         New module 'uninorm/u16-normcoll'.
85748         * lib/uninorm/u16-normcoll.c: New file.
85749         * modules/uninorm/u16-normcoll: New file.
85751         New module 'uninorm/u8-normcoll'.
85752         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
85753         declarations.
85754         * lib/uninorm/u8-normcoll.c: New file.
85755         * lib/uninorm/u-normcoll.h: New file.
85756         * modules/uninorm/u8-normcoll: New file.
85758         New module 'uninorm/u32-normxfrm'.
85759         * lib/uninorm/u32-normxfrm.c: New file.
85760         * modules/uninorm/u32-normxfrm: New file.
85762         New module 'uninorm/u16-normxfrm'.
85763         * lib/uninorm/u16-normxfrm.c: New file.
85764         * modules/uninorm/u16-normxfrm: New file.
85766         New module 'uninorm/u8-normxfrm'.
85767         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
85768         declarations.
85769         * lib/uninorm/u8-normxfrm.c: New file.
85770         * lib/uninorm/u-normxfrm.h: New file.
85771         * modules/uninorm/u8-normxfrm: New file.
85773 2009-03-07  Bruno Haible  <bruno@clisp.org>
85775         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
85776         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
85777         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
85779 2009-03-07  Bruno Haible  <bruno@clisp.org>
85781         New module 'memxfrm'.
85782         * lib/memxfrm.h: New file.
85783         * lib/memxfrm.c: New file.
85784         * modules/memxfrm: New file.
85786 2009-03-07  Bruno Haible  <bruno@clisp.org>
85788         New module 'memcmp2'.
85789         * lib/memcmp2.h: New file.
85790         * lib/memcmp2.c: New file.
85791         * modules/memcmp2: New file.
85793 2009-03-07  Bruno Haible  <bruno@clisp.org>
85795         Tests for module 'uninorm/decomposing-form'.
85796         * modules/uninorm/decomposing-form-tests: New file.
85797         * tests/uninorm/test-decomposing-form.c: New file.
85799         New module 'uninorm/decomposing-form'.
85800         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
85801         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
85802         Add 'decomposing_variant' field.
85803         * lib/uninorm/decomposing-form.c: New file.
85804         * lib/uninorm/nfc.c (uninorm_nfc): Update.
85805         * lib/uninorm/nfd.c (uninorm_nfd): Update.
85806         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
85807         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
85808         * modules/uninorm/decomposing-form: New file.
85809         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
85810         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
85812 2009-03-07  Bruno Haible  <bruno@clisp.org>
85814         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
85815         strings.
85817 2009-03-06  Bruno Haible  <bruno@clisp.org>
85819         Tests for module 'uninorm/u32-normcmp'.
85820         * tests/uninorm/test-u32-normcmp.c: New file.
85821         * modules/uninorm/u32-normcmp-tests: New file.
85823         Tests for module 'uninorm/u16-normcmp'.
85824         * tests/uninorm/test-u16-normcmp.c: New file.
85825         * modules/uninorm/u16-normcmp-tests: New file.
85827         Tests for module 'uninorm/u8-normcmp'.
85828         * tests/uninorm/test-u8-normcmp.c: New file.
85829         * modules/uninorm/u8-normcmp-tests: New file.
85831         New module 'uninorm/u32-normcmp'.
85832         * lib/uninorm/u32-normcmp.c: New file.
85833         * modules/uninorm/u32-normcmp: New file.
85835         New module 'uninorm/u16-normcmp'.
85836         * lib/uninorm/u16-normcmp.c: New file.
85837         * modules/uninorm/u16-normcmp: New file.
85839         New module 'uninorm/u8-normcmp'.
85840         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
85841         declarations.
85842         * lib/uninorm/u8-normcmp.c: New file.
85843         * lib/uninorm/u-normcmp.h: New file.
85844         * modules/uninorm/u8-normcmp: New file.
85846 2009-03-06  Bruno Haible  <bruno@clisp.org>
85848         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
85849         Reported by Eric Blake.
85851 2009-03-06  Eric Blake  <ebb9@byu.net>
85852             Bruno Haible  <bruno@clisp.org>
85854         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
85855         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
85856         condition.
85857         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85858         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
85859         condition.
85860         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85862 2009-03-06  Eric Blake  <ebb9@byu.net>
85864         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
85865         to avoid compiler warnings.
85866         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
85868 2009-03-05  Bruno Haible  <bruno@clisp.org>
85870         * tests/test-ftell.c (main): Disable test beyond end of file on
85871         FreeMiNT.
85872         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85874 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
85876         * lib/filevercmp.c: Move hidden files up in ordering.
85877         * tests/test-filevercmp.c: Add tests for hidden files.
85879 2009-03-04  Bruno Haible  <bruno@clisp.org>
85881         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
85882         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
85883         AM_CFLAGS.
85884         Reported by Simon Josefsson.
85886 2009-03-03  Bruno Haible  <bruno@clisp.org>
85888         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
85889         Reported by Simon Josefsson.
85891         * doc/ld-version-script.texi: Update node reference.
85893 2009-03-03  Bruno Haible  <bruno@clisp.org>
85895         * modules/visibility (License): Change to 'unlimited'.
85896         Suggested by Simon Josefsson.
85898 2009-03-03  Jim Meyering  <meyering@redhat.com>
85900         unlinkdir: cannot_unlink_dir may modify process state
85901         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
85902         it's neither thread-safe nor appropriate for use in a library.
85904 2009-03-03  Eric Blake  <ebb9@byu.net>
85906         test-closein: silence test under Darwin
85907         * tests/test-closein.sh: Ignore stderr from cat, since we don't
85908         care if it dies from EPIPE or EBADF.
85910 2009-03-03  Bruno Haible  <bruno@clisp.org>
85912         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
85913         earlier.
85914         * doc/visibility.texi: Fix @node and @section.
85916 2009-03-03  Simon Josefsson  <simon@josefsson.org>
85918         * doc/gnulib.texi: Link to sections for ld version script and
85919         visibility.
85920         * doc/visibility.texi: Add @node and @section.
85921         * modules/ld-version-script: New module.
85922         * m4/ld-version-script.m4: New file.
85923         * doc/ld-version-script.texi: New file.
85925 2009-03-02  David Lutterkort  <lutter@redhat.com>
85927         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
85928         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85930 2009-03-02  Bruno Haible  <bruno@clisp.org>
85932         * doc/visibility.texi: Mention libtool's -export-symbols option.
85934 2009-03-02  Jim Meyering  <meyering@redhat.com>
85936         announce-gen: new option: --no-print-checksums
85937         * build-aux/announce-gen (usage): Describe it.
85938         (print_checksums): Print a newline here, not in the [*] footnote.
85939         (main): Honor it.
85941 2009-03-01  Bruno Haible  <bruno@clisp.org>
85943         Use socklen_t in the native Windows replacements prototypes.
85944         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
85945         instead of 'int'.
85946         * lib/getsockopt.c (rpl_getsockopt): Likewise.
85947         * lib/setsockopt.c (rpl_setsockopt): Likewise.
85948         * modules/getsockopt (Depends-on): Add socklen.
85949         * modules/setsockopt (Depends-on): Add socklen.
85951 2009-03-01  Bruno Haible  <bruno@clisp.org>
85953         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
85954         least 4.2.
85956 2009-03-01  Eric Blake  <ebb9@byu.net>
85957             Bruno Haible  <bruno@clisp.org>
85959         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
85960         error messages.
85961         * lib/wait-process.c (wait_subprocess): Omit error message about
85962         deadly signal sent to the child of termsigp != NULL.
85964 2009-03-01  Eric Blake  <ebb9@byu.net>
85966         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
85968 2009-03-01  Bruno Haible  <bruno@clisp.org>
85970         Avoid a gcc warning.
85971         * tests/test-sched.c (b): Make global.
85972         Reported by Eric Blake.
85974 2009-01-19  Martin Lambers  <marlam@marlam.de>
85976         Provide POSIX semantics for socket timeout options on W32.
85977         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
85978         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
85979         * modules/setsockopt: Depend on sys_time module for struct timeval.
85980         * modules/getsockopt: Depend on sys_time module for struct timeval.
85982 2009-03-01  Simon Josefsson  <simon@josefsson.org>
85984         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
85985         __USE_GNU, for consistency with netdb.in.h.
85986         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85988 2009-03-01  Bruno Haible  <bruno@clisp.org>
85990         More support for FreeMiNT.
85991         * lib/fseeko.c (rpl_fseeko): Complete last commit.
85992         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85994 2009-03-01  Bruno Haible  <bruno@clisp.org>
85996         More support for FreeMiNT.
85997         * lib/fpurge.c (fpurge): Correct last commit.
85998         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86000 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86002         Fix unportable awk script in vc-list-files.
86003         * build-aux/vc-list-files: In the replacement awk script, use
86004         substr with a second argument of 1, not zero.
86005         Report by Simon Josefsson.
86007 2009-02-28  Bruno Haible  <bruno@clisp.org>
86009         More support for FreeMiNT.
86010         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
86011         to FreeMiNT today.
86012         * lib/fwriting.c (fwriting): Likewise.
86013         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
86015 2009-02-28  Bruno Haible  <bruno@clisp.org>
86017         * tests/test-freadseek.c (main): Disable test beyond end of file on
86018         FreeMiNT.
86019         * tests/test-ftello.c (main): Likewise.
86020         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
86022 2009-02-28  Bruno Haible  <bruno@clisp.org>
86024         Add tentative support for FreeMiNT.
86025         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
86026         * lib/fpurge.c (fpurge): Likewise.
86027         * lib/freadable.c (freadable): Likewise.
86028         * lib/freading.c (freading): Likewise.
86029         * lib/freadptr.c (freadptr): Likewise.
86030         * lib/freadseek.c (freadptrinc): Likewise.
86031         * lib/fseeko.c (rpl_fseeko): Likewise.
86032         * lib/fseterr.c (fseterr): Likewise.
86033         * lib/fwritable.c (fwritable): Likewise.
86034         * lib/fwriting.c (fwriting): Likewise.
86035         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
86036         Hourihane.
86037         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
86039 2009-02-28  Bruno Haible  <bruno@clisp.org>
86041         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
86042         SIGCHLD.
86043         Reported by Jim Meyering.
86045 2009-02-28  Bruno Haible  <bruno@clisp.org>
86047         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
86048         Mention the results of these tests on various platforms.
86049         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
86050         order.
86051         * doc/posix-functions/printf.texi: Likewise.
86052         * doc/posix-functions/snprintf.texi: Likewise.
86053         * doc/posix-functions/sprintf.texi: Likewise.
86054         * doc/posix-functions/vfprintf.texi: Likewise.
86055         * doc/posix-functions/vprintf.texi: Likewise.
86056         * doc/posix-functions/vsnprintf.texi: Likewise.
86057         * doc/posix-functions/vsprintf.texi: Likewise.
86058         * doc/glibc-functions/obstack_printf.texi: Likewise.
86059         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
86061 2009-02-28  Bruno Haible  <bruno@clisp.org>
86063         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
86064         Reported by Loïc Minier <lool@dooz.org>.
86066 2009-02-27  Bruno Haible  <bruno@clisp.org>
86068         * gnulib-tool (func_import): Make the sed expression used to create the
86069         sed script for updating the .gitignore file POSIX compliant.
86070         Reported by Eric Blake.
86072 2009-02-27  Bruno Haible  <bruno@clisp.org>
86074         * gnulib-tool (sed): Don't alias as "sed --posix".
86075         Reported by Eric Blake.
86077 2009-02-27  Bruno Haible  <bruno@clisp.org>
86079         Avoid test link errors.
86080         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
86081         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
86082         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
86083         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
86084         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86086 2009-02-27  Bruno Haible  <bruno@clisp.org>
86088         Avoid spurious "(cached)" in configure output.
86089         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
86090         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
86091         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
86092         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
86093         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
86094         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
86095         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
86096         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
86097         Reported by Eric Blake.
86099 2009-02-27  Eric Blake  <ebb9@byu.net>
86101         printf: fix regression in previous patch
86102         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
86104 2009-02-27  Bruno Haible  <bruno@clisp.org>
86106         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
86107         value.
86108         * lib/stdint.in.h: Likewise.
86109         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
86111 2009-02-27  Eric Blake  <ebb9@byu.net>
86113         doc: mention more functions added in cygwin 1.7.0
86114         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
86115         addition.
86116         * doc/posix-functions/open_wmemstream.texi: Likewise.
86117         * doc/posix-functions/wcsnlen.texi: Likewise.
86118         * doc/posix-functions/wcsnrtombs.texi: Likewise.
86119         * doc/posix-functions/wcstod.texi: Likewise.
86120         * doc/posix-functions/wcstof.texi: Likewise.
86121         * doc/posix-functions/wcstoimax.texi: Likewise.
86122         * doc/posix-functions/wcstok.texi: Likewise.
86123         * doc/posix-functions/wcstoumax.texi: Likewise.
86125         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
86126         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
86127         * doc/posix-functions/fprintf.texi: Update.
86128         * doc/posix-functions/printf.texi: Update.
86129         * doc/posix-functions/snprintf.texi: Update.
86130         * doc/posix-functions/sprintf.texi: Update.
86131         * doc/posix-functions/vfprintf.texi: Update.
86132         * doc/posix-functions/vprintf.texi: Update.
86133         * doc/posix-functions/vsnprintf.texi: Update.
86134         * doc/posix-functions/vsprintf.texi: Update.
86135         * doc/glibc-functions/obstack_printf.texi: Update.
86136         * doc/glibc-functions/obstack_vprintf.texi: Update.
86138 2009-02-26  Eric Blake  <ebb9@byu.net>
86140         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
86141         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
86142         compilation bug by using runtime conversion.
86143         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
86144         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
86145         * modules/ceill-tests (Files): Use nan.h.
86146         * modules/floorl-tests (Files): Likewise.
86147         * modules/frexpl-tests (Files): Likewise.
86148         * modules/isnanl-tests (Files): Likewise.
86149         * modules/ldexpl-tests (Files): Likewise.
86150         * modules/roundl-tests (Files): Likewise.
86151         * modules/truncl-tests (Files): Likewise.
86152         * tests/test-ceill.c (main): Use a working NaN.
86153         * tests/test-floorl.c (main): Likewise.
86154         * tests/test-frexpl.c (main): Likewise.
86155         * tests/test-isnan.c (test_long_double): Likewise.
86156         * tests/test-isnanl.h (main): Likewise.
86157         * tests/test-ldexpl.h (main): Likewise.
86158         * tests/test-roundl.h (main): Likewise.
86159         * tests/test-truncl.h (main): Likewise.
86160         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
86162 2009-02-26  Eric Blake  <ebb9@byu.net>
86163             Bruno Haible  <bruno@clisp.org>
86165         Work around a *printf bug with %ls on Solaris.
86166         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
86167         precision is specified, sprintf stops converting the wide string
86168         argument when the number of bytes that have been produced by this
86169         conversion equals or exceeds the precision.
86170         * doc/posix-functions/fprintf.texi: Update.
86171         * doc/posix-functions/printf.texi: Update.
86172         * doc/posix-functions/snprintf.texi: Update.
86173         * doc/posix-functions/sprintf.texi: Update.
86174         * doc/posix-functions/vfprintf.texi: Update.
86175         * doc/posix-functions/vprintf.texi: Update.
86176         * doc/posix-functions/vsnprintf.texi: Update.
86177         * doc/posix-functions/vsprintf.texi: Update.
86178         * doc/glibc-functions/obstack_printf.texi: Update.
86179         * doc/glibc-functions/obstack_vprintf.texi: Update.
86181 2009-02-26  Eric Blake  <ebb9@byu.net>
86183         stdlib: favor compiler check of random.h
86184         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
86185         to avoid an ObjC random.h installed by Swarm.
86187 2009-02-26  Bruno Haible  <bruno@clisp.org>
86189         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
86190         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
86191         Reported by Gary V. Vaughan <gary@gnu.org>.
86193 2009-02-26  Bruno Haible  <bruno@clisp.org>
86195         Fix *printf behaviour regarding the %ls directive.
86196         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
86197         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
86198         NEED_PRINTF_DIRECTIVE_LS.
86199         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
86200         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
86201         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86202         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
86203         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
86204         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
86205         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
86206         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86207         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86208         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86209         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86210         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
86211         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86212         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86213         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86214         * doc/posix-functions/fprintf.texi: Update.
86215         * doc/posix-functions/printf.texi: Update.
86216         * doc/posix-functions/snprintf.texi: Update.
86217         * doc/posix-functions/sprintf.texi: Update.
86218         * doc/posix-functions/vfprintf.texi: Update.
86219         * doc/posix-functions/vprintf.texi: Update.
86220         * doc/posix-functions/vsnprintf.texi: Update.
86221         * doc/posix-functions/vsprintf.texi: Update.
86222         * doc/glibc-functions/obstack_printf.texi: Update.
86223         * doc/glibc-functions/obstack_vprintf.texi: Update.
86224         Reported by Eric Blake.
86226 2009-02-25  Bruno Haible  <bruno@clisp.org>
86228         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
86229         with known value.
86230         Reported by Gary V. Vaughan <gary@gnu.org>.
86232 2009-02-25  Bruno Haible  <bruno@clisp.org>
86234         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
86235         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
86236         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
86237         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
86238         Reported by Gary V. Vaughan <gary@gnu.org>.
86240 2009-02-25  Bruno Haible  <bruno@clisp.org>
86242         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
86243         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
86244         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
86245         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
86246         Reported by Gary V. Vaughan <gary@gnu.org>.
86248 2009-02-25  Eric Blake  <ebb9@byu.net>
86250         tests: skip fseek/ftell tests if ungetc is broken
86251         * m4/ungetc.m4: New file.
86252         * modules/fseek-tests: Split test, so ungetc dependency is
86253         separate from rest of test.
86254         * modules/fseeko-tests: Likewise.
86255         * modules/ftell-tests: Likewise.
86256         * modules/ftello-tests: Likewise.
86257         * tests/test-fseek.c (main): Isolate ungetc dependency.
86258         * tests/test-fseeko.c (main): Likewise.
86259         * tests/test-ftell.c (main): Likewise.
86260         * tests/test-ftello.c (main): Likewise.
86261         * tests/test-fseek2.sh: New file.
86262         * tests/test-fseeko2.sh: Likewise.
86263         * tests/test-ftell2.sh: Likewise.
86264         * tests/test-ftello2.sh: Likewise.
86266 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
86268         test-getaddrinfo: fix usage of skip return code 77
86269         * tests/test-gettaddrinfo.c: Return skip code 77 only
86270         for first occurrence of skip (4x77 is not 77)
86272 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
86274         strtod: avoid C99 decl-after-statement
86275         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
86277 2009-02-24  Eric Blake  <ebb9@byu.net>
86279         strtod: detect HP-UX 11.31 bug
86280         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
86281         Reported by Gary V. Vaughan.
86283 2009-02-23  Bruno Haible  <bruno@clisp.org>
86285         Fix invalid read past end of memory block.
86286         * lib/vasnprintf.c (DCHAR_SET): Define.
86287         (local_wcslen): Define only when needed.
86288         (local_strnlen, local_wcsnlen): New functions.
86289         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
86290         directives that involve a conversion ourselves.
86291         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
86292         wcsnlen, mbrtowc, wcrtomb.
86293         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
86294         * tests/test-vasprintf-posix.c (test_function): Likewise.
86295         * tests/test-snprintf-posix.h (test_function): Likewise.
86296         * tests/test-sprintf-posix.h (test_function): Likewise.
86297         Reported by Ben Pfaff <blp@cs.stanford.edu>.
86299 2009-02-22  Bruno Haible  <bruno@clisp.org>
86301         Implement new clarified decomposition of Hangul syllables.
86302         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
86303         of type LTV, return only a pairwise decomposition.
86304         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
86305         Likewise.
86306         * tests/uninorm/test-decomposition.c (main): Updated expected result.
86307         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
86308         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
86310 2009-02-22  Bruno Haible  <bruno@clisp.org>
86312         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
86313         zero-length results and shrink excess allocated memory.
86314         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
86315         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
86316         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
86317         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
86318         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
86319         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
86320         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
86321         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
86322         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
86323         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
86324         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
86325         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
86327 2009-02-21  Bruno Haible  <bruno@clisp.org>
86329         * doc/gnulib.texi: Include safe-alloc.texi earlier.
86330         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
86331         spaces after a period. Put a space between a macro name and its
86332         argument list. Trivial rewordings.
86333         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
86334         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
86335         (main): Return 0 explicitly.
86337 2009-02-21  Bruno Haible  <bruno@clisp.org>
86339         Tests for module 'uninorm/filter'.
86340         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
86341         * modules/uninorm/filter-tests: New file.
86343         New module 'uninorm/filter'.
86344         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
86345         uninorm_filter_flush, uninorm_filter_free): New declarations.
86346         * lib/uninorm/uninorm-filter.c: New file.
86347         * modules/uninorm/filter: New file.
86349 2009-02-21  Bruno Haible  <bruno@clisp.org>
86351         Tests for module 'uninorm/nfkc'.
86352         * tests/uninorm/test-nfkc.c: New file.
86353         * tests/uninorm/test-u8-nfkc.c: New file.
86354         * tests/uninorm/test-u16-nfkc.c: New file.
86355         * tests/uninorm/test-u32-nfkc.c: New file.
86356         * tests/uninorm/test-u32-nfkc-big.sh: New file.
86357         * tests/uninorm/test-u32-nfkc-big.c: New file.
86358         * modules/uninorm/nfkc-tests: New file.
86360         New module 'uninorm/nfkc'.
86361         * lib/uninorm/nfkc.c: New file.
86362         * modules/uninorm/nfkc: New file.
86364         Tests for module 'uninorm/nfkd'.
86365         * tests/uninorm/test-nfkd.c: New file.
86366         * tests/uninorm/test-u8-nfkd.c: New file.
86367         * tests/uninorm/test-u16-nfkd.c: New file.
86368         * tests/uninorm/test-u32-nfkd.c: New file.
86369         * tests/uninorm/test-u32-nfkd-big.sh: New file.
86370         * tests/uninorm/test-u32-nfkd-big.c: New file.
86371         * modules/uninorm/nfkd-tests: New file.
86373         New module 'uninorm/nfkd'.
86374         * lib/uninorm/nfkd.c: New file.
86375         * modules/uninorm/nfkd: New file.
86377         Tests for module 'uninorm/nfc'.
86378         * tests/uninorm/test-nfc.c: New file.
86379         * tests/uninorm/test-u8-nfc.c: New file.
86380         * tests/uninorm/test-u16-nfc.c: New file.
86381         * tests/uninorm/test-u32-nfc.c: New file.
86382         * tests/uninorm/test-u32-nfc-big.sh: New file.
86383         * tests/uninorm/test-u32-nfc-big.c: New file.
86384         * modules/uninorm/nfc-tests: New file.
86386         New module 'uninorm/nfc'.
86387         * lib/uninorm/nfc.c: New file.
86388         * modules/uninorm/nfc: New file.
86390         Tests for module 'uninorm/nfd'.
86391         * tests/uninorm/test-nfd.c: New file.
86392         * tests/uninorm/test-u8-nfd.c: New file.
86393         * tests/uninorm/test-u16-nfd.c: New file.
86394         * tests/uninorm/test-u32-nfd.c: New file.
86395         * tests/uninorm/test-u32-nfd-big.sh: New file.
86396         * tests/uninorm/test-u32-nfd-big.c: New file.
86397         * tests/uninorm/test-u32-normalize-big.h: New file.
86398         * tests/uninorm/test-u32-normalize-big.c: New file.
86399         * tests/uninorm/NormalizationTest.txt: New file, created from
86400         Unicode 5.1.0 NormalizationTest.txt.
86401         * modules/uninorm/nfd-tests: New file.
86403         New module 'uninorm/nfd'.
86404         * lib/uninorm/nfd.c: New file.
86405         * modules/uninorm/nfd: New file.
86407         New module 'uninorm/u32-normalize'.
86408         * lib/uninorm/u32-normalize.c: New file.
86409         * modules/uninorm/u32-normalize: New file.
86411         New module 'uninorm/u16-normalize'.
86412         * lib/uninorm/u16-normalize.c: New file.
86413         * modules/uninorm/u16-normalize: New file.
86415         New module 'uninorm/u8-normalize'.
86416         * lib/uninorm/u8-normalize.c: New file.
86417         * lib/uninorm/normalize-internal.h: New file.
86418         * lib/uninorm/u-normalize-internal.h: New file.
86419         * modules/uninorm/u8-normalize: New file.
86421         New module 'uninorm/decompose-internal'.
86422         * lib/uninorm/decompose-internal.c: New file.
86423         * modules/uninorm/decompose-internal: New file.
86425         Tests for module 'uninorm/composition'.
86426         * tests/uninorm/test-composition.c: New file.
86427         * modules/uninorm/composition-tests: New file.
86429         New module 'uninorm/composition'.
86430         * lib/uninorm/composition.c: New file.
86431         * lib/uninorm/composition-table.gperf: New file, generated by
86432         gen-uni-tables.
86433         * modules/uninorm/composition: New file.
86435         Tests for module 'uninorm/compat-decomposition'.
86436         * tests/uninorm/test-compat-decomposition.c: New file.
86437         * modules/uninorm/compat-decomposition-tests: New file.
86439         New module 'uninorm/compat-decomposition'.
86440         * lib/uninorm/decompose-internal.h: New file.
86441         * lib/uninorm/compat-decomposition.c: New file.
86442         * modules/uninorm/compat-decomposition: New file.
86444         Tests for module 'uninorm/canonical-decomposition'.
86445         * tests/uninorm/test-canonical-decomposition.c: New file.
86446         * modules/uninorm/canonical-decomposition-tests: New file.
86448         New module 'uninorm/canonical-decomposition'.
86449         * lib/uninorm/canonical-decomposition.c: New file.
86450         * modules/uninorm/canonical-decomposition: New file.
86452         Tests for module 'uninorm/decomposition'.
86453         * tests/uninorm/test-decomposition.c: New file.
86454         * modules/uninorm/decomposition-tests: New file.
86456         New module 'uninorm/decomposition'.
86457         * lib/uninorm/decomposition.c: New file.
86458         * modules/uninorm/decomposition: New file.
86460         New module 'uninorm/decomposition-table'.
86461         * lib/uninorm/decomposition-table.h: New file.
86462         * lib/uninorm/decomposition-table.c: New file.
86463         * lib/uninorm/decomposition-table1.h: New file, generated by
86464         gen-uni-tables.
86465         * lib/uninorm/decomposition-table2.h: New file, generated by
86466         gen-uni-tables.
86467         * modules/uninorm/decomposition-table: New file.
86469         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
86470         (UC_DECOMP_*): New enumeration items.
86471         (get_decomposition): New function.
86472         (struct decomp_table): New type.
86473         (output_decomposition, output_decomposition_tables): New functions.
86474         (unicode_composition_exclusions): New variable.
86475         (fill_composition_exclusions, debug_output_composition_tables): New
86476         functions.
86477         (main): Accept one more argument. Invoke fill_composition_exclusions.
86478         Output decomposition and composition tables.
86480         New module 'uninorm/base'.
86481         * lib/uninorm.h: New file.
86482         * lib/unictype.h: Update comment.
86483         * modules/uninorm/base: New file.
86485 2009-02-21  David Lutterkort  <lutter@redhat.com>
86487         Tests for module 'safe-alloc'.
86488         * tests/test-safe-alloc.c: New file.
86489         * modules/safe-alloc-tests: New file.
86491         New module 'safe-alloc'.
86492         * lib/safe-alloc.h: New file.
86493         * lib/safe-alloc.c: New file.
86494         * m4/safe-alloc.m4: New file.
86495         * modules/safe-alloc: New file.
86496         * doc/safe-alloc.texi: New file.
86497         * doc/gnulib.texi: Include it.
86498         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
86499         safe-alloc.
86501 2009-02-18  Bruno Haible  <bruno@clisp.org>
86503         Fix link error on non-glibc systems.
86504         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
86505         variable.
86506         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86508 2009-02-18  Jim Meyering  <meyering@redhat.com>
86510         fts: avoid used-uninitialized error due to recent change
86511         * lib/fts.c (fts_read): Guard uses of the new member,
86512         parent->fts_n_dirs_remaining, since it's not relevant for
86513         the parent of a directory specified on the command-line.
86515 2009-02-17  James Youngman  <jay@gnu.org>
86516             Bruno Haible  <bruno@clisp.org>
86518         * m4/include_next.m4: Reformulate comment.
86520 2009-02-16  Jim Meyering  <meyering@redhat.com>
86522         fts: add #if guards so that the fts_lgpl module still builds
86523         * lib/fts.c: Guard just-added hash-table-using parts with
86524         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
86525         Reported by Simon Josefsson.
86527 2009-02-15  Bruno Haible  <bruno@clisp.org>
86529         * modules/array-mergesort-tests: New file.
86530         * tests/test-array-mergesort.c: New file.
86532         New module 'array-mergesort'.
86533         * modules/array-mergesort: New file.
86534         * lib/array-mergesort.h: New file.
86536 2009-02-15  Bruno Haible  <bruno@clisp.org>
86538         Fix 2009-02-07 commit.
86539         * lib/gen-uni-tables.c (output_predicate, output_category,
86540         output_combclass, output_bidi_category, output_decimal_digit,
86541         output_digit, output_numeric, output_mirror, output_scripts,
86542         output_ident_category, output_simple_mapping): Fix format directives.
86543         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
86545 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
86547         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
86548         fixes are available from IBM.
86550 2009-02-13  Jim Meyering  <meyering@redhat.com>
86552         fts: arrange not to stat non-directories in more cases
86553         This makes GNU find (when it doesn't need to stat each file)
86554         *much* more efficient at traversing reiserfs file systems.
86555         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
86556         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
86557         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
86558         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
86559         (leaf_optimization_applies): New function.
86560         (LCO_hash, LCO_compare): New helper functions.
86561         (link_count_optimize_ok): New function.
86562         (fts_stat): Initialize new member (if dir).
86563         (fts_read): Decrement parent's fts_n_dirs_remaining count if
86564         we've just stat'ed a directory.  Skip the stat call when possible.
86565         ---
86566         Note this AFS-related exchange:
86567         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
86568         and note find's pioctl call in find/fstype.c.
86569         But that is necessary only if you want to enable the
86570         optimization for AFS, and for now, I don't.
86572         fts: move a function definition "up" (no semantic change)
86573         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
86574         "up" to precede upcoming use of a related function.
86576 2009-02-11  Jim Meyering  <meyering@redhat.com>
86578         fts: correct internal computation of nlinks (optimization-related)
86579         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
86580         whether the current entry is a directory, so don't test it.
86582 2009-02-10  Bruno Haible  <bruno@clisp.org>
86584         Tests for module 'uniwbrk/ulc-wordbreaks'.
86585         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
86586         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
86587         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
86589         Tests for module 'uniwbrk/u32-wordbreaks'.
86590         * modules/uniwbrk/u32-wordbreaks-tests: New file.
86591         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
86593         Tests for module 'uniwbrk/u16-wordbreaks'.
86594         * modules/uniwbrk/u16-wordbreaks-tests: New file.
86595         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
86597         Tests for module 'uniwbrk/u8-wordbreaks'.
86598         * modules/uniwbrk/u8-wordbreaks-tests: New file.
86599         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
86601 2009-02-10  Bruno Haible  <bruno@clisp.org>
86603         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
86604         property.
86605         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
86606         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
86607         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
86609 2009-02-10  Simon Josefsson  <simon@josefsson.org>
86611         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
86612         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
86614 2009-02-10  Bruno Haible  <bruno@clisp.org>
86616         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
86617         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
86618         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
86619         * lib/unilbrk/u8-possible-linebreaks.c: Update.
86620         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
86621         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
86623 2009-02-09  Simon Josefsson  <simon@josefsson.org>
86625         * lib/sockets.h (gl_fd_to_handle): New function.
86627         * tests/test-sockets.c: Call gl_fd_to_handle.
86629 2009-02-09  Bruno Haible  <bruno@clisp.org>
86631         * doc/havelib.texi: Document the conventions on bi-arch systems.
86633 2009-02-08  Bruno Haible  <bruno@clisp.org>
86635         Document the AC_LIB_LINKFLAGS macro.
86636         * doc/havelib.texi: New file, mostly written on 2005-05-24.
86637         * doc/gnulib.texi: Include it.
86639 2009-02-08  Bruno Haible  <bruno@clisp.org>
86641         Fix wrong order of sections, compared to TOC.
86642         * doc/gnulib.texi: Include relocatable-maint.texi after the
86643         "Regular expressions" node, not before.
86645 2009-02-08  Bruno Haible  <bruno@clisp.org>
86647         Tests for module 'unicase/totitle'.
86648         * modules/unicase/totitle-tests: New file.
86650         Tests for module 'unicase/tolower'.
86651         * modules/unicase/tolower-tests: New file.
86653         Tests for module 'unicase/toupper'.
86654         * modules/unicase/toupper-tests: New file.
86655         * tests/unicase/test-mapping-part1.h: New file.
86656         * tests/unicase/test-mapping-part2.h: New file.
86658         New module 'unicase/totitle'.
86659         * modules/unicase/totitle: New file.
86660         * lib/unicase/totitle.c: New file.
86662         New module 'unicase/tolower'.
86663         * modules/unicase/tolower: New file.
86664         * lib/unicase/tolower.c: New file.
86666         New module 'unicase/toupper'.
86667         * modules/unicase/toupper: New file.
86668         * lib/unicase/toupper.c: New file.
86669         * lib/unicase/simple-mapping.h: New file.
86671         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
86672         (mapping_table): New structure.
86673         (output_simple_mapping): New function.
86674         (main): Invoke output_simple_mapping_test and output_simple_mapping.
86675         * modules/gen-uni-tables (Description): Update.
86676         * lib/unicase/toupper.h: New file, automatically generated by
86677         gen-uni-tables.
86678         * lib/unicase/tolower.h: New file, automatically generated by
86679         gen-uni-tables.
86680         * lib/unicase/totitle.h: New file, automatically generated by
86681         gen-uni-tables.
86682         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
86683         gen-uni-tables.
86684         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
86685         gen-uni-tables.
86686         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
86687         gen-uni-tables.
86689         New module 'unicase/base'.
86690         * modules/unicase/base: New file.
86691         * lib/unicase.h: New file.
86693 2009-02-08  Bruno Haible  <bruno@clisp.org>
86695         New module 'uniwbrk/ulc-wordbreaks'.
86696         * modules/uniwbrk/ulc-wordbreaks: New file.
86697         * lib/uniwbrk/ulc-wordbreaks.c: New file.
86699         New module 'uniwbrk/u32-wordbreaks'.
86700         * modules/uniwbrk/u32-wordbreaks: New file.
86701         * lib/uniwbrk/u32-wordbreaks.c: New file.
86703         New module 'uniwbrk/u16-wordbreaks'.
86704         * modules/uniwbrk/u16-wordbreaks: New file.
86705         * lib/uniwbrk/u16-wordbreaks.c: New file.
86707         New module 'uniwbrk/u8-wordbreaks'.
86708         * modules/uniwbrk/u8-wordbreaks: New file.
86709         * lib/uniwbrk/u8-wordbreaks.c: New file.
86710         * lib/uniwbrk/u-wordbreaks.h: New file.
86712         New module 'uniwbrk/table'.
86713         * modules/uniwbrk/table: New file.
86714         * lib/uniwbrk/wbrktable.h: New file.
86715         * lib/uniwbrk/wbrktable.c: New file.
86717         New module 'uniwbrk/wordbreak-property'.
86718         * modules/uniwbrk/wordbreak-property: New file.
86719         * lib/uniwbrk/wordbreak-property.c: New file.
86721         * lib/gen-uni-tables.c (WBP_*): New enum items.
86722         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
86723         (unicode_org_wbp): New variable.
86724         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
86725         New functions.
86726         (wbp_table): New structure.
86727         (output_wbp, output_wbrk_tables): New functions.
86728         (main): Accept additional argument. Invoke fill_org_wbp,
86729         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
86730         output_wbrk_tables.
86731         * modules/gen-uni-tables (Description): Update.
86732         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
86733         gen-uni-tables.
86735         New module 'uniwbrk/base'.
86736         * modules/uniwbrk/base: New file.
86737         * lib/uniwbrk.h: New file.
86739 2009-02-08  Bruno Haible  <bruno@clisp.org>
86741         Update to Unicode 5.1.0.
86742         * lib/gen-uni-tables.c (is_property_alphabetic): Include
86743         U+2185..U+2188.
86744         (is_property_default_ignorable_code_point): Don't include characters
86745         of category Cc or Cs and not-a-characters.
86746         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
86747         U+0D79, U+109E, U+109F, U+A60C.
86748         * lib/unictype/bidi_of.h: Regenerated.
86749         * lib/unictype/blocks.h: Regenerated.
86750         * lib/unictype/categ_C.h: Regenerated.
86751         * lib/unictype/categ_Cf.h: Regenerated.
86752         * lib/unictype/categ_Cn.h: Regenerated.
86753         * lib/unictype/categ_L.h: Regenerated.
86754         * lib/unictype/categ_Ll.h: Regenerated.
86755         * lib/unictype/categ_Lm.h: Regenerated.
86756         * lib/unictype/categ_Lo.h: Regenerated.
86757         * lib/unictype/categ_Lu.h: Regenerated.
86758         * lib/unictype/categ_M.h: Regenerated.
86759         * lib/unictype/categ_Mc.h: Regenerated.
86760         * lib/unictype/categ_Me.h: Regenerated.
86761         * lib/unictype/categ_Mn.h: Regenerated.
86762         * lib/unictype/categ_N.h: Regenerated.
86763         * lib/unictype/categ_Nd.h: Regenerated.
86764         * lib/unictype/categ_Nl.h: Regenerated.
86765         * lib/unictype/categ_No.h: Regenerated.
86766         * lib/unictype/categ_P.h: Regenerated.
86767         * lib/unictype/categ_Pd.h: Regenerated.
86768         * lib/unictype/categ_Pe.h: Regenerated.
86769         * lib/unictype/categ_Pf.h: Regenerated.
86770         * lib/unictype/categ_Pi.h: Regenerated.
86771         * lib/unictype/categ_Po.h: Regenerated.
86772         * lib/unictype/categ_Ps.h: Regenerated.
86773         * lib/unictype/categ_S.h: Regenerated.
86774         * lib/unictype/categ_Sk.h: Regenerated.
86775         * lib/unictype/categ_Sm.h: Regenerated.
86776         * lib/unictype/categ_So.h: Regenerated.
86777         * lib/unictype/categ_of.h: Regenerated.
86778         * lib/unictype/combining.h: Regenerated.
86779         * lib/unictype/ctype_alnum.h: Regenerated.
86780         * lib/unictype/ctype_alpha.h: Regenerated.
86781         * lib/unictype/ctype_graph.h: Regenerated.
86782         * lib/unictype/ctype_lower.h: Regenerated.
86783         * lib/unictype/ctype_print.h: Regenerated.
86784         * lib/unictype/ctype_punct.h: Regenerated.
86785         * lib/unictype/ctype_upper.h: Regenerated.
86786         * lib/unictype/decdigit.h: Regenerated.
86787         * lib/unictype/digit.h: Regenerated.
86788         * lib/unictype/mirror.h: Regenerated.
86789         * lib/unictype/numeric.h: Regenerated.
86790         * lib/unictype/pr_alphabetic.h: Regenerated.
86791         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
86792         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
86793         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
86794         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
86795         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
86796         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
86797         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
86798         * lib/unictype/pr_combining.h: Regenerated.
86799         * lib/unictype/pr_dash.h: Regenerated.
86800         * lib/unictype/pr_decimal_digit.h: Regenerated.
86801         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
86802         * lib/unictype/pr_deprecated.h: Regenerated.
86803         * lib/unictype/pr_diacritic.h: Regenerated.
86804         * lib/unictype/pr_extender.h: Regenerated.
86805         * lib/unictype/pr_format_control.h: Regenerated.
86806         * lib/unictype/pr_grapheme_base.h: Regenerated.
86807         * lib/unictype/pr_grapheme_extend.h: Regenerated.
86808         * lib/unictype/pr_grapheme_link.h: Regenerated.
86809         * lib/unictype/pr_id_continue.h: Regenerated.
86810         * lib/unictype/pr_id_start.h: Regenerated.
86811         * lib/unictype/pr_ideographic.h: Regenerated.
86812         * lib/unictype/pr_ignorable_control.h: Regenerated.
86813         * lib/unictype/pr_lowercase.h: Regenerated.
86814         * lib/unictype/pr_math.h: Regenerated.
86815         * lib/unictype/pr_numeric.h: Regenerated.
86816         * lib/unictype/pr_other_alphabetic.h: Regenerated.
86817         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
86818         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
86819         * lib/unictype/pr_other_id_continue.h: Regenerated.
86820         * lib/unictype/pr_other_lowercase.h: Regenerated.
86821         * lib/unictype/pr_other_math.h: Regenerated.
86822         * lib/unictype/pr_punctuation.h: Regenerated.
86823         * lib/unictype/pr_sentence_terminal.h: Regenerated.
86824         * lib/unictype/pr_soft_dotted.h: Regenerated.
86825         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
86826         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
86827         * lib/unictype/pr_unified_ideograph.h: Regenerated.
86828         * lib/unictype/pr_uppercase.h: Regenerated.
86829         * lib/unictype/pr_xid_continue.h: Regenerated.
86830         * lib/unictype/pr_xid_start.h: Regenerated.
86831         * lib/unictype/pr_zero_width.h: Regenerated.
86832         * lib/unictype/scripts.h: Regenerated.
86833         * lib/unictype/scripts_byname.gperf: Regenerated.
86834         * lib/unictype/sy_java_ident.h: Regenerated.
86835         * lib/unilbrk/lbrkprop1.h: Regenerated.
86836         * lib/unilbrk/lbrkprop2.h: Regenerated.
86837         * tests/unictype/test-categ_C.c: Regenerated.
86838         * tests/unictype/test-categ_Cf.c: Regenerated.
86839         * tests/unictype/test-categ_Cn.c: Regenerated.
86840         * tests/unictype/test-categ_L.c: Regenerated.
86841         * tests/unictype/test-categ_Ll.c: Regenerated.
86842         * tests/unictype/test-categ_Lm.c: Regenerated.
86843         * tests/unictype/test-categ_Lo.c: Regenerated.
86844         * tests/unictype/test-categ_Lu.c: Regenerated.
86845         * tests/unictype/test-categ_M.c: Regenerated.
86846         * tests/unictype/test-categ_Mc.c: Regenerated.
86847         * tests/unictype/test-categ_Me.c: Regenerated.
86848         * tests/unictype/test-categ_Mn.c: Regenerated.
86849         * tests/unictype/test-categ_N.c: Regenerated.
86850         * tests/unictype/test-categ_Nd.c: Regenerated.
86851         * tests/unictype/test-categ_Nl.c: Regenerated.
86852         * tests/unictype/test-categ_No.c: Regenerated.
86853         * tests/unictype/test-categ_P.c: Regenerated.
86854         * tests/unictype/test-categ_Pd.c: Regenerated.
86855         * tests/unictype/test-categ_Pe.c: Regenerated.
86856         * tests/unictype/test-categ_Pf.c: Regenerated.
86857         * tests/unictype/test-categ_Pi.c: Regenerated.
86858         * tests/unictype/test-categ_Po.c: Regenerated.
86859         * tests/unictype/test-categ_Ps.c: Regenerated.
86860         * tests/unictype/test-categ_S.c: Regenerated.
86861         * tests/unictype/test-categ_Sk.c: Regenerated.
86862         * tests/unictype/test-categ_Sm.c: Regenerated.
86863         * tests/unictype/test-categ_So.c: Regenerated.
86864         * tests/unictype/test-ctype_alnum.c: Regenerated.
86865         * tests/unictype/test-ctype_alpha.c: Regenerated.
86866         * tests/unictype/test-ctype_graph.c: Regenerated.
86867         * tests/unictype/test-ctype_lower.c: Regenerated.
86868         * tests/unictype/test-ctype_print.c: Regenerated.
86869         * tests/unictype/test-ctype_punct.c: Regenerated.
86870         * tests/unictype/test-ctype_upper.c: Regenerated.
86871         * tests/unictype/test-decdigit.h: Regenerated.
86872         * tests/unictype/test-digit.h: Regenerated.
86873         * tests/unictype/test-numeric.h: Regenerated.
86874         * tests/unictype/test-pr_alphabetic.c: Regenerated.
86875         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
86876         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
86877         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
86878         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
86879         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
86880         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
86881         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
86882         * tests/unictype/test-pr_combining.c: Regenerated.
86883         * tests/unictype/test-pr_dash.c: Regenerated.
86884         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
86885         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
86886         * tests/unictype/test-pr_deprecated.c: Regenerated.
86887         * tests/unictype/test-pr_diacritic.c: Regenerated.
86888         * tests/unictype/test-pr_extender.c: Regenerated.
86889         * tests/unictype/test-pr_format_control.c: Regenerated.
86890         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
86891         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
86892         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
86893         * tests/unictype/test-pr_id_continue.c: Regenerated.
86894         * tests/unictype/test-pr_id_start.c: Regenerated.
86895         * tests/unictype/test-pr_ideographic.c: Regenerated.
86896         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
86897         * tests/unictype/test-pr_lowercase.c: Regenerated.
86898         * tests/unictype/test-pr_math.c: Regenerated.
86899         * tests/unictype/test-pr_numeric.c: Regenerated.
86900         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
86901         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
86902         Regenerated.
86903         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
86904         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
86905         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
86906         * tests/unictype/test-pr_other_math.c: Regenerated.
86907         * tests/unictype/test-pr_punctuation.c: Regenerated.
86908         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
86909         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
86910         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
86911         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
86912         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
86913         * tests/unictype/test-pr_uppercase.c: Regenerated.
86914         * tests/unictype/test-pr_xid_continue.c: Regenerated.
86915         * tests/unictype/test-pr_xid_start.c: Regenerated.
86916         * tests/unictype/test-pr_zero_width.c: Regenerated.
86918         Update to Unicode 5.1.0.
86919         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
86920         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
86921         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
86922         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
86923         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
86924         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
86925         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
86926         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
86927         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
86928         (nonspacing_table_ind): Update.
86929         * tests/uniwidth/test-uc_width2.sh: Update expected result.
86931         Update to Unicode 5.1.0.
86932         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
86933         code transform.
86934         * lib/uniname/uniname.c (unicode_character_name,
86935         unicode_name_character): Add the range 0x1Fxxx to the code transform.
86936         * lib/uniname/uninames.h: Regenerated.
86937         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
86939 2009-02-07  Bruno Haible  <bruno@clisp.org>
86941         Merge gen-ctype and gen-lbrk into a single program.
86942         * lib/gen-uni-tables.c: New file, incorporating
86943         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
86944         Add directory prefixes to the names of the generated files.
86945         * lib/unictype/gen-ctype.c: Remove file.
86946         * lib/unilbrk/gen-lbrk.c: Remove file.
86947         * modules/gen-uni-tables: New file.
86948         * modules/unictype/gen-ctype: Remove file.
86949         * modules/unilbrk/gen-lbrk: Remove file.
86951 2009-02-07  Bruno Haible  <bruno@clisp.org>
86953         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
86955         New module 'unistr/u32-strcoll'.
86956         * modules/unistr/u32-strcoll: New file.
86957         * lib/unistr/u32-strcoll.c: New file.
86959         New module 'unistr/u16-strcoll'.
86960         * modules/unistr/u16-strcoll: New file.
86961         * lib/unistr/u16-strcoll.c: New file.
86963         New module 'unistr/u8-strcoll'.
86964         * modules/unistr/u8-strcoll: New file.
86965         * lib/unistr/u8-strcoll.c: New file.
86966         * lib/unistr/u-strcoll.h: New file.
86968 2009-02-07  Bruno Haible  <bruno@clisp.org>
86970         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
86971         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86972         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86973         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
86974         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
86975         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
86977 2009-02-07  Bruno Haible  <bruno@clisp.org>
86979         Make 64-bit clean.
86980         * lib/unictype/gen-ctype.c (output_predicate, output_category,
86981         output_combclass, output_bidi_category, output_decimal_digit,
86982         output_digit, output_numeric, output_mirror, output_scripts,
86983         output_ident_category): Use proper width specifier in format strings.
86985 2009-02-07  Bruno Haible  <bruno@clisp.org>
86987         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
86988         failure behaviour.
86990 2009-02-07  Jim Meyering  <meyering@redhat.com>
86992         regex: avoid compilation failure with upcoming gcc-4.4
86993         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
86994         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
86995         "... error: integer overflow in preprocessor expression".
86997 2009-02-05  Ben Pfaff  <blp@gnu.org>
86999         Fix link errors on Windows when close module is used.
87000         * modules/close: Add $(LIB_CLOSE) to Link section.
87001         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
87002         $(LIB_CLOSE) on Windows.
87004 2009-02-05  Jim Meyering  <meyering@redhat.com>
87006         still avoid unused-parameter warnings, but do it cleanly
87007         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
87008         (get_fs_usage): Cast to void instead.
87009         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
87010         (dev_from_mount_options, read_file_system_list): Cast to void.
87011         Prompted by Bruno Haible.
87013 2009-02-04  Jim Meyering  <meyering@redhat.com>
87015         fsusage.c: correct copyright year
87016         * lib/fsusage.c: Reflect year in which the change is pushed into
87018         avoid misc. warnings
87019         * lib/fsusage.c (UNUSED_PARAM): Define.
87020         (get_fs_usage): Mark parameter "disk" as unused.
87021         * lib/getugroups.c (getgrent): Use "void" in prototype.
87022         * lib/mountlist.c: Mark unused parameters.
87023         (read_file_system_list): Declare a local with "const".
87024         * lib/nanosleep.c (getnow): Declare static.
87025         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
87027         dirfd: set errno upon failure
87028         * lib/dirfd.c: Include <errno.h>.
87029         Set errno to ENOTSUP when returning -1.
87030         * modules/dirfd (Depends-on): Add errno.
87031         Suggested by John Kodis <kodis@comcast.net>.
87033 2009-02-01  Bruno Haible  <bruno@clisp.org>
87035         Don't assume sizeof (long) >= sizeof (void *).
87036         * lib/memcmp.c: Include stdint.h.
87037         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
87038         srcp2 to 'const byte *'.
87039         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
87040         types to uintptr_t.
87041         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
87042         * modules/memcmp (Depends-on): Add stdint.
87043         Reported by Ozkan Sezer <sezeroz@gmail.com>.
87045 2009-01-30  Eric Blake  <ebb9@byu.net>
87047         fix more require-before-expand issues
87048         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
87049         expand, AC_PROG_AWK.
87050         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
87052 2009-01-28  Eric Blake  <ebb9@byu.net>
87054         version-etc: use consistent URL formatting
87055         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
87056         Improve formatting.  Use fputs for string without %.
87058 2009-01-28  Jim Meyering  <meyering@redhat.com>
87060         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
87061         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
87062         "underquoted definition of NAME" from autoconf-2.59.
87064 2009-01-28  Bruno Haible  <bruno@clisp.org>
87066         * doc/gnulib.texi: Add "Obsolete modules" to index.
87068 2009-01-28  Jim Meyering  <meyering@redhat.com>
87070         useless-if-before-free: recognize more variants
87071         * build-aux/useless-if-before-free: Also recognize e.g.,
87072         if (NULL != p) free (p);
87074 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
87076         test-getaddrinfo: skip (don't fail) this test when there's no network
87077         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
87078         on the presumption that it means you lack network access.
87080 2009-01-26  Jim Meyering  <meyering@redhat.com>
87082         fflush: avoid warnings on modern systems
87083         * lib/fflush.c (rpl_fflush): Move declarations of locals,
87084         pos and result, into scopes where they're used.
87086 2009-01-26  Eric Blake  <ebb9@byu.net>
87088         Silence warning reintroduced by recent extensions patch.
87089         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
87090         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
87091         autoconf.
87093         Backport improved autoconf semantics of AC_DEFUN_ONCE.
87094         * m4/00gnulib.m4: New file.
87095         * gnulib-tool (func_get_filelist): Always use it.
87096         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
87097         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
87099 2009-01-25  Bruno Haible  <bruno@clisp.org>
87101         Make test-quotearg work on MacOS X and AIX.
87102         * tests/test-quotearg.sh: New file.
87103         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
87104         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
87105         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
87106         include <libintl.h>.
87107         (fake_locale): Remove variable.
87108         (gettext, dgettext, dcgettext): Remove functions.
87109         (main): Instead of setting a fake locale, set a real locale. Call
87110         textdomain and bindtextdomain.
87111         * modules/quotearg-tests (Files): Add the new files.
87112         (Depends-on): Add gettext, setenv, unsetenv.
87113         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
87114         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
87115         Augment TESTS_ENVIRONMENT.
87117 2009-01-25  Bruno Haible  <bruno@clisp.org>
87119         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
87120         fr_FR.ISO8859-1 locale on MacOS X.
87121         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
87122         ja_JP.eucJP locale on MacOS X.
87123         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
87124         zh_CN.GB18030 locale on MacOS X.
87126 2009-01-25  Bruno Haible  <bruno@clisp.org>
87128         Avoid link errors on MacOS X 10.3.
87129         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
87130         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
87132 2009-01-25  Bruno Haible  <bruno@clisp.org>
87134         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87135         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
87136         * modules/pipe (Files): Remove m4/posix_spawn.m4.
87137         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87138         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
87139         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87140         posix_spawnattr_init, posix_spawnattr_setsigmask,
87141         posix_spawnattr_setflags, posix_spawnattr_destroy.
87143         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
87144         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
87145         * modules/execute (Files): Remove m4/posix_spawn.m4.
87146         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
87147         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
87148         posix_spawnattr_init, posix_spawnattr_setsigmask,
87149         posix_spawnattr_setflags, posix_spawnattr_destroy.
87151 2009-01-25  Bruno Haible  <bruno@clisp.org>
87153         * lib/glthread/threadlib.c: Include <stdlib.h>.
87155 2009-01-25  Bruno Haible  <bruno@clisp.org>
87157         * lib/glthread/threadlib.c (dummy): New declaration.
87159 2009-01-25  Bruno Haible  <bruno@clisp.org>
87161         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
87162         multibyte characters also for the GB18030 encoding. Don't crash when
87163         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
87165 2009-01-25  Bruno Haible  <bruno@clisp.org>
87167         Avoid redefining 'struct random_data' on OSF/1 5.1.
87168         * lib/stdlib.in.h: Include <random.h> if it exists.
87169         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
87170         HAVE_RANDOM_H. Include <random.h> when testing whether
87171         'struct random_data' exists.
87172         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
87174 2009-01-25  Bruno Haible  <bruno@clisp.org>
87176         Don't install charset.alias on MacOS X >= 10.3.
87177         * lib/localcharset.c (DARWIN7): New macro.
87178         (get_charset_aliases): Hardcode the result for Darwin7.
87179         * modules/localcharset (install-exec-local): Don't install
87180         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
87182 2009-01-25  Bruno Haible  <bruno@clisp.org>
87184         Don't install charset.alias on mingw and Cygwin.
87185         * modules/localcharset (install-exec-local): Don't install
87186         charset.alias on mingw and Cygwin, if the file does not yet exist.
87187         The result for these platforms is hardcoded in localcharset.c.
87189 2009-01-25  Bruno Haible  <bruno@clisp.org>
87191         Make it possible again to use AC_GNU_SOURCE together with gnulib.
87192         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
87193         before requiring AC_USE_SYSTEM_EXTENSIONS.
87195 2009-01-25  Jim Meyering  <meyering@redhat.com>
87197         c-strtod: avoid warnings
87198         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
87199         "assignment discards qualifiers from pointer target type" warnings.
87201 2009-01-24  Bruno Haible  <bruno@clisp.org>
87203         Add support for non-UTF-8 locales on MacOS X.
87204         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
87205         canonical encodings. For Darwin 7 and newer, don't map traditional
87206         encodings to UTF-8.
87207         Reported by Vincent Lefevre <vincent@vinc17.org>
87208         at <http://savannah.gnu.org/bugs/?25235>.
87210 2009-01-24  Bruno Haible  <bruno@clisp.org>
87212         * doc/gnulib.texi (Obsolete modules): New section.
87213         Reported by Mike Frysinger <vapier@gentoo.org>.
87215 2009-01-24  Bruno Haible  <bruno@clisp.org>
87217         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
87218         (%.dvi): New rule.
87220 2009-01-24  Bruno Haible  <bruno@clisp.org>
87222         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
87223         Reported by Eric Blake.
87225 2009-01-24  Bruno Haible  <bruno@clisp.org>
87227         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
87228         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
87229         Reported by Gary V. Vaughan <gary@gnu.org>.
87231 2009-01-24  Bruno Haible  <bruno@clisp.org>
87233         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
87235 2009-01-23  Bruno Haible  <bruno@clisp.org>
87237         Make c-strtod, c-strtold usable in libraries.
87238         * lib/c-strtod.c: Include string.h instead of xalloc.h.
87239         (C_STRTOD): Call strdup instead of xstrdup.
87240         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
87241         * modules/c-strtold (Depends-on): Likewise.
87242         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
87243         * NEWS: Mention the change.
87244         Reported by Michael Gold <mgold@ncf.ca>.
87246 2009-01-23  Jim Meyering  <meyering@redhat.com>
87248         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
87249         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
87250         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
87252 2009-01-23  Simon Josefsson  <simon@josefsson.org>
87254         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
87255         GNU CoreUtils.
87256         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
87257         * modules/version-etc (Description): Update.
87259 2009-01-22  Bruno Haible  <bruno@clisp.org>
87261         Cache the C locale object.
87262         * lib/c-strtod.c (c_locale_cache): New variable.
87263         (c_locale): New function.
87264         (C_STRTOD): Use it, and don't call freelocale.
87265         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
87266         Suggested by Paolo Bonzini.
87268 2009-01-21  Bruno Haible  <bruno@clisp.org>
87270         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
87271         conditions other than overflow.
87273 2009-01-21  Bruno Haible  <bruno@clisp.org>
87275         * lib/c-strtod.c: Include errno.h.
87276         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
87277         value from STRTOD_L and STRTOD.
87279 2009-01-21  Bruno Haible  <bruno@clisp.org>
87280         and Jim Meyering  <meyering@redhat.com>
87282         nanosleep: skip configure test (fail it) for apple universal builds
87283         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
87284         universal builds, assume that nanosleep does not work.
87285         * modules/nanosleep (Depends-on): Add multiarch.
87287         mktime: skip configure test (fail it) for apple universal builds
87288         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
87289         universal builds, assume that mktime does not work.
87290         * modules/mktime (Depends-on): Add multiarch.
87292 2009-01-21  Eric Blake  <ebb9@byu.net>
87294         multiarch: avoid expand-before-require warning
87295         * modules/multiarch (configure.ac): Require, rather than expand,
87296         gl_MULTIARCH.
87297         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
87298         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
87299         enforce that all clients require it.  Partial reversion of
87300         2008-12-29 patch.
87302         error: avoid expand-before-require warning
87303         * modules/errno (configure.ac): Require, rather than expand,
87304         gl_HEADER_ERRNO_H.
87305         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
87306         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
87307         enforce that all clients require it.
87309         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
87310         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
87311         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
87312         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
87314 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
87316         Revert:
87317         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87319         regex: do not depend on obsolete modules.
87320         * modules/regex: Remove memcmp and memmove.
87322 2009-01-20  Bruno Haible  <bruno@clisp.org>
87324         Make the 'link' module link on Windows NT 4.
87325         * lib/link.c (_WIN32_WINNT): Don't define.
87326         (CreateHardLinkFuncType): New type.
87327         (CreateHardLinkFunc, initialized): New variables.
87328         (initialize): New function.
87329         (link): Invoke CreateHardLink indirectly through the function pointer.
87331 2009-01-20  Bruno Haible  <bruno@clisp.org>
87333         Fix compilation failure on mingw.
87334         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
87336 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
87338         * doc/c-strtod.texi: Mention a couple of restrictions.
87340 2009-01-20  Jim Meyering  <meyering@redhat.com>
87342         gettimeofday: move more declarations out of functions
87343         * lib/gettimeofday.c: Move extern declarations of tzset and
87344         gmtime out of containing functions.  Prompted by Bruno Haible.
87346 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87348         regex: do not depend on obsolete modules.
87349         * modules/regex: Remove memcmp and memmove.
87351 2009-01-19  Bruno Haible  <bruno@clisp.org>
87353         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87354         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
87355         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87356         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
87357         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
87359 2009-01-19  Bruno Haible  <bruno@clisp.org>
87361         * tests/test-link.c: Include <errno.h>.
87362         (main): Exit with code 77 when a hard link cannot be created due to
87363         the file system.
87364         * tests/test-link.sh: Skip test when a hard link cannot be created due
87365         to the file system.
87366         Suggested by Eric Blake.
87368 2009-01-19  Martin Lambers  <marlam@marlam.de>
87370         * modules/link-tests: New file.
87371         * tests/test-link.sh: New file.
87372         * tests/test-link.c: New file.
87374 2009-01-19  Eric Blake  <ebb9@byu.net>
87376         doc: mention another function added in cygwin 1.7.0
87377         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
87378         Another new function in cygwin 1.7.
87380 2009-01-19  Bruno Haible  <bruno@clisp.org>
87382         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87383         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
87384         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
87385         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87386         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
87387         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
87388         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
87389         * m4/md4.m4 (gl_MD4): Likewise.
87390         * m4/md5.m4 (gl_MD5): Likewise.
87391         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
87392         * m4/sha1.m4 (gl_SHA1): Likewise.
87393         * m4/sha256.m4 (gl_SHA256): Likewise.
87394         * m4/sha512.m4 (gl_SHA512): Likewise.
87396 2009-01-19  Bruno Haible  <bruno@clisp.org>
87398         * modules/uniname/uniname-tests (Depends-on): Add progname.
87399         * tests/uniname/test-uninames.c: Include progname.h.
87400         (main): Call set_program_name.
87402         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
87403         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
87404         (main): Call set_program_name.
87406         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
87407         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
87408         (main): Call set_program_name.
87410         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
87411         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
87412         (main): Call set_program_name.
87414         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
87415         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
87416         (main): Call set_program_name.
87418         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
87419         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
87420         (main): Call set_program_name.
87422         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
87423         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
87424         (main): Call set_program_name.
87426         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
87427         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
87428         (main): Call set_program_name.
87430         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
87431         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
87432         (main): Call set_program_name.
87434 2009-01-19  Eric Blake  <ebb9@byu.net>
87436         test-unistd: test previous patch
87437         * tests/test-unistd.c: Test *_FILENO macros.
87439         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
87440         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87441         Guarantee a definition.
87442         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
87443         * modules/unistd-safer (Depends-on): Add dependency on unistd.
87444         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
87445         * lib/dup-safer.c (STDERR_FILENO): Likewise.
87446         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87447         Likewise.
87448         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
87449         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
87450         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87451         Likewise.
87452         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
87453         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
87454         (STDERR_FILENO): Likewise.
87455         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
87456         (STDERR_FILENO): Likewise.
87457         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
87458         (STDERR_FILENO): Likewise.
87459         Reported by Elbert Pol.
87461 2009-01-19  Eric Blake  <ebb9@byu.net>
87463         doc: mention more functions added in cygwin 1.7.0
87464         * doc/posix-functions/abort.texi (abort): Update wording related
87465         to cygwin.
87466         * doc/posix-functions/daylight.texi (daylight): Likewise.
87467         * doc/posix-functions/optarg.texi (optarg): Likewise.
87468         * doc/posix-functions/optarg.texi (opterr): Likewise.
87469         * doc/posix-functions/optarg.texi (optind): Likewise.
87470         * doc/posix-functions/optarg.texi (optopt): Likewise.
87471         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
87472         worked in 1.5.x, and was withdrawn in 1.7.
87473         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
87474         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
87475         cygwin versions.
87476         * doc/posix-functions/perror.texi (perror): Likewise.
87477         * doc/posix-functions/printf.texi (printf): Likewise.
87478         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
87479         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
87480         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
87481         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
87482         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
87483         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
87484         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
87485         Likewise.
87486         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
87487         Likewise.
87488         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
87489         this function.
87490         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
87491         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
87492         Likewise.
87493         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
87494         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
87495         * doc/posix-functions/confstr.texi (confstr): Likewise.
87496         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
87497         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
87498         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
87499         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
87500         * doc/posix-functions/fputws.texi (fputws): Likewise.
87501         * doc/posix-functions/fwide.texi (fwide): Likewise.
87502         * doc/posix-functions/getwc.texi (getwc): Likewise.
87503         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
87504         * doc/posix-functions/putwc.texi (putwc): Likewise.
87505         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
87506         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
87507         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
87508         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
87509         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
87510         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
87511         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
87512         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
87513         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
87514         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
87515         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
87517 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87519         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
87520         * lib/ioctl.c: Include <sys/ioctl.h>.
87522 2009-01-19  Simon Josefsson  <simon@josefsson.org>
87524         * modules/getdate-tests (Depends-on): Add progname.
87525         * tests/test-getdate.c: Use progname module, to avoid link errors
87526         on non-glibc systems.
87528 2009-01-18  Simon Josefsson  <simon@josefsson.org>
87530         * modules/filenamecat-tests (Depends-on): Add progname.
87531         * modules/fstrcmp-tests (Depends-on): Likewise.
87533         * tests/test-filenamecat.c: Use progname module, to avoid link
87534         errors on non-glibc systems.
87535         * tests/test-fstrcmp.c: Likewise.
87537 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87539         gettimeofday: avoid warning: nested extern declaration of 'localtime'
87540         * lib/gettimeofday.c: Move extern declaration out of function.
87542 2009-01-18  Bruno Haible  <bruno@clisp.org>
87544         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
87545         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
87546         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
87548 2009-01-18  Bruno Haible  <bruno@clisp.org>
87550         * lib/strftime.c (MEMPCPY): Remove unused macro.
87551         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
87553 2009-01-18  Martin Lambers  <marlam@marlam.de>
87555         New module 'link'.
87556         * lib/unistd.in.h (link): New declaration.
87557         * lib/link.c: New file.
87558         * m4/link.m4: New file.
87559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
87560         HAVE_LINK.
87561         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
87562         * modules/link: New file.
87563         * doc/posix-functions/link.texi: Mention the new module.
87565 2009-01-18  Bruno Haible  <bruno@clisp.org>
87567         * tests/test-avltree_list.c (main): Call set_program_name.
87568         * tests/test-avltree_oset.c (main): Likewise.
87569         * tests/test-obstack-printf.c: Include progname.h.
87570         (main): Call set_program_name.
87571         * tests/test-quotearg.c: Include progname.h.
87572         (main): Call set_program_name.
87573         * tests/test-xmemdup0.c: Include progname.h.
87574         (main): Call set_program_name.
87576 2009-01-18  Bruno Haible  <bruno@clisp.org>
87578         New module 'alphasort'.
87579         * lib/dirent.in.h (alphasort): New declaration.
87580         * lib/alphasort.c: New file, from glibc with modifications.
87581         * m4/alphasort.m4: New file.
87582         * modules/alphasort: New file.
87583         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
87584         HAVE_ALPHASORT.
87585         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
87586         HAVE_ALPHASORT.
87587         * doc/posix-functions/alphasort.texi: Mention the new module and the
87588         portability problems.
87590 2009-01-18  Bruno Haible  <bruno@clisp.org>
87592         New module 'scandir'.
87593         * lib/dirent.in.h (scandir): New declaration.
87594         * lib/scandir.c: New file, from glibc with modifications.
87595         * m4/scandir.m4: New file.
87596         * modules/scandir: New file.
87597         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
87598         HAVE_SCANDIR.
87599         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
87600         HAVE_SCANDIR.
87601         * doc/posix-functions/scandir.texi: Mention the new module and the
87602         portability problems.
87604 2009-01-17  Bruno Haible  <bruno@clisp.org>
87606         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
87607         Update documentation.
87608         (func_remove_suffix): Escape all dots in the suffix. Update
87609         documentation.
87610         (func_filter_filelist): Update documentation.
87611         Reported by Ralf Wildenhues.
87613 2009-01-17  Bruno Haible  <bruno@clisp.org>
87615         * modules/dprintf-posix-tests: New file.
87616         * tests/test-dprintf-posix.sh: New file.
87617         * tests/test-dprintf-posix.c: New file.
87619         New modules 'dprintf', 'dprintf-posix'.
87620         * lib/stdio.in.h (dprintf): New declaration.
87621         * lib/dprintf.c: New file.
87622         * m4/dprintf.m4: New file.
87623         * m4/dprintf-posix.m4: New file.
87624         * modules/dprintf: New file.
87625         * modules/dprintf-posix: New file.
87626         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
87627         HAVE_DPRINTF, REPLACE_DPRINTF.
87628         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
87629         HAVE_DPRINTF, REPLACE_DPRINTF.
87630         * doc/posix-functions/dprintf.texi: Mention the new modules.
87632 2009-01-17  Bruno Haible  <bruno@clisp.org>
87634         * modules/vdprintf-posix-tests: New file.
87635         * tests/test-vdprintf-posix.sh: New file.
87636         * tests/test-vdprintf-posix.c: New file.
87638         New modules 'vdprintf', 'vdprintf-posix'.
87639         * lib/stdio.in.h (vdprintf): New declaration.
87640         * lib/vdprintf.c: New file.
87641         * m4/vdprintf.m4: New file.
87642         * m4/vdprintf-posix.m4: New file.
87643         * modules/vdprintf: New file.
87644         * modules/vdprintf-posix: New file.
87645         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
87646         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87647         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
87648         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87649         * doc/posix-functions/vdprintf.texi: Mention the new modules.
87651 2009-01-17  Bruno Haible  <bruno@clisp.org>
87653         Fix replacement of fopen on mingw.
87654         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
87655         mingw.
87657 2009-01-17  Bruno Haible  <bruno@clisp.org>
87659         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
87660         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
87662 2009-01-17  Bruno Haible  <bruno@clisp.org>
87664         Avoid test-fflush2.sh failure on mingw.
87665         * tests/test-fflush2.c: Include binary-io.h.
87666         (main): Put standard input into binary mode.
87667         * modules/fflush-tests (Depends-on): Add binary-io.
87669 2009-01-17  Bruno Haible  <bruno@clisp.org>
87671         * lib/wchar.in.h: In another particular situation, include only the
87672         system's <wchar.h> file.
87673         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
87674         Reported by Albert Chin-A-Young <china@thewrittenword.com>
87675         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
87677 2009-01-17  Bruno Haible  <bruno@clisp.org>
87679         Support for stripping executables in --enable-relocatable.
87680         * build-aux/install-reloc: Expect one more argument, or an environment
87681         variable RELOC_STRIP_PROG. If set, strip the destination program and
87682         its wrapper.
87683         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
87684         RELOC_STRIP_PROG.
87685         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
87686         to set RELOCATABLE_STRIP.
87687         * NEWS: Mention the new Makefile requirement.
87689 2009-01-17  Bruno Haible  <bruno@clisp.org>
87691         * build-aux/install-reloc: Remove debugging information left over by
87692         C compiler on MacOS X.
87694 2009-01-17  Bruno Haible  <bruno@clisp.org>
87696         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
87697         * lib/progreloc.c (find_executable): Fix type of pointer passed to
87698         _NSGetExecutablePath.
87700 2009-01-16  Jim Meyering  <meyering@redhat.com>
87702         strerror: avoid warnings about discarding "const"
87703         * lib/strerror.c (rpl_strerror): Instead of returning a const
87704         string from each and every "case", use a variable, and add a single
87705         cast after the switch.
87707 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
87709         * lib/arpa_inet.in.h: Add extern "C" block for C++.
87711 2009-01-16  Bruno Haible  <bruno@clisp.org>
87713         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
87714         array initializer syntax that also works in C++ mode.
87715         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87717 2009-01-16  Jim Meyering  <meyering@redhat.com>
87719         poll: suppress a warning
87720         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
87721         to ignore "...unsigned expression < 0 is always false" warnings.
87723 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
87725         poll: remove declarations of unused variables
87726         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
87727         sockbuf and optlen.
87729 2009-01-15  Bruno Haible  <bruno@clisp.org>
87731         Make fflush-after-ungetc POSIX compliant on BSD systems.
87732         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
87733         (clear_ungetc_buffer): Implement also for other systems.
87734         (rpl_fflush): On glibc systems, invoke
87735         clear_ungetc_buffer_preserving_position. Otherwise, invoke
87736         clear_ungetc_buffer after fetching the stream's position, not before.
87738 2009-01-15  Bruno Haible  <bruno@clisp.org>
87740         Make fflush-after-ungetc POSIX compliant on glibc systems.
87741         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
87742         after ungetc.
87743         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
87744         (rpl_fflush): On glibc systems, simply call the system's fflush
87745         function after clearing the ungetc buffer.
87746         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
87747         Instead, lseek only to the end of file, then use the system's fseeko
87748         for the rest. On glibc systems, reset the EOF indicator bit.
87750 2009-01-15  Jim Meyering  <meyering@redhat.com>
87752         openmp.m4: revert quote-adding change, for portability to older autoconf
87753         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
87754         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
87755         Simon Josefsson noticed the problem when using autoconf-2.61.
87757 2009-01-15  Bruno Haible  <bruno@clisp.org>
87759         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
87760         * tests/test-fflush2.c (ASSERT): Always fail.
87761         (main): Add two tests for fflush() after ungetc(), taking into account
87762         the Austin Group's clarification.
87763         Suggested by Eric Blake.
87765 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
87767         mktime.m4: remove K&R-style function prototypes
87768         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
87769         for the Sun C++ compiler.
87771 2009-01-14  Bruno Haible  <bruno@clisp.org>
87773         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
87774         while including <wchar.h>.
87775         * lib/wchar.in.h: In two particular situations on HP-UX, include only
87776         the system's <wchar.h> file.
87777         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87779 2009-01-14  Bruno Haible  <bruno@clisp.org>
87781         * m4/csharp.m4: Don't mention gettext on the serial number line.
87782         * m4/csharpexec.m4: Likewise.
87783         * m4/eaccess.m4: Likewise.
87784         * m4/javaexec.m4: Likewise.
87785         * m4/sig_atomic_t.m4: Likewise.
87786         * m4/tmpdir.m4: Likewise.
87787         * m4/intldir.m4: Bump gettext version.
87788         * m4/lib-ld.m4: Likewise.
87790 2009-01-14  Bruno Haible  <bruno@clisp.org>
87792         * lib/progname.c (set_program_name): Add more comments.
87793         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
87795 2009-01-14  Simon Josefsson  <simon@josefsson.org>
87797         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
87798         were sys/stat.h does not define it.
87800 2009-01-14  Jim Meyering  <meyering@redhat.com>
87802         many *.m4 files: improve m4 quoting
87803         99% of this change was performed by running the following commands:
87804         git ls-files | grep '\.m4$' | xargs perl -pi \
87805           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
87806           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87807           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87808           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
87809         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
87810         The remainder were to add Copyright dates, increment serial numbers,
87811         undo some changes in comments, exclude m4/intl.m4, and add quotes
87812         around the "1" in ",1" where the unusual spacing prohibited the
87813         above regexps from doing the job.  For more details, see
87814         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
87815         * m4/acl.m4: Modified.
87816         * m4/afs.m4: Likewise.
87817         * m4/alloca.m4: Likewise.
87818         * m4/argp.m4: Likewise.
87819         * m4/argz.m4: Likewise.
87820         * m4/atexit.m4: Likewise.
87821         * m4/bison-i18n.m4: Likewise.
87822         * m4/bison.m4: Likewise.
87823         * m4/byteswap.m4: Likewise.
87824         * m4/c-stack.m4: Likewise.
87825         * m4/c-strtod.m4: Likewise.
87826         * m4/calloc.m4: Likewise.
87827         * m4/canonicalize-lgpl.m4: Likewise.
87828         * m4/chown.m4: Likewise.
87829         * m4/clock_time.m4: Likewise.
87830         * m4/codeset.m4: Likewise.
87831         * m4/copy-file.m4: Likewise.
87832         * m4/csharp.m4: Likewise.
87833         * m4/csharpcomp.m4: Likewise.
87834         * m4/csharpexec.m4: Likewise.
87835         * m4/d-ino.m4: Likewise.
87836         * m4/d-type.m4: Likewise.
87837         * m4/dirfd.m4: Likewise.
87838         * m4/double-slash-root.m4: Likewise.
87839         * m4/eaccess.m4: Likewise.
87840         * m4/eealloc.m4: Likewise.
87841         * m4/environ.m4: Likewise.
87842         * m4/errno_h.m4: Likewise.
87843         * m4/euidaccess.m4: Likewise.
87844         * m4/execute.m4: Likewise.
87845         * m4/fatal-signal.m4: Likewise.
87846         * m4/fchdir.m4: Likewise.
87847         * m4/fcntl_h.m4: Likewise.
87848         * m4/fileblocks.m4: Likewise.
87849         * m4/filenamecat.m4: Likewise.
87850         * m4/findprog.m4: Likewise.
87851         * m4/flexmember.m4: Likewise.
87852         * m4/fnmatch.m4: Likewise.
87853         * m4/fopen.m4: Likewise.
87854         * m4/fpending.m4: Likewise.
87855         * m4/fprintf-posix.m4: Likewise.
87856         * m4/free.m4: Likewise.
87857         * m4/frexp.m4: Likewise.
87858         * m4/frexpl.m4: Likewise.
87859         * m4/fsusage.m4: Likewise.
87860         * m4/ftruncate.m4: Likewise.
87861         * m4/gc-camellia.m4: Likewise.
87862         * m4/gc-random.m4: Likewise.
87863         * m4/gc.m4: Likewise.
87864         * m4/getaddrinfo.m4: Likewise.
87865         * m4/getcwd-abort-bug.m4: Likewise.
87866         * m4/getcwd-path-max.m4: Likewise.
87867         * m4/getdate.m4: Likewise.
87868         * m4/getdomainname.m4: Likewise.
87869         * m4/getgroups.m4: Likewise.
87870         * m4/gethostname.m4: Likewise.
87871         * m4/gethrxtime.m4: Likewise.
87872         * m4/getline.m4: Likewise.
87873         * m4/getloadavg.m4: Likewise.
87874         * m4/getndelim2.m4: Likewise.
87875         * m4/getpass.m4: Likewise.
87876         * m4/gettext.m4: Likewise.
87877         * m4/gettime.m4: Likewise.
87878         * m4/gettimeofday.m4: Likewise.
87879         * m4/gnulib-common.m4: Likewise.
87880         * m4/group-member.m4: Likewise.
87881         * m4/host-os.m4: Likewise.
87882         * m4/iconv.m4: Likewise.
87883         * m4/iconv_open.m4: Likewise.
87884         * m4/inet_ntop.m4: Likewise.
87885         * m4/inet_pton.m4: Likewise.
87886         * m4/inline.m4: Likewise.
87887         * m4/intldir.m4: Likewise.
87888         * m4/intlmacosx.m4: Likewise.
87889         * m4/intmax.m4: Likewise.
87890         * m4/intmax_t.m4: Likewise.
87891         * m4/inttypes.m4: Likewise.
87892         * m4/inttypes_h.m4: Likewise.
87893         * m4/inttypes-pri.m4: Likewise.
87894         * m4/isapipe.m4: Likewise.
87895         * m4/isnand.m4: Likewise.
87896         * m4/isnanf.m4: Likewise.
87897         * m4/isnanl.m4: Likewise.
87898         * m4/javacomp.m4: Likewise.
87899         * m4/javaexec.m4: Likewise.
87900         * m4/jm-winsz1.m4: Likewise.
87901         * m4/jm-winsz2.m4: Likewise.
87902         * m4/lchown.m4: Likewise.
87903         * m4/lcmessage.m4: Likewise.
87904         * m4/ldexpl.m4: Likewise.
87905         * m4/lib-ld.m4: Likewise.
87906         * m4/lib-link.m4: Likewise.
87907         * m4/libsigsegv.m4: Likewise.
87908         * m4/link-follow.m4: Likewise.
87909         * m4/localcharset.m4: Likewise.
87910         * m4/locale-fr.m4: Likewise.
87911         * m4/locale-ja.m4: Likewise.
87912         * m4/locale-tr.m4: Likewise.
87913         * m4/locale-zh.m4: Likewise.
87914         * m4/lock.m4: Likewise.
87915         * m4/longlong.m4: Likewise.
87916         * m4/ls-mntd-fs.m4: Likewise.
87917         * m4/lstat.m4: Likewise.
87918         * m4/malloc.m4: Likewise.
87919         * m4/mathl.m4: Likewise.
87920         * m4/mbrtowc.m4: Likewise.
87921         * m4/mbstate_t.m4: Likewise.
87922         * m4/mbswidth.m4: Likewise.
87923         * m4/memchr.m4: Likewise.
87924         * m4/memcmp.m4: Likewise.
87925         * m4/memcpy.m4: Likewise.
87926         * m4/memmem.m4: Likewise.
87927         * m4/memmove.m4: Likewise.
87928         * m4/mempcpy.m4: Likewise.
87929         * m4/memrchr.m4: Likewise.
87930         * m4/memset.m4: Likewise.
87931         * m4/minmax.m4: Likewise.
87932         * m4/mkdir-slash.m4: Likewise.
87933         * m4/mkdtemp.m4: Likewise.
87934         * m4/mktime.m4: Likewise.
87935         * m4/mmap-anon.m4: Likewise.
87936         * m4/mountlist.m4: Likewise.
87937         * m4/nanosleep.m4: Likewise.
87938         * m4/nls.m4: Likewise.
87939         * m4/nocrash.m4: Likewise.
87940         * m4/open.m4: Likewise.
87941         * m4/openat.m4: Likewise.
87942         * m4/openmp.m4: Likewise.
87943         * m4/pathmax.m4: Likewise.
87944         * m4/perl.m4: Likewise.
87945         * m4/physmem.m4: Likewise.
87946         * m4/pipe.m4: Likewise.
87947         * m4/po.m4: Likewise.
87948         * m4/poll.m4: Likewise.
87949         * m4/posixtm.m4: Likewise.
87950         * m4/posixver.m4: Likewise.
87951         * m4/printf-frexp.m4: Likewise.
87952         * m4/printf-frexpl.m4: Likewise.
87953         * m4/printf-posix.m4: Likewise.
87954         * m4/printf-posix-rpl.m4: Likewise.
87955         * m4/printf.m4: Likewise.
87956         * m4/progtest.m4: Likewise.
87957         * m4/putenv.m4: Likewise.
87958         * m4/readline.m4: Likewise.
87959         * m4/readlink.m4: Likewise.
87960         * m4/readutmp.m4: Likewise.
87961         * m4/realloc.m4: Likewise.
87962         * m4/regex.m4: Likewise.
87963         * m4/relocatable.m4: Likewise.
87964         * m4/relocatable-lib.m4: Likewise.
87965         * m4/rename-dest-slash.m4: Likewise.
87966         * m4/rename.m4: Likewise.
87967         * m4/rmdir-errno.m4: Likewise.
87968         * m4/rmdir.m4: Likewise.
87969         * m4/roundf.m4: Likewise.
87970         * m4/roundl.m4: Likewise.
87971         * m4/rpmatch.m4: Likewise.
87972         * m4/save-cwd.m4: Likewise.
87973         * m4/selinux-selinux-h.m4: Likewise.
87974         * m4/setenv.m4: Likewise.
87975         * m4/settime.m4: Likewise.
87976         * m4/sig2str.m4: Likewise.
87977         * m4/sig_atomic_t.m4: Likewise.
87978         * m4/signalblocking.m4: Likewise.
87979         * m4/signbit.m4: Likewise.
87980         * m4/sigpipe.m4: Likewise.
87981         * m4/sockets.m4: Likewise.
87982         * m4/sockpfaf.m4: Likewise.
87983         * m4/st_dm_mode.m4: Likewise.
87984         * m4/stat-time.m4: Likewise.
87985         * m4/stdbool.m4: Likewise.
87986         * m4/stdint.m4: Likewise.
87987         * m4/stdint_h.m4: Likewise.
87988         * m4/stpcpy.m4: Likewise.
87989         * m4/stpncpy.m4: Likewise.
87990         * m4/strcase.m4: Likewise.
87991         * m4/strchrnul.m4: Likewise.
87992         * m4/strcspn.m4: Likewise.
87993         * m4/strdup.m4: Likewise.
87994         * m4/strftime.m4: Likewise.
87995         * m4/strndup.m4: Likewise.
87996         * m4/strnlen.m4: Likewise.
87997         * m4/strpbrk.m4: Likewise.
87998         * m4/strptime.m4: Likewise.
87999         * m4/strsep.m4: Likewise.
88000         * m4/strtod.m4: Likewise.
88001         * m4/strtoimax.m4: Likewise.
88002         * m4/strtok_r.m4: Likewise.
88003         * m4/strtol.m4: Likewise.
88004         * m4/strtoll.m4: Likewise.
88005         * m4/strtoul.m4: Likewise.
88006         * m4/strtoull.m4: Likewise.
88007         * m4/strtoumax.m4: Likewise.
88008         * m4/strverscmp.m4: Likewise.
88009         * m4/threadlib.m4: Likewise.
88010         * m4/timegm.m4: Likewise.
88011         * m4/tm_gmtoff.m4: Likewise.
88012         * m4/tmpdir.m4: Likewise.
88013         * m4/tmpfile.m4: Likewise.
88014         * m4/tzset.m4: Likewise.
88015         * m4/uintmax_t.m4: Likewise.
88016         * m4/unlinkdir.m4: Likewise.
88017         * m4/unlocked-io.m4: Likewise.
88018         * m4/uptime.m4: Likewise.
88019         * m4/userspec.m4: Likewise.
88020         * m4/utimbuf.m4: Likewise.
88021         * m4/utime.m4: Likewise.
88022         * m4/utimes-null.m4: Likewise.
88023         * m4/utimes.m4: Likewise.
88024         * m4/vararrays.m4: Likewise.
88025         * m4/vasnprintf.m4: Likewise.
88026         * m4/vfprintf-posix.m4: Likewise.
88027         * m4/vprintf-posix.m4: Likewise.
88028         * m4/wait-process.m4: Likewise.
88029         * m4/wchar_t.m4: Likewise.
88030         * m4/wint_t.m4: Likewise.
88031         * m4/write-any-file.m4: Likewise.
88032         * m4/yield.m4: Likewise.
88034 2009-01-13  Bruno Haible  <bruno@clisp.org>
88036         Avoid test-copy-file.sh failures when ACL support insufficient.
88037         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
88038         TESTS_ENVIRONMENT.
88039         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
88040         Reported by Jim Meyering.
88042 2009-01-13  Bruno Haible  <bruno@clisp.org>
88044         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
88045         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
88046         * modules/unistdio/u8-printf-parse (Files): Likewise.
88047         * modules/unistdio/u32-printf-parse (Files): Likewise.
88048         * modules/unistdio/ulc-printf-parse (Files): Likewise.
88050 2009-01-13  Simon Josefsson  <simon@josefsson.org>
88052         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
88053         and m4/inttypes_h.m4 too.
88055 2009-01-12  Eric Blake  <ebb9@byu.net>
88057         tests: IRIX 6.2 cc can't compile -0.0 into .data
88058         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
88059         rather than at compile-time.
88060         * tests/test-floorl.c (minus_zero): Likewise.
88061         * tests/test-frexpl.c (minus_zero): Likewise.
88062         * tests/test-isnan.c (minus_zerol): Likewise.
88063         * tests/test-isnanl.h (minus_zero): Likewise.
88064         * tests/test-ldexpl.c (minus_zero): Likewise.
88065         * tests/test-roundl.c (minus_zero): Likewise.
88066         * tests/test-signbit.c (minus_zerol): Likewise.
88067         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
88068         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
88069         * tests/test-truncl.c (minus_zero): Likewise.
88070         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
88071         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
88072         Reported by Tom G. Christensen and Nelson H. F. Beebe.
88074 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88076         regex: fix glibc bug 9697
88077         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
88078         handling.
88080 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88082         regex: fix glibc bug 697
88083         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
88084         being NULL also if there are no backreferences.
88086 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
88088         regex: merge glibc changes
88089         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
88090         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
88091         re_string_skip_chars, re_string_reconstruct): Likewise.
88092         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
88094 2009-01-07  Jim Meyering  <meyering@redhat.com>
88096         poll: filter through cppi
88097         * lib/poll.c: Indent cpp directives to reflect nesting.
88099 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
88101         poll: don't return uninitialized
88102         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
88104 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
88106         avoid compile failure on AIX 6.1
88107         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
88108         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
88110 2009-01-04  Jim Meyering  <meyering@redhat.com>
88112         remove duplicate inclusion of <stdio.h>
88113         * tests/test-fprintf-posix.c: Likewise.
88114         * tests/test-printf-posix.c: Likewise.
88115         * tests/test-snprintf-posix.c: Likewise.
88116         * tests/test-sprintf-posix.c: Likewise.
88117         * tests/test-vasprintf-posix.c: Likewise.
88118         * tests/test-vfprintf-posix.c: Likewise.
88119         * tests/test-vprintf-posix.c: Likewise.
88120         * tests/test-vsnprintf-posix.c: Likewise.
88121         * tests/test-vsprintf-posix.c: Likewise.
88123 2009-01-03  Jim Meyering  <meyering@redhat.com>
88125         gnulib-tool: fix sed-based filtering
88126         * gnulib-tool (func_filter_filelist): Remove extra backslash
88127         in sed_fff_filter definition.
88129 2009-01-02  Jim Meyering  <meyering@redhat.com>
88131         strftime: avoid compilation failure on Solaris 2.6
88132         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
88133         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
88134         Don't #define mbrlen or mbsinit, since now they're guaranteed to
88135         be available.  Reported by Tom G. Christensen.  Details in
88136         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
88138 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88139             Bruno Haible  <bruno@clisp.org>
88141         Speed up gnulib-tool by doing more string processing through shell
88142         built-ins.
88143         * gnulib-tool (fast_func_append): New variable.
88144         (func_remove_prefix, func_remove_suffix): New functions.
88145         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
88146         (func_filter_filelist): New function.
88147         (func_get_dependencies): Use func_remove_suffix instead of sed.
88148         (func_get_automake_snippet): Use func_filter_filelist instead of a
88149         subshell and sed invocation.
88151 2009-01-01  Bruno Haible  <bruno@clisp.org>
88153         Fix a security bug.
88154         * gnulib-tool (func_import, import, update): Don't allow the characters
88155         '"', '$', '`', '\' in macro arguments that become part of commands that
88156         are evaluated.
88158 2009-01-01  Bruno Haible  <bruno@clisp.org>
88160         * gnulib-tool (func_reset_sigpipe): Add more comments.
88162 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88164         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
88165         func_emit_tests_Makefile_am, func_import): Abort loops early if we
88166         already know the answer.
88168 2009-01-01  Jim Meyering  <meyering@redhat.com>
88170         * lib/version-etc.c (version_etc_va): Update copyright year.
88172 2008-12-30  Bruno Haible  <bruno@clisp.org>
88174         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
88175         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
88176         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
88178 2008-12-29  Eric Blake  <ebb9@byu.net>
88180         multiarch: avoid autoconf AC_REQUIRE bug
88181         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
88182         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
88183         2.63 and older.
88184         Reported by Bruno Haible, and analyzed in
88185         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
88187 2008-12-29  Bruno Haible  <bruno@clisp.org>
88189         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
88190         files in subdirectories correctly.
88191         Reported by Ralf Wildenhues.
88193 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88195         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
88196         rather than 'join FILE -', for Solaris join.
88198 2008-12-29  Bruno Haible  <bruno@clisp.org>
88200         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
88201         quoting.
88202         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88203         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
88204         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
88205         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
88206         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
88207         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
88208         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
88209         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
88210         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
88211         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
88212         * m4/nls.m4 (AM_NLS): Likewise.
88213         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
88214         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
88215         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88216         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
88217         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
88218         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
88219         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
88220         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
88221         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
88222         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
88223         * m4/xsize.m4 (gl_XSIZE): Likewise.
88224         Suggested by Jim Meyering.
88226 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88228         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
88229         * lib/parse-duration.c: use a switch instead of cascading if's.
88231 2008-12-29  Eric Blake  <ebb9@byu.net>
88233         wchar.h: supply WEOF on Irix 5.3
88234         * lib/wchar.in.h (wint_t): Also supply WEOF.
88235         * lib/wctype.in.h (wint_t): Likewise.
88236         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
88237         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
88238         Reported by Tom G. Christensen.
88240 2008-12-26  Bruno Haible  <bruno@clisp.org>
88242         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
88243         i486, i586, i686.
88245 2008-12-26  Bruno Haible  <bruno@clisp.org>
88247         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
88249 2008-12-26  Bruno Haible  <bruno@clisp.org>
88251         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
88252         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
88253         not __STDC_CONSTANT_MACROS.
88254         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
88256 2008-12-25  Bruno Haible  <bruno@clisp.org>
88258         Add support for universal builds to vasnprintf.
88259         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
88260         universal builds, guess no.
88261         * modules/vasnprintf-posix (Depends-on): Add multiarch.
88262         * modules/vasprintf-posix (Depends-on): Likewise.
88263         * modules/fprintf-posix (Depends-on): Likewise.
88264         * modules/vfprintf-posix (Depends-on): Likewise.
88265         * modules/snprintf-posix (Depends-on): Likewise.
88266         * modules/vsnprintf-posix (Depends-on): Likewise.
88267         * modules/sprintf-posix (Depends-on): Likewise.
88268         * modules/vsprintf-posix (Depends-on): Likewise.
88269         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
88270         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
88271         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
88272         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
88273         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
88274         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
88275         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
88277         Add support for universal builds to <inttypes.h>.
88278         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
88279         _SCNu64_PREFIX): In Apple
88280         universal builds, define directly, using _LP64.
88281         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
88282         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
88283         * modules/inttypes (Depends-on): Add multiarch.
88284         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88286         Add support for universal builds to <stdint.h>.
88287         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
88288         universal builds, define directly, using _LP64.
88289         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
88290         Apple universal builds, don't test for the size and suffix of ptrdiff_t
88291         and size_t.
88292         * modules/stdint (Depends-on): Add multiarch.
88293         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88295         New module 'multiarch'.
88296         * modules/multiarch: New file.
88297         * m4/multiarch.m4: New file.
88299 2008-12-25  Bruno Haible  <bruno@clisp.org>
88301         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
88303 2008-12-25  Bruno Haible  <bruno@clisp.org>
88305         * modules/btowc (License): Relicense under LGPLv2+.
88306         * modules/mbsinit (License): Likewise.
88307         * modules/mbrtowc (License): Likewise.
88308         * modules/wcrtomb (License): Likewise.
88309         * modules/streq (License): Likewise.
88310         Reported by David Lutterkort <lutter@redhat.com>.
88312 2008-12-23  Bruno Haible  <bruno@clisp.org>
88314         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
88316 2008-12-23  Bruno Haible  <bruno@clisp.org>
88318         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
88319         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
88320         GETADDRINFO_LIB, not in LIBS.
88321         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
88322         * modules/canon-host (Link): Likewise.
88323         * NEWS: Mention the change.
88324         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
88325         GETADDRINFO_LIB.
88327 2008-12-22  Bruno Haible  <bruno@clisp.org>
88329         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
88330         * doc/posix-functions/iswalpha_l.texi: Likewise.
88331         * doc/posix-functions/iswblank_l.texi: Likewise.
88332         * doc/posix-functions/iswcntrl_l.texi: Likewise.
88333         * doc/posix-functions/iswctype_l.texi: Likewise.
88334         * doc/posix-functions/iswdigit_l.texi: Likewise.
88335         * doc/posix-functions/iswgraph_l.texi: Likewise.
88336         * doc/posix-functions/iswlower_l.texi: Likewise.
88337         * doc/posix-functions/iswprint_l.texi: Likewise.
88338         * doc/posix-functions/iswpunct_l.texi: Likewise.
88339         * doc/posix-functions/iswspace_l.texi: Likewise.
88340         * doc/posix-functions/iswupper_l.texi: Likewise.
88341         * doc/posix-functions/iswxdigit_l.texi: Likewise.
88342         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
88343         * doc/posix-functions/open_wmemstream.texi: Likewise.
88344         * doc/posix-functions/swscanf.texi: Likewise.
88345         * doc/posix-functions/towctrans_l.texi: Likewise.
88346         * doc/posix-functions/towlower.texi: Likewise.
88347         * doc/posix-functions/towlower_l.texi: Likewise.
88348         * doc/posix-functions/towupper.texi: Likewise.
88349         * doc/posix-functions/towupper_l.texi: Likewise.
88350         * doc/posix-functions/vfwprintf.texi: Likewise.
88351         * doc/posix-functions/vfwscanf.texi: Likewise.
88352         * doc/posix-functions/vswscanf.texi: Likewise.
88353         * doc/posix-functions/vwprintf.texi: Likewise.
88354         * doc/posix-functions/vwscanf.texi: Likewise.
88355         * doc/posix-functions/wcpcpy.texi: Likewise.
88356         * doc/posix-functions/wcpncpy.texi: Likewise.
88357         * doc/posix-functions/wcscasecmp.texi: Likewise.
88358         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
88359         * doc/posix-functions/wcscoll_l.texi: Likewise.
88360         * doc/posix-functions/wcsdup.texi: Likewise.
88361         * doc/posix-functions/wcsncasecmp.texi: Likewise.
88362         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
88363         * doc/posix-functions/wcsnlen.texi: Likewise.
88364         * doc/posix-functions/wcsnrtombs.texi: Likewise.
88365         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
88366         * doc/posix-functions/wctrans_l.texi: Likewise.
88367         * doc/posix-functions/wctype_l.texi: Likewise.
88368         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
88369         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
88370         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
88371         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
88372         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
88373         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
88374         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
88375         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
88376         * doc/glibc-functions/wcschrnul.texi: Likewise.
88377         * doc/glibc-functions/wcsftime_l.texi: Likewise.
88378         * doc/glibc-functions/wcstod_l.texi: Likewise.
88379         * doc/glibc-functions/wcstof_l.texi: Likewise.
88380         * doc/glibc-functions/wcstol_l.texi: Likewise.
88381         * doc/glibc-functions/wcstold_l.texi: Likewise.
88382         * doc/glibc-functions/wcstoll_l.texi: Likewise.
88383         * doc/glibc-functions/wcstoq.texi: Likewise.
88384         * doc/glibc-functions/wcstoul_l.texi: Likewise.
88385         * doc/glibc-functions/wcstoull_l.texi: Likewise.
88386         * doc/glibc-functions/wcstouq.texi: Likewise.
88387         * doc/glibc-functions/wmempcpy.texi: Likewise.
88389 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
88390             Eric Blake  <ebb9@byu.net>
88391             Paolo Bonzini  <bonzini@gnu.org>
88392             Bruno Haible  <bruno@clisp.org>
88394         Make c-stack work on Haiku.
88395         * lib/c-stack.c (SA_ONSTACK): Define fallback.
88396         (c_stack_action): Use SA_ONSTACK flag.
88398 2008-12-22  Bruno Haible  <bruno@clisp.org>
88400         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
88402 2008-12-22  Bruno Haible  <bruno@clisp.org>
88404         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
88405         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
88406         being overridden.
88407         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
88408         New macros.
88409         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
88410         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
88411         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
88412         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
88414 2008-12-22  Bruno Haible  <bruno@clisp.org>
88416         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
88417         from test code.
88419 2008-12-22  Eric Blake  <ebb9@byu.net>
88421         Avoid gcc warnings on cygwin.
88422         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
88423         Avoid unused variable.
88424         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
88425         Likewise.
88427 2008-12-22  Bruno Haible  <bruno@clisp.org>
88429         Remove HAVE_MBRTOWC conditionals.
88430         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
88431         (mbscasecmp): Assume mbrtowc function.
88432         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
88433         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
88434         * lib/mbschr.c: Include mbuiter.h unconditionally.
88435         (mbschr): Assume mbrtowc function.
88436         * lib/mbscspn.c: Include mbuiter.h unconditionally.
88437         (mbscspn): Assume mbrtowc function.
88438         * lib/mbslen.c: Include mbuiter.h unconditionally.
88439         (mbslen): Assume mbrtowc function.
88440         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
88441         (mbsncasecmp): Assume mbrtowc function.
88442         * lib/mbsnlen.c: Include mbiter.h unconditionally.
88443         (mbsnlen): Assume mbrtowc function.
88444         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
88445         (mbspbrk): Assume mbrtowc function.
88446         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
88447         (mbspcasecmp): Assume mbrtowc function.
88448         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
88449         (mbsrchr): Assume mbrtowc function.
88450         * lib/mbssep.c: Include mbuiter.h unconditionally.
88451         (mbssep): Assume mbrtowc function.
88452         * lib/mbsspn.c: Include mbuiter.h unconditionally.
88453         (mbsspn): Assume mbrtowc function.
88454         * lib/mbsstr.c: Include mbuiter.h unconditionally.
88455         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
88456         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
88457         (mbstok_r): Assume mbrtowc function.
88458         * lib/propername.c: Include mbuiter.h unconditionally.
88459         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
88460         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
88461         (trim2): Assume mbrtowc function.
88462         * lib/mbswidth.c (mbsinit): Remove fallback definition.
88463         (mbsnwidth): Assume mbrtowc function.
88464         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
88465         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
88466         fallback definitions.
88467         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
88469 2008-12-22  Bruno Haible  <bruno@clisp.org>
88471         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
88473 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
88475         * modules/regex: Request emulations for the mb*/wc* functions we need.
88476         * m4/regex.m4: Don't look for those functions here.
88477         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
88479 2008-12-22  Bruno Haible  <bruno@clisp.org>
88481         * modules/fnmatch (Depends-on): Remove duplicated dependency.
88483 2008-12-21  Bruno Haible  <bruno@clisp.org>
88485         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
88486         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
88487         (Include): Remove conditionalization.
88488         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
88489         (Include): Remove conditionalization.
88490         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
88491         (Include): Remove conditionalization.
88492         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
88493         * m4/mbfile.m4 (gl_MBFILE): Likewise.
88494         * NEWS: Mention the change.
88495         Reported by Alan Hourihane <alanh@fairlite.co.uk>
88496         via Sergey Poznyakoff <gray@gnu.org.ua>.
88498 2008-12-21  Bruno Haible  <bruno@clisp.org>
88500         * MODULES.html.sh (Extended multibyte and wide character utilities
88501         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
88502         wcrtomb, wcsrtombs.
88503         (Support for systems lacking POSIX:2008): Add accept, bind, close,
88504         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
88505         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
88506         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
88508 2008-12-21  Bruno Haible  <bruno@clisp.org>
88510         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
88512 2008-12-21  Bruno Haible  <bruno@clisp.org>
88514         * modules/wcsnrtombs-tests: New file.
88515         * tests/test-wcsnrtombs1.sh: New file.
88516         * tests/test-wcsnrtombs2.sh: New file.
88517         * tests/test-wcsnrtombs3.sh: New file.
88518         * tests/test-wcsnrtombs4.sh: New file.
88519         * tests/test-wcsnrtombs.c: New file.
88521         New module 'wcsnrtombs'.
88522         * lib/wchar.in.h (wcsnrtombs): New declaration.
88523         * lib/wcsnrtombs.c: New file.
88524         * lib/wcsrtombs-state.c: New file.
88525         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
88526         (internal_state): Remove variable.
88527         * m4/wcsnrtombs.m4: New file.
88528         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
88529         compilation units.
88530         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
88531         HAVE_WCSNRTOMBS.
88532         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
88533         HAVE_WCSNRTOMBS.
88534         * modules/wcsnrtombs: New file.
88535         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
88536         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
88538 2008-12-21  Bruno Haible  <bruno@clisp.org>
88540         * modules/wcsrtombs-tests: New file.
88541         * tests/test-wcsrtombs1.sh: New file.
88542         * tests/test-wcsrtombs2.sh: New file.
88543         * tests/test-wcsrtombs3.sh: New file.
88544         * tests/test-wcsrtombs4.sh: New file.
88545         * tests/test-wcsrtombs.c: New file.
88547         New module 'wcsrtombs'.
88548         * lib/wchar.in.h (wcsrtombs): New declaration.
88549         * lib/wcsrtombs.c: New file.
88550         * m4/wcsrtombs.m4: New file.
88551         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
88552         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88553         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
88554         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88555         * modules/wcsrtombs: New file.
88556         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
88557         bugs.
88559 2008-12-21  Bruno Haible  <bruno@clisp.org>
88561         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
88562         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
88563         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
88564         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
88565         if not correct.
88566         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
88567         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
88568         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88569         m4/locale-zh.m4, m4/codeset.m4.
88570         * doc/posix-functions/wcrtomb.texi: Document the bug.
88572 2008-12-21  Bruno Haible  <bruno@clisp.org>
88574         Work around a btowc() bug on IRIX 6.5.
88575         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
88576         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
88577         REPLACE_WTOBC if not.
88578         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
88579         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
88580         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
88582 2008-12-21  Bruno Haible  <bruno@clisp.org>
88584         * modules/wcrtomb-tests: New file.
88585         * tests/test-wcrtomb.sh: New file.
88586         * tests/test-wcrtomb.c: New file.
88588         New module 'wcrtomb'.
88589         * lib/wchar.in.h (wcrtomb): New declaration.
88590         * lib/wcrtomb.c: New file.
88591         * m4/wcrtomb.m4: New file.
88592         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
88593         HAVE_WCRTOMB.
88594         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
88595         HAVE_WCRTOMB.
88596         * modules/wcrtomb: New file.
88597         * doc/posix-functions/wcrtomb.texi: Mention the new module.
88599 2008-12-21  Bruno Haible  <bruno@clisp.org>
88601         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
88602         * modules/mbsrtowcs (Files): Likewise.
88603         * modules/wctob (Files): Likewise.
88604         * modules/c-strcase-tests (Files): Likewise.
88605         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
88606         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
88607         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
88608         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
88609         * modules/vasnprintf-posix-tests (Files): Likewise.
88611 2008-12-21  William Pursell  <bill.pursell@gmail.com>
88613         gitlog-to-changelog: pass all command-line arguments to git-log
88614         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
88615         it is sometimes convenient to filter the commits in various ways.
88616         gitlog-to-changelog only allows --since to specify a start date,
88617         but git-log itself supports many other filtering mechanisms.
88618         At the moment, I want to filter by branch name.  Rather than
88619         adding a --branch option to gitlog-to-changelog, it seems more
88620         flexible to simply pass all options directly to git-log and let
88621         git do the work.  Notice that this effectively makes --since a
88622         redundant option for gitlog-to-changelog, but removing it would
88623         require current usage to change since calls would then require
88624         an additional '--'.
88626 2008-12-21  Bruno Haible  <bruno@clisp.org>
88628         * modules/mbsnrtowcs-tests: New file.
88629         * tests/test-mbsnrtowcs1.sh: New file.
88630         * tests/test-mbsnrtowcs2.sh: New file.
88631         * tests/test-mbsnrtowcs3.sh: New file.
88632         * tests/test-mbsnrtowcs4.sh: New file.
88633         * tests/test-mbsnrtowcs.c: New file.
88635         New module 'mbsnrtowcs'.
88636         * lib/wchar.in.h (mbsnrtowcs): New declaration.
88637         * lib/mbsnrtowcs.c: New file.
88638         * lib/mbsrtowcs-state.c: New file.
88639         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
88640         (internal_state): Remove variable.
88641         * m4/mbsnrtowcs.m4: New file.
88642         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
88643         compilation units.
88644         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
88645         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88646         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
88647         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88648         * modules/mbsnrtowcs: New file.
88649         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
88650         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
88651         portability problem.
88653 2008-12-21  Bruno Haible  <bruno@clisp.org>
88655         Work around mbsrtowcs bug.
88656         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
88657         (gl_FUNC_MBSRTOWCS): Invoke it.
88658         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88659         m4/locale-zh.m4.
88660         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
88662 2008-12-21  Bruno Haible  <bruno@clisp.org>
88664         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
88666 2008-12-21  Bruno Haible  <bruno@clisp.org>
88668         Update doc for AIX.
88669         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
88670         16-bit wchar_t type.
88671         * doc/posix-functions/btowc.texi: Likewise.
88672         * doc/posix-functions/fgetwc.texi: Likewise.
88673         * doc/posix-functions/fgetws.texi: Likewise.
88674         * doc/posix-functions/fputwc.texi: Likewise.
88675         * doc/posix-functions/fputws.texi: Likewise.
88676         * doc/posix-functions/fwide.texi: Likewise.
88677         * doc/posix-functions/fwprintf.texi: Likewise.
88678         * doc/posix-functions/fwscanf.texi: Likewise.
88679         * doc/posix-functions/getwchar.texi: Likewise.
88680         * doc/posix-functions/getwc.texi: Likewise.
88681         * doc/posix-functions/iswalnum.texi: Likewise.
88682         * doc/posix-functions/iswalpha.texi: Likewise.
88683         * doc/posix-functions/iswblank.texi: Likewise.
88684         * doc/posix-functions/iswcntrl.texi: Likewise.
88685         * doc/posix-functions/iswctype.texi: Likewise.
88686         * doc/posix-functions/iswdigit.texi: Likewise.
88687         * doc/posix-functions/iswgraph.texi: Likewise.
88688         * doc/posix-functions/iswlower.texi: Likewise.
88689         * doc/posix-functions/iswprint.texi: Likewise.
88690         * doc/posix-functions/iswpunct.texi: Likewise.
88691         * doc/posix-functions/iswspace.texi: Likewise.
88692         * doc/posix-functions/iswupper.texi: Likewise.
88693         * doc/posix-functions/iswxdigit.texi: Likewise.
88694         * doc/posix-functions/mbrtowc.texi: Likewise.
88695         * doc/posix-functions/mbsrtowcs.texi: Likewise.
88696         * doc/posix-functions/mbstowcs.texi: Likewise.
88697         * doc/posix-functions/mbtowc.texi: Likewise.
88698         * doc/posix-functions/putwchar.texi: Likewise.
88699         * doc/posix-functions/putwc.texi: Likewise.
88700         * doc/posix-functions/swprintf.texi: Likewise.
88701         * doc/posix-functions/tolower.texi: Likewise.
88702         * doc/posix-functions/toupper.texi: Likewise.
88703         * doc/posix-functions/towctrans.texi: Likewise.
88704         * doc/posix-functions/ungetwc.texi: Likewise.
88705         * doc/posix-functions/vswprintf.texi: Likewise.
88706         * doc/posix-functions/wcrtomb.texi: Likewise.
88707         * doc/posix-functions/wcscat.texi: Likewise.
88708         * doc/posix-functions/wcschr.texi: Likewise.
88709         * doc/posix-functions/wcscmp.texi: Likewise.
88710         * doc/posix-functions/wcscoll.texi: Likewise.
88711         * doc/posix-functions/wcscpy.texi: Likewise.
88712         * doc/posix-functions/wcscspn.texi: Likewise.
88713         * doc/posix-functions/wcsftime.texi: Likewise.
88714         * doc/posix-functions/wcslen.texi: Likewise.
88715         * doc/posix-functions/wcsncat.texi: Likewise.
88716         * doc/posix-functions/wcsncmp.texi: Likewise.
88717         * doc/posix-functions/wcsncpy.texi: Likewise.
88718         * doc/posix-functions/wcspbrk.texi: Likewise.
88719         * doc/posix-functions/wcsrchr.texi: Likewise.
88720         * doc/posix-functions/wcsrtombs.texi: Likewise.
88721         * doc/posix-functions/wcsspn.texi: Likewise.
88722         * doc/posix-functions/wcsstr.texi: Likewise.
88723         * doc/posix-functions/wcstod.texi: Likewise.
88724         * doc/posix-functions/wcstof.texi: Likewise.
88725         * doc/posix-functions/wcstoimax.texi: Likewise.
88726         * doc/posix-functions/wcstok.texi: Likewise.
88727         * doc/posix-functions/wcstold.texi: Likewise.
88728         * doc/posix-functions/wcstoll.texi: Likewise.
88729         * doc/posix-functions/wcstol.texi: Likewise.
88730         * doc/posix-functions/wcstombs.texi: Likewise.
88731         * doc/posix-functions/wcstoull.texi: Likewise.
88732         * doc/posix-functions/wcstoul.texi: Likewise.
88733         * doc/posix-functions/wcstoumax.texi: Likewise.
88734         * doc/posix-functions/wcswidth.texi: Likewise.
88735         * doc/posix-functions/wcsxfrm.texi: Likewise.
88736         * doc/posix-functions/wctob.texi: Likewise.
88737         * doc/posix-functions/wctomb.texi: Likewise.
88738         * doc/posix-functions/wctrans.texi: Likewise.
88739         * doc/posix-functions/wctype.texi: Likewise.
88740         * doc/posix-functions/wcwidth.texi: Likewise.
88741         * doc/posix-functions/wmemchr.texi: Likewise.
88742         * doc/posix-functions/wmemcmp.texi: Likewise.
88743         * doc/posix-functions/wmemcpy.texi: Likewise.
88744         * doc/posix-functions/wmemmove.texi: Likewise.
88745         * doc/posix-functions/wmemset.texi: Likewise.
88746         * doc/posix-functions/wprintf.texi: Likewise.
88747         * doc/posix-functions/wscanf.texi: Likewise.
88749 2008-12-21  Bruno Haible  <bruno@clisp.org>
88751         Update doc for HP-UX 11.11.
88752         * doc/posix-functions/btowc.texi: Clarify that the function is missing
88753         in HP-UX version 11.00, not in all versions of HP-UX 11.
88754         * doc/posix-functions/fwide.texi: Likewise.
88755         * doc/posix-functions/fwprintf.texi: Likewise.
88756         * doc/posix-functions/fwscanf.texi: Likewise.
88757         * doc/posix-functions/inet_ntop.texi: Likewise.
88758         * doc/posix-functions/inet_pton.texi: Likewise.
88759         * doc/posix-functions/mbrlen.texi: Likewise.
88760         * doc/posix-functions/mbrtowc.texi: Likewise.
88761         * doc/posix-functions/mbsinit.texi: Likewise.
88762         * doc/posix-functions/mbsrtowcs.texi: Likewise.
88763         * doc/posix-functions/swprintf.texi: Likewise.
88764         * doc/posix-functions/swscanf.texi: Likewise.
88765         * doc/posix-functions/towctrans.texi: Likewise.
88766         * doc/posix-functions/vfwprintf.texi: Likewise.
88767         * doc/posix-functions/vswprintf.texi: Likewise.
88768         * doc/posix-functions/vwprintf.texi: Likewise.
88769         * doc/posix-functions/wcrtomb.texi: Likewise.
88770         * doc/posix-functions/wcsrtombs.texi: Likewise.
88771         * doc/posix-functions/wcsstr.texi: Likewise.
88772         * doc/posix-functions/wctob.texi: Likewise.
88773         * doc/posix-functions/wctrans.texi: Likewise.
88774         * doc/posix-functions/wmemchr.texi: Likewise.
88775         * doc/posix-functions/wmemcmp.texi: Likewise.
88776         * doc/posix-functions/wmemcpy.texi: Likewise.
88777         * doc/posix-functions/wmemmove.texi: Likewise.
88778         * doc/posix-functions/wmemset.texi: Likewise.
88779         * doc/posix-functions/wprintf.texi: Likewise.
88780         * doc/posix-functions/wscanf.texi: Likewise.
88782 2008-12-21  Bruno Haible  <bruno@clisp.org>
88784         Work around a portability problem.
88785         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
88786         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
88788 2008-12-20  Bruno Haible  <bruno@clisp.org>
88790         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
88791         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
88792         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
88793         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
88794         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
88796         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
88797         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
88798         set.
88799         (GNULIB_defined_mbstate_t): New macro.
88800         (mbsinit): Redefine if REPLACE_MBSINIT is set.
88801         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
88802         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
88803         reuses the system's mbrtowc function but works around the bugs.
88804         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
88805         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
88806         macros.
88807         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
88808         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
88809         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
88810         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
88811         REPLACE_MBSINIT if mbsinit needs to be overridden.
88812         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
88813         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88814         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
88815         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88816         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88817         m4/locale-zh.m4.
88818         (Depends): Add mbsinit.
88819         * modules/mbsinit (Depends): Add mbrtowc.
88820         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
88822 2008-12-20  Bruno Haible  <bruno@clisp.org>
88824         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
88825         so that there are no conversion errors on AIX.
88826         * tests/test-mbsrtowcs.c (main): LIkewise.
88828 2008-12-20  Bruno Haible  <bruno@clisp.org>
88830         Work around wctob bug on Solaris <= 9.
88831         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
88832         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
88833         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
88834         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
88835         * modules/wctob (Files): Add m4/locale-fr.m4.
88836         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
88838 2008-12-20  Bruno Haible  <bruno@clisp.org>
88840         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
88841         /dev/null.
88842         * tests/test-select-in.sh: Likewise.
88843         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
88845 2008-12-20  Bruno Haible  <bruno@clisp.org>
88847         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
88848         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
88849         Cygwin 1.5.x.
88851 2008-12-20  Bruno Haible  <bruno@clisp.org>
88853         Ensure mbstate_t is defined on HP-UX 11.11.
88854         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
88855         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
88856         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
88857         AC_USE_SYSTEM_EXTENSIONS.
88858         * modules/fnmatch (Depends-on): Add extensions.
88859         * modules/mbrlen (Depends-on): Likewise.
88860         * modules/mbrtowc (Depends-on): Likewise.
88861         * modules/mbsinit (Depends-on): Likewise.
88862         * modules/mbsrtowcs (Depends-on): Likewise.
88863         * modules/mbswidth (Depends-on): Likewise.
88864         * modules/quotearg (Depends-on): Likewise.
88865         * modules/strftime (Depends-on): Likewise.
88867 2008-12-20  Bruno Haible  <bruno@clisp.org>
88869         Ensure wctob is declared on IRIX 6.5.
88870         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
88871         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
88872         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
88873         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
88874         of HAVE_WCTOB.
88875         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
88876         HAVE_WCTOB.
88877         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
88879 2008-12-19  Bruno Haible  <bruno@clisp.org>
88881         * modules/mbsrtowcs-tests: New file.
88882         * tests/test-mbsrtowcs1.sh: New file.
88883         * tests/test-mbsrtowcs2.sh: New file.
88884         * tests/test-mbsrtowcs3.sh: New file.
88885         * tests/test-mbsrtowcs4.sh: New file.
88886         * tests/test-mbsrtowcs.c: New file.
88888         New module 'mbsrtowcs'.
88889         * lib/wchar.in.h (mbsrtowcs): New declaration.
88890         * lib/mbsrtowcs.c: New file.
88891         * m4/mbsrtowcs.m4: New file.
88892         * modules/mbsrtowcs: New file.
88893         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
88894         HAVE_MBSRTOWCS.
88895         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
88896         HAVE_MBSRTOWCS.
88897         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
88899 2008-12-19  Bruno Haible  <bruno@clisp.org>
88901         New module 'mbrlen'.
88902         * lib/wchar.in.h (mbrlen): New declaration.
88903         * lib/mbrlen.c: New file.
88904         * m4/mbrlen.m4: New file.
88905         * modules/mbrlen: New file.
88906         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
88907         HAVE_MBRLEN.
88908         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
88909         HAVE_MBRLEN.
88910         * doc/posix-functions/mbrlen.texi: Document the new module.
88912 2008-12-19  Bruno Haible  <bruno@clisp.org>
88914         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
88915         * modules/mbrtowc (Depends-on): Add verify.
88916         Suggested by Paul Eggert.
88918 2008-12-18  Bruno Haible  <bruno@clisp.org>
88920         * modules/mbsinit-tests: New file.
88921         * tests/test-mbsinit.sh: New file.
88922         * tests/test-mbsinit.c: New file.
88924 2008-12-18  Bruno Haible  <bruno@clisp.org>
88926         * modules/mbrtowc-tests: New file.
88927         * tests/test-mbrtowc1.sh: New file.
88928         * tests/test-mbrtowc2.sh: New file.
88929         * tests/test-mbrtowc3.sh: New file.
88930         * tests/test-mbrtowc4.sh: New file.
88931         * tests/test-mbrtowc.c: New file.
88933         New module 'mbrtowc'.
88934         * lib/wchar.in.h (mbstate_t): Override when the system does not have
88935         mbsinit and mbrtowc.
88936         (mbrtowc): New declaration.
88937         * lib/mbrtowc.c: New file.
88938         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
88939         * modules/mbrtowc: New file.
88940         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
88941         HAVE_MBRTOWC.
88942         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
88943         HAVE_MBRTOWC.
88944         * doc/posix-functions/mbrtowc.texi: Document the new module.
88946 2008-12-18  Bruno Haible  <bruno@clisp.org>
88948         New module 'wctob'.
88949         * lib/wchar.in.h (wctob): New declaration.
88950         * lib/wctob.c: New file.
88951         * m4/wctob.m4: New file.
88952         * modules/wctob: New file.
88953         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
88954         HAVE_WCTOB.
88955         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
88956         * doc/posix-functions/wctob.texi: Document the new module.
88958 2008-12-18  Bruno Haible  <bruno@clisp.org>
88960         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
88961         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
88963 2008-12-18  Simon Josefsson  <simon@josefsson.org>
88965         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
88966         G. Christensen" <tgc@jupiterrise.com>.
88968         * lib/flock.c: Need to include errno.h.  Reported by "Tom
88969         G. Christensen" <tgc@jupiterrise.com>.
88971         * lib/flock.c: Need to include string.h.  Reported by "Tom
88972         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
88973         <ebb9@byu.net>.
88975 2008-12-18  Bruno Haible  <bruno@clisp.org>
88977         * m4/locale-ja.m4: New file, from GNU gettext.
88979 2008-12-17  Bruno Haible  <bruno@clisp.org>
88981         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
88982         Suggested by Eric Blake.
88984 2008-12-17  Bruno Haible  <bruno@clisp.org>
88986         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
88988 2008-12-17  Bruno Haible  <bruno@clisp.org>
88990         * lib/mbsinit.c: Include verify.h. Verify an assumption.
88991         * modules/mbsinit (Depends-on): Add verify.
88992         Suggested by Paul Eggert.
88994 2008-12-17  Bruno Haible  <bruno@clisp.org>
88996         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
88997         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
88998         gl_FUNC_MBRTOWC.
88999         * m4/mbiter.m4 (gl_MBITER): LIkewise.
89000         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
89001         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
89002         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
89003         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
89004         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
89005         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
89006         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
89007         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
89008         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
89009         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
89010         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
89011         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
89012         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
89013         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
89014         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
89015         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
89016         * modules/trim (configure.ac): Likewise.
89018 2008-12-17  Bruno Haible  <bruno@clisp.org>
89020         * modules/btowc-tests: New file.
89021         * tests/test-btowc1.sh: New file.
89022         * tests/test-btowc2.sh: New file.
89023         * tests/test-btowc.c: New file.
89025         New module 'btowc'.
89026         * lib/wchar.in.h (btowc): New declaration.
89027         * lib/btowc.c: New file.
89028         * m4/btowc.m4: New file.
89029         * modules/btowc: New file.
89030         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
89031         HAVE_BTOWC.
89032         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
89033         * doc/posix-functions/btowc.texi: Document the new module.
89035 2008-12-17  Bruno Haible  <bruno@clisp.org>
89037         New module 'mbsinit'.
89038         * lib/wchar.in.h (mbsinit): New declaration.
89039         * lib/mbsinit.c: New file.
89040         * m4/mbsinit.m4: New file.
89041         * modules/mbsinit: New file.
89042         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
89043         HAVE_MBSINIT.
89044         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
89045         HAVE_MBSINIT.
89046         * doc/posix-functions/mbsinit.texi: Document the new module.
89048 2008-12-16  Bruno Haible  <bruno@clisp.org>
89050         * lib/unistd.in.h: Add comment.
89051         * tests/test-environ.c: Don't include <stdlib.h>.
89053 2008-12-16  Bruno Haible  <bruno@clisp.org>
89055         * lib/parse-duration.h (parse_duration): Document return value
89056         convention.
89057         * lib/parse-duration.c: Include specification header first. Add
89058         comments.
89059         (_): Remove macro.
89060         (parse_year_month_day, parse_hour_minute_second): Move side effects
89061         outside of strchr call.
89062         (parse_non_iso8601): Move side effects outside of isspace call.
89063         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
89064         call.
89066 2008-12-16  Bruno Haible  <bruno@clisp.org>
89068         * tests/test-parse-duration.sh: Produce no output when the test
89069         succeeds.
89071 2008-12-16  Bruno Haible  <bruno@clisp.org>
89073         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
89074         expressions.
89076 2008-12-15  Bruno Haible  <bruno@clisp.org>
89078         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
89079         * doc/glibc-functions/flistxattr.texi: Likewise.
89080         * doc/glibc-functions/fopencookie.texi: Likewise.
89081         * doc/glibc-functions/fremovexattr.texi: Likewise.
89082         * doc/glibc-functions/fsetxattr.texi: Likewise.
89083         * doc/glibc-functions/getxattr.texi: Likewise.
89084         * doc/glibc-functions/lgetxattr.texi: Likewise.
89085         * doc/glibc-functions/listxattr.texi: Likewise.
89086         * doc/glibc-functions/llistxattr.texi: Likewise.
89087         * doc/glibc-functions/lremovexattr.texi: Likewise.
89088         * doc/glibc-functions/lsetxattr.texi: Likewise.
89089         * doc/glibc-functions/removexattr.texi: Likewise.
89090         * doc/glibc-functions/setxattr.texi: Likewise.
89091         * doc/posix-functions/open_memstream.texi: Likewise.
89093 2008-12-15  Eric Blake  <ebb9@byu.net>
89095         Update doc for cygwin 1.7.
89096         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
89097         functions.
89098         * doc/posix-functions/fchmodat.texi: Likewise.
89099         * doc/posix-functions/fchownat.texi: Likewise.
89100         * doc/posix-functions/fdopendir.texi: Likewise.
89101         * doc/posix-functions/fmemopen.texi: Likewise.
89102         * doc/posix-functions/freeaddrinfo.texi: Likewise.
89103         * doc/posix-functions/fstatat.texi: Likewise.
89104         * doc/posix-functions/futimens.texi: Likewise.
89105         * doc/posix-functions/gai_strerror.texi: Likewise.
89106         * doc/posix-functions/getaddrinfo.texi: Likewise.
89107         * doc/posix-functions/getnameinfo.texi: Likewise.
89108         * doc/posix-functions/if_freenameindex.texi: Likewise.
89109         * doc/posix-functions/if_indextoname.texi: Likewise.
89110         * doc/posix-functions/if_nameindex.texi: Likewise.
89111         * doc/posix-functions/if_nametoindex.texi: Likewise.
89112         * doc/posix-functions/insque.texi: Likewise.
89113         * doc/posix-functions/linkat.texi: Likewise.
89114         * doc/posix-functions/llrint.texi: Likewise.
89115         * doc/posix-functions/llrintf.texi: Likewise.
89116         * doc/posix-functions/llrintl.texi: Likewise.
89117         * doc/posix-functions/lockf.texi: Likewise.
89118         * doc/posix-functions/lrintl.texi: Likewise.
89119         * doc/posix-functions/mkdirat.texi: Likewise.
89120         * doc/posix-functions/mkfifoat.texi: Likewise.
89121         * doc/posix-functions/mknodat.texi: Likewise.
89122         * doc/posix-functions/mq_close.texi: Likewise.
89123         * doc/posix-functions/mq_getattr.texi: Likewise.
89124         * doc/posix-functions/mq_notify.texi: Likewise.
89125         * doc/posix-functions/mq_open.texi: Likewise.
89126         * doc/posix-functions/mq_receive.texi: Likewise.
89127         * doc/posix-functions/mq_send.texi: Likewise.
89128         * doc/posix-functions/mq_setattr.texi: Likewise.
89129         * doc/posix-functions/mq_timedreceive.texi: Likewise.
89130         * doc/posix-functions/mq_timedsend.texi: Likewise.
89131         * doc/posix-functions/mq_unlink.texi: Likewise.
89132         * doc/posix-functions/open_memstream.texi: Likewise.
89133         * doc/posix-functions/openat.texi: Likewise.
89134         * doc/posix-functions/posix_fadvise.texi: Likewise.
89135         * doc/posix-functions/posix_fallocate.texi: Likewise.
89136         * doc/posix-functions/posix_madvise.texi: Likewise.
89137         * doc/posix-functions/posix_memalign.texi: Likewise.
89138         * doc/posix-functions/posix_openpt.texi: Likewise.
89139         * doc/posix-functions/readlinkat.texi: Likewise.
89140         * doc/posix-functions/remque.texi: Likewise.
89141         * doc/posix-functions/renameat.texi: Likewise.
89142         * doc/posix-functions/rintl.texi: Likewise.
89143         * doc/posix-functions/sem_unlink.texi: Likewise.
89144         * doc/posix-functions/shm_open.texi: Likewise.
89145         * doc/posix-functions/shm_unlink.texi: Likewise.
89146         * doc/posix-functions/signgam.texi: Likewise.
89147         * doc/posix-functions/sigset.texi: Likewise.
89148         * doc/posix-functions/stpcpy.texi: Likewise.
89149         * doc/posix-functions/stpncpy.texi: Likewise.
89150         * doc/posix-functions/strerror.texi: Likewise.
89151         * doc/posix-functions/strtod.texi: Likewise.
89152         * doc/posix-functions/symlinkat.texi: Likewise.
89153         * doc/posix-functions/unlinkat.texi: Likewise.
89154         * doc/posix-functions/utimensat.texi: Likewise.
89155         * doc/glibc-functions/bindresvport.texi: Likewise.
89156         * doc/glibc-functions/dn_expand.texi: Likewise.
89157         * doc/glibc-functions/exp10.texi: Likewise.
89158         * doc/glibc-functions/exp10f.texi: Likewise.
89159         * doc/glibc-functions/fgetxattr.texi: Likewise.
89160         * doc/glibc-functions/flistxattr.texi: Likewise.
89161         * doc/glibc-functions/fopencookie.texi: Likewise.
89162         * doc/glibc-functions/freeifaddrs.texi: Likewise.
89163         * doc/glibc-functions/fremovexattr.texi: Likewise.
89164         * doc/glibc-functions/fsetxattr.texi: Likewise.
89165         * doc/glibc-functions/getifaddrs.texi: Likewise.
89166         * doc/glibc-functions/getxattr.texi: Likewise.
89167         * doc/glibc-functions/lgetxattr.texi: Likewise.
89168         * doc/glibc-functions/listxattr.texi: Likewise.
89169         * doc/glibc-functions/llistxattr.texi: Likewise.
89170         * doc/glibc-functions/lremovexattr.texi: Likewise.
89171         * doc/glibc-functions/lsetxattr.texi: Likewise.
89172         * doc/glibc-functions/pow10.texi: Likewise.
89173         * doc/glibc-functions/pow10f.texi: Likewise.
89174         * doc/glibc-functions/rcmd_af.texi: Likewise.
89175         * doc/glibc-functions/removexattr.texi: Likewise.
89176         * doc/glibc-functions/res_init.texi: Likewise.
89177         * doc/glibc-functions/res_mkquery.texi: Likewise.
89178         * doc/glibc-functions/res_query.texi: Likewise.
89179         * doc/glibc-functions/res_querydomain.texi: Likewise.
89180         * doc/glibc-functions/res_send.texi: Likewise.
89181         * doc/glibc-functions/rresvport_af.texi: Likewise.
89182         * doc/glibc-functions/setxattr.texi: Likewise.
89183         * doc/glibc-functions/strcasestr.texi: Likewise.
89185 2008-12-15  Bruno Haible  <bruno@clisp.org>
89187         Fix compilation error on OSF/1 4.0.
89188         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
89189         <sys/time.h>, simply delegate to the system header.
89190         Reported by Daniel Richard G. <oss@teragram.com>.
89192 2008-12-15  Bruno Haible  <bruno@clisp.org>
89194         * doc/posix-functions/openat.texi: Mention the 'openat' module.
89195         * doc/posix-functions/fchmodat.texi: Likewise.
89196         * doc/posix-functions/fchownat.texi: Likewise.
89197         * doc/posix-functions/fdopendir.texi: Likewise.
89198         * doc/posix-functions/fstatat.texi: Likewise.
89199         * doc/posix-functions/mkdirat.texi: Likewise.
89200         * doc/posix-functions/unlinkat.texi: Likewise.
89202 2008-12-14  Bruno Haible  <bruno@clisp.org>
89204         Update doc for POSIX:2008.
89205         * doc/posix-functions/faccessat.texi: New file.
89206         * doc/posix-functions/fchmodat.texi: New file.
89207         * doc/posix-functions/fchownat.texi: New file.
89208         * doc/posix-functions/fdopendir.texi: New file.
89209         * doc/posix-functions/fstatat.texi: New file.
89210         * doc/posix-functions/futimens.texi: New file.
89211         * doc/posix-functions/linkat.texi: New file.
89212         * doc/posix-functions/mkdirat.texi: New file.
89213         * doc/posix-functions/mkfifoat.texi: New file.
89214         * doc/posix-functions/mknodat.texi: New file.
89215         * doc/posix-functions/open_wmemstream.texi: New file.
89216         * doc/posix-functions/openat.texi: New file.
89217         * doc/posix-functions/psiginfo.texi: New file.
89218         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
89219         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
89220         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
89221         * doc/posix-functions/readlinkat.texi: New file.
89222         * doc/posix-functions/renameat.texi: New file.
89223         * doc/posix-functions/strerror_l.texi: New file.
89224         * doc/posix-functions/symlinkat.texi: New file.
89225         * doc/posix-functions/unlinkat.texi: New file.
89226         * doc/posix-functions/utimensat.texi: New file.
89227         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89229 2008-12-14  Bruno Haible  <bruno@clisp.org>
89231         Update doc for POSIX:2008.
89232         * doc/posix-functions/alphasort.texi: Renamed from
89233         doc/glibc-functions/alphasort.texi.
89234         * doc/posix-functions/dirfd.texi: Renamed from
89235         doc/glibc-functions/dirfd.texi.
89236         * doc/posix-functions/dprintf.texi: Renamed from
89237         doc/glibc-functions/dprintf.texi.
89238         * doc/posix-functions/duplocale.texi: Renamed from
89239         doc/glibc-functions/duplocale.texi.
89240         * doc/posix-functions/fexecve.texi: Renamed from
89241         doc/glibc-functions/fexecve.texi.
89242         * doc/posix-functions/fmemopen.texi: Renamed from
89243         doc/glibc-functions/fmemopen.texi.
89244         * doc/posix-functions/freelocale.texi: Renamed from
89245         doc/glibc-functions/freelocale.texi.
89246         * doc/posix-functions/getdate_err.texi: Renamed from
89247         doc/glibc-functions/getdate_err.texi.
89248         * doc/posix-functions/isalnum_l.texi: Renamed from
89249         doc/glibc-functions/isalnum_l.texi.
89250         * doc/posix-functions/isalpha_l.texi: Renamed from
89251         doc/glibc-functions/isalpha_l.texi.
89252         * doc/posix-functions/isblank_l.texi: Renamed from
89253         doc/glibc-functions/isblank_l.texi.
89254         * doc/posix-functions/iscntrl_l.texi: Renamed from
89255         doc/glibc-functions/iscntrl_l.texi.
89256         * doc/posix-functions/isdigit_l.texi: Renamed from
89257         doc/glibc-functions/isdigit_l.texi.
89258         * doc/posix-functions/isgraph_l.texi: Renamed from
89259         doc/glibc-functions/isgraph_l.texi.
89260         * doc/posix-functions/islower_l.texi: Renamed from
89261         doc/glibc-functions/islower_l.texi.
89262         * doc/posix-functions/isprint_l.texi: Renamed from
89263         doc/glibc-functions/isprint_l.texi.
89264         * doc/posix-functions/ispunct_l.texi: Renamed from
89265         doc/glibc-functions/ispunct_l.texi.
89266         * doc/posix-functions/isspace_l.texi: Renamed from
89267         doc/glibc-functions/isspace_l.texi.
89268         * doc/posix-functions/isupper_l.texi: Renamed from
89269         doc/glibc-functions/isupper_l.texi.
89270         * doc/posix-functions/iswalnum_l.texi: Renamed from
89271         doc/glibc-functions/iswalnum_l.texi.
89272         * doc/posix-functions/iswalpha_l.texi: Renamed from
89273         doc/glibc-functions/iswalpha_l.texi.
89274         * doc/posix-functions/iswblank_l.texi: Renamed from
89275         doc/glibc-functions/iswblank_l.texi.
89276         * doc/posix-functions/iswcntrl_l.texi: Renamed from
89277         doc/glibc-functions/iswcntrl_l.texi.
89278         * doc/posix-functions/iswctype_l.texi: Renamed from
89279         doc/glibc-functions/iswctype_l.texi.
89280         * doc/posix-functions/iswdigit_l.texi: Renamed from
89281         doc/glibc-functions/iswdigit_l.texi.
89282         * doc/posix-functions/iswgraph_l.texi: Renamed from
89283         doc/glibc-functions/iswgraph_l.texi.
89284         * doc/posix-functions/iswlower_l.texi: Renamed from
89285         doc/glibc-functions/iswlower_l.texi.
89286         * doc/posix-functions/iswprint_l.texi: Renamed from
89287         doc/glibc-functions/iswprint_l.texi.
89288         * doc/posix-functions/iswpunct_l.texi: Renamed from
89289         doc/glibc-functions/iswpunct_l.texi.
89290         * doc/posix-functions/iswspace_l.texi: Renamed from
89291         doc/glibc-functions/iswspace_l.texi.
89292         * doc/posix-functions/iswupper_l.texi: Renamed from
89293         doc/glibc-functions/iswupper_l.texi.
89294         * doc/posix-functions/iswxdigit_l.texi: Renamed from
89295         doc/glibc-functions/iswxdigit_l.texi.
89296         * doc/posix-functions/isxdigit_l.texi: Renamed from
89297         doc/glibc-functions/isxdigit_l.texi.
89298         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
89299         doc/glibc-functions/mbsnrtowcs.texi.
89300         * doc/posix-functions/mkdtemp.texi: Renamed from
89301         doc/glibc-functions/mkdtemp.texi.
89302         * doc/posix-functions/newlocale.texi: Renamed from
89303         doc/glibc-functions/newlocale.texi.
89304         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
89305         doc/glibc-functions/nl_langinfo_l.texi.
89306         * doc/posix-functions/open_memstream.texi: Renamed from
89307         doc/glibc-functions/open_memstream.texi.
89308         * doc/posix-functions/opterr.texi: Renamed from
89309         doc/glibc-functions/opterr.texi.
89310         * doc/posix-functions/optind.texi: Renamed from
89311         doc/glibc-functions/optind.texi.
89312         * doc/posix-functions/optopt.texi: Renamed from
89313         doc/glibc-functions/optopt.texi.
89314         * doc/posix-functions/psignal.texi: Renamed from
89315         doc/glibc-functions/psignal.texi.
89316         * doc/posix-functions/scandir.texi: Renamed from
89317         doc/glibc-functions/scandir.texi.
89318         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
89319         doc/glibc-functions/sched_get_priority_min.texi.
89320         * doc/posix-functions/signgam.texi: Renamed from
89321         doc/glibc-functions/signgam.texi.
89322         * doc/posix-functions/stpcpy.texi: Renamed from
89323         doc/glibc-functions/stpcpy.texi.
89324         * doc/posix-functions/stpncpy.texi: Renamed from
89325         doc/glibc-functions/stpncpy.texi.
89326         * doc/posix-functions/strcasecmp_l.texi: Renamed from
89327         doc/glibc-functions/strcasecmp_l.texi.
89328         * doc/posix-functions/strcoll_l.texi: Renamed from
89329         doc/glibc-functions/strcoll_l.texi.
89330         * doc/posix-functions/strfmon_l.texi: Renamed from
89331         doc/glibc-functions/strfmon_l.texi.
89332         * doc/posix-functions/strftime_l.texi: Renamed from
89333         doc/glibc-functions/strftime_l.texi.
89334         * doc/posix-functions/strncasecmp_l.texi: Renamed from
89335         doc/glibc-functions/strncasecmp_l.texi.
89336         * doc/posix-functions/strndup.texi: Renamed from
89337         doc/glibc-functions/strndup.texi.
89338         * doc/posix-functions/strnlen.texi: Renamed from
89339         doc/glibc-functions/strnlen.texi.
89340         * doc/posix-functions/strsignal.texi: Renamed from
89341         doc/glibc-functions/strsignal.texi.
89342         * doc/posix-functions/strxfrm_l.texi: Renamed from
89343         doc/glibc-functions/strxfrm_l.texi.
89344         * doc/posix-functions/timer_gettime.texi: Renamed from
89345         doc/glibc-functions/timer_gettime.texi.
89346         * doc/posix-functions/tolower_l.texi: Renamed from
89347         doc/glibc-functions/tolower_l.texi.
89348         * doc/posix-functions/toupper_l.texi: Renamed from
89349         doc/glibc-functions/toupper_l.texi.
89350         * doc/posix-functions/towctrans_l.texi: Renamed from
89351         doc/glibc-functions/towctrans_l.texi.
89352         * doc/posix-functions/towlower_l.texi: Renamed from
89353         doc/glibc-functions/towlower_l.texi.
89354         * doc/posix-functions/towupper_l.texi: Renamed from
89355         doc/glibc-functions/towupper_l.texi.
89356         * doc/posix-functions/uselocale.texi: Renamed from
89357         doc/glibc-functions/uselocale.texi.
89358         * doc/posix-functions/vdprintf.texi: Renamed from
89359         doc/glibc-functions/vdprintf.texi.
89360         * doc/posix-functions/wcpcpy.texi:
89361         Renamed from doc/glibc-functions/wcpcpy.texi.
89362         * doc/posix-functions/wcpncpy.texi: Renamed from
89363         doc/glibc-functions/wcpncpy.texi.
89364         * doc/posix-functions/wcscasecmp.texi: Renamed from
89365         doc/glibc-functions/wcscasecmp.texi.
89366         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
89367         doc/glibc-functions/wcscasecmp_l.texi.
89368         * doc/posix-functions/wcscoll_l.texi: Renamed from
89369         doc/glibc-functions/wcscoll_l.texi.
89370         * doc/posix-functions/wcsdup.texi: Renamed from
89371         doc/glibc-functions/wcsdup.texi.
89372         * doc/posix-functions/wcsncasecmp.texi: Renamed from
89373         doc/glibc-functions/wcsncasecmp.texi.
89374         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
89375         doc/glibc-functions/wcsncasecmp_l.texi.
89376         * doc/posix-functions/wcsnlen.texi: Renamed from
89377         doc/glibc-functions/wcsnlen.texi.
89378         * doc/posix-functions/wcsnrtombs.texi: Renamed from
89379         doc/glibc-functions/wcsnrtombs.texi.
89380         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
89381         doc/glibc-functions/wcsxfrm_l.texi.
89382         * doc/posix-functions/wctrans_l.texi: Renamed from
89383         doc/glibc-functions/wctrans_l.texi.
89384         * doc/posix-functions/wctype_l.texi: Renamed from
89385         doc/glibc-functions/wctype_l.texi.
89386         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89387         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
89388         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
89389         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
89390         these subsections.
89391         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
89392         Remove sections.
89394 2008-12-14  Bruno Haible  <bruno@clisp.org>
89396         Update doc for POSIX:2008.
89397         * doc/posix-functions/*.texi: Update URL of POSIX specification.
89399 2008-12-14  Bruno Haible  <bruno@clisp.org>
89401         Update doc for POSIX:2008.
89402         * doc/pastposix-functions/bcmp.texi: Renamed from
89403         doc/posix-functions/bcmp.texi.
89404         * doc/pastposix-functions/bcopy.texi: Renamed from
89405         doc/posix-functions/bcopy.texi.
89406         * doc/pastposix-functions/bsd_signal.texi: Renamed from
89407         doc/posix-functions/bsd_signal.texi.
89408         * doc/pastposix-functions/bzero.texi: Renamed from
89409         doc/posix-functions/bzero.texi.
89410         * doc/pastposix-functions/ecvt.texi: Renamed from
89411         doc/posix-functions/ecvt.texi.
89412         * doc/pastposix-functions/fcvt.texi: Renamed from
89413         doc/posix-functions/fcvt.texi.
89414         * doc/pastposix-functions/ftime.texi: Renamed from
89415         doc/posix-functions/ftime.texi.
89416         * doc/pastposix-functions/gcvt.texi: Renamed from
89417         doc/posix-functions/gcvt.texi.
89418         * doc/pastposix-functions/getcontext.texi: Renamed from
89419         doc/posix-functions/getcontext.texi.
89420         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
89421         doc/posix-functions/gethostbyaddr.texi.
89422         * doc/pastposix-functions/gethostbyname.texi: Renamed from
89423         doc/posix-functions/gethostbyname.texi.
89424         * doc/pastposix-functions/getwd.texi: Renamed from
89425         doc/posix-functions/getwd.texi.
89426         * doc/pastposix-functions/h_errno.texi: Renamed from
89427         doc/posix-functions/h_errno.texi.
89428         * doc/pastposix-functions/index.texi: Renamed from
89429         doc/posix-functions/index.texi.
89430         * doc/pastposix-functions/makecontext.texi: Renamed from
89431         doc/posix-functions/makecontext.texi.
89432         * doc/pastposix-functions/mktemp.texi: Renamed from
89433         doc/posix-functions/mktemp.texi.
89434         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
89435         doc/posix-functions/pthread_attr_getstackaddr.texi.
89436         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
89437         doc/posix-functions/pthread_attr_setstackaddr.texi.
89438         * doc/pastposix-functions/rindex.texi: Renamed from
89439         doc/posix-functions/rindex.texi.
89440         * doc/pastposix-functions/scalb.texi: Renamed from
89441         doc/posix-functions/scalb.texi.
89442         * doc/pastposix-functions/setcontext.texi: Renamed from
89443         doc/posix-functions/setcontext.texi.
89444         * doc/pastposix-functions/swapcontext.texi: Renamed from
89445         doc/posix-functions/swapcontext.texi.
89446         * doc/pastposix-functions/ualarm.texi: Renamed from
89447         doc/posix-functions/ualarm.texi.
89448         * doc/pastposix-functions/usleep.texi: Renamed from
89449         doc/posix-functions/usleep.texi.
89450         * doc/pastposix-functions/vfork.texi: Renamed from
89451         doc/posix-functions/vfork.texi.
89452         * doc/pastposix-functions/wcswcs.texi: Renamed from
89453         doc/posix-functions/wcswcs.texi.
89454         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
89455         (Function Substitutes): Update.
89457 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89459         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
89460         m4/strerror.m4.
89462 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89463             Bruno Haible  <bruno@clisp.org>
89465         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
89467 2008-12-13  Bruno Haible  <bruno@clisp.org>
89469         * modules/strtoull (Depends-on): Remove unistd.
89471 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89473         * modules/strtoull (Depends-on): Add stdlib.
89475 2008-12-11  Simon Josefsson  <simon@josefsson.org>
89477         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
89479 2008-12-10  Jim Meyering  <meyering@redhat.com>
89481         gl_ASSERT: don't say assertions are disabled when they're not
89482         * m4/assert.m4 (gl_ASSERT): Do not make configure report
89483         "checking whether to enable assertions... no", when they are in
89484         fact enabled.  This is solely a bug in the output of configure.
89485         In spite of saying "no", NDEBUG was not defined in that case.
89486         Also, as noted by Eric Blake, leave assertions enabled upon
89487         --enable-assert=INVALID.
89489 2008-12-10  Bruno Haible  <bruno@clisp.org>
89491         Change MODULES.html to refer to POSIX:2008 where possible.
89492         * MODULES.html.sh (POSIX2008_URL): New variable.
89493         (posix_headers): Remove sys/timeb, ucontext.
89494         (posix2001_headers): New variable.
89495         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
89496         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
89497         index, makecontext, mktemp, pthread_attr_getstackaddr,
89498         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
89499         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
89500         (posix2001_functions): New variable.
89501         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
89502         otherwise.
89504 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89506         add missing include to parse-duration.c
89507         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
89508         * modules/parse-duration (Depends-on): Add xalloc.
89510         fix sed script reading maint.mk
89511         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
89512         (syntax-check-rules): Use it.
89514 2008-12-09  Bruno Haible  <bruno@clisp.org>
89516         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
89517         MacOS X 10.4/PowerPC.
89518         Reported by Simon Josefsson.
89520 2008-12-08  Jim Meyering  <meyering@redhat.com>
89522         work around mingw's lack of some S_IF definitions
89523         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
89524         Reported by Simon Josefsson.
89526 2008-12-08  Bruno Haible  <bruno@clisp.org>
89528         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
89529         applied to variables. Needed on MacOS X 10.4/PowerPC.
89530         Reported by Simon Josefsson.
89532 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
89533         and Eric Blake  <ebb9@byu.net>
89535         assert: honor --enable-assert
89536         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
89537         order to honor --enable-assert, rather than treating it as a
89538         synonym for --disable-assert.
89540 2008-12-08  Jim Meyering  <meyering@redhat.com>
89542         * lib/posixtm.c: Remove now-useless declaration of mktime.
89544         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
89546 2008-12-07  Bruno Haible  <bruno@clisp.org>
89548         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
89549         test_once): Mark functions as static.
89550         * tests/test-tls.c (test_tls): Likewise.
89552 2008-12-07  Bruno Haible  <bruno@clisp.org>
89554         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
89555         iconv_register_autodetect.
89557 2008-12-07  Jim Meyering  <meyering@redhat.com>
89559         posixtm.c: avoid a warning
89560         * lib/posixtm.c (posixtime): Don't initialize tm0.
89561         It's no longer needed to placate gcc4's -Wuninitialized,
89562         and the attempt to placate would elicit a new warning.
89564         unicodeio.c: mark unused parameters
89565         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89566         (fallback_failure_callback): Likewise.
89568 2008-12-07  Bruno Haible  <bruno@clisp.org>
89570         * gnulib-tool (func_create_testdir): When building the tests
89571         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
89572         Reported by Simon Josefsson.
89574 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89576         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
89578 2008-12-06  Bruno Haible  <bruno@clisp.org>
89580         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
89581         Suggested by Eric Blake.
89583 2008-12-06  Bruno Haible  <bruno@clisp.org>
89585         Fix a c-stack test failure on MacOS X.
89586         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
89587         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
89588         handler for SIGBUS as well.
89589         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
89590         install a signal handler for SIGBUS as well.
89591         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
89593 2008-12-06  Bruno Haible  <bruno@clisp.org>
89595         Advocacy documentation.
89596         * doc/gnulib-intro.texi (Benefits): New section.
89597         * doc/gnulib.texi: Update.
89599 2008-12-06  Bruno Haible  <bruno@clisp.org>
89601         Document the 'manywarnings' module.
89602         * doc/manywarnings.texi: New file.
89603         * doc/gnulib.texi: Include it.
89605 2008-12-05  Eric Blake  <ebb9@byu.net>
89607         tests: silence some gcc warnings
89608         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
89609         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
89610         type mismatches.
89612 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89613             Bruno Haible  <bruno@clisp.org>
89615         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
89617 2008-11-29  Jim Meyering  <meyering@redhat.com>
89619         unicodeio.c: mark unused parameters
89620         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89621         (fallback_failure_callback): Likewise.
89623         fts: fix a thinko
89624         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
89625         (set_stat_type): Return S_IF*-valued "type" directly.
89626         Prompted by James Youngman's spotting a related bug.
89627         Confirmed by further testing through find.
89629         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
89630         * lib/fts.c (D_TYPE): Define.
89631         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
89632         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
89633         (s_ifmt_shift_bits): New function.
89634         (set_stat_type): New function.
89635         (fts_build): When not calling fts_stat, call set_stat_type
89636         to propagate dirent.d_type info to fts_read caller.
89637         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
89638         fts_statp->st_mode type information may be valid.
89640 2008-11-28  Simon Josefsson  <simon@josefsson.org>
89642         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
89643         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
89644         <sds@gnu.org>.
89646 2008-11-20  Bruno Haible  <bruno@clisp.org>
89648         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
89649         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
89650         INCLUDE_NEXT.
89651         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
89652         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
89653         * modules/math (Makefile.am): Substitute
89654         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
89655         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
89657 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
89658             Bruno Haible  <bruno@clisp.org>
89660         * lib/stdint.in.h: Define all type macros so that their expansion is
89661         a single typedef'ed token. Fixes a compilation failure in Boost which
89662         does "using ::int8_t;".
89664 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89666         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
89667         gl_MANYWARN_ALL_GCC.
89668         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
89669         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
89670         * modules/manywarnings: New file.
89671         * MODULES.html.sh: Mention manywarnings module.
89673 2008-11-18  Bruno Haible  <bruno@clisp.org>
89675         * doc/gnulib-tool.texi (Unit tests): New section.
89677 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89679         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
89680         paths like 'lib/po/foo.po'.
89682 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89684         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
89685         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
89687 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89689         * m4/warnings.m4: Use CPPFLAGS to really check whether the
89690         parameter works.
89692 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89694         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
89696 2008-11-17  Bruce Korb  <bkorb@gnu.org>
89698         * modules/parse-duration-tests: New file.
89699         * tests/test-parse-duration.sh: New file.
89700         * tests/test-parse-duration.c: New file.
89702         New module 'parse-duration'.
89703         * lib/parse-duration.h: New file.
89704         * lib/parse-duration.c: New file.
89705         * modules/parse-duration: New file.
89707 2008-11-17  Bruno Haible  <bruno@clisp.org>
89709         * tests/test-select-out.sh: Comment out the first pipe test.
89710         Reported by Simon Josefsson.
89712 2008-11-17  Bruno Haible  <bruno@clisp.org>
89714         * modules/getaddrinfo (Depends-on): Add servent, hostent.
89715         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
89716         gl_HOSTENT.
89718 2008-11-17  Bruno Haible  <bruno@clisp.org>
89720         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
89721         -lnetwork and -lnet. Needed for Haiku and BeOS.
89723 2008-11-16  Bruno Haible  <bruno@clisp.org>
89725         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
89727 2008-11-16  Bruno Haible  <bruno@clisp.org>
89729         Avoid test failure on Haiku.
89730         * tests/test-fsync.c: Include <errno.h>.
89731         (main): Don't require that fsync (0) fails.
89733 2008-11-15  Bruno Haible  <bruno@clisp.org>
89735         New module 'hostent'.
89736         * modules/hostent: New file.
89737         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
89739 2008-11-15  Bruno Haible  <bruno@clisp.org>
89741         New module 'servent'.
89742         * modules/servent: New file.
89743         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
89745 2008-11-15  Bruno Haible  <bruno@clisp.org>
89747         Avoid generating same test program with two different rules.
89748         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
89749         test-frexp to test-frexp-nolibm.
89750         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
89751         test-frexpl to test-frexpl-nolibm.
89753 2008-11-15  Bruno Haible  <bruno@clisp.org>
89755         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
89756         $(FREXPL_LIBM).
89758 2008-11-15  Bruno Haible  <bruno@clisp.org>
89760         * lib/netdb.in.h: Activate the definitions also when the system's
89761         <netdb.h> has 'struct addrinfo'.
89762         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
89763         EAI_OVERFLOW or AI_NUMERICSERV.
89764         * doc/posix-headers/netdb.texi: Document the problem.
89766 2008-11-15  Bruno Haible  <bruno@clisp.org>
89768         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
89770         Make the 'sched' module work on platforms where <sched.h> exists but
89771         is incomplete (such as Haiku).
89772         * lib/sched.in.h; Include the system's <sched.h> if it exists.
89773         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
89774         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
89775         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
89776         HAVE_STRUCT_SCHED_PARAM.
89777         * modules/sched (Depends-on): Add include_next.
89778         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
89779         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
89780         * doc/posix-headers/sched.texi: Document the issue.
89782 2008-11-13  Jim Meyering  <meyering@redhat.com>
89784         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
89785         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
89786         test would fail due to the difference in the Report bugs to ...
89787         line.  The expected address is empty, "<>", while the actual
89788         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
89790 2008-11-12  Bruno Haible  <bruno@clisp.org>
89792         lstat: don't compile lstat.c on systems lacking lstat
89793         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
89794         which don't have lstat; this is handled by lib/sys_stat.in.h already.
89795         Reported by Daniel P. Berrange via Jim Meyering.
89797 2008-11-12  Jim Meyering  <meyering@redhat.com>
89799         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
89801 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89803         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
89804         instead.
89806 2008-11-12  Bruno Haible  <bruno@clisp.org>
89808         * lib/unicodeio.c: Include unistr.h.
89809         (utf8_wctomb): Remove function.
89810         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
89812 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89814         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
89815         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
89816         <bruno@clisp.org>.
89817         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
89819 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89821         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
89822         * doc/gnulib.texi: Add section for warnings.
89824 2008-11-11  Bruno Haible  <bruno@clisp.org>
89826         * lib/sockets.h: Add a comment.
89828 2008-11-11  Karl Berry  <karl@gnu.org>
89830         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
89832 2008-11-11  Eric Blake  <ebb9@byu.net>
89834         fdl.texi: avoid git symlinks
89835         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
89837 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89839         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
89841 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89843         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
89844         (gl_WARN_ADD): Substitute $2 if literal.
89846 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89848         * m4/warning.m4: Remove.
89850 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89852         * m4/warnings.m4: Almost complete rewrite. :-)
89854 2008-11-10  Simon Josefsson  <simon@josefsson.org>
89856         * modules/warnings: New module.
89857         * m4/warnings.m4: New file.
89858         * MODULES.html.sh: Mention warnings module.
89859         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
89860         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89862 2008-11-10  Eric Blake  <ebb9@byu.net>
89864         fdl.texi: make a symlink to the latest version
89865         * doc/standards.texi: Revert today's earlier change.
89866         * doc/fdl-1.2.texi: Rename from old fdl.texi...
89867         * doc/fdl.texi: ...and replace this with a symlink to the newer
89868         fdl-1.3.texi.
89870 2008-11-10  Bruno Haible  <bruno@clisp.org>
89872         * tests/test-select-fd.c (main): Accept the result file name as fourth
89873         argument.
89874         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
89875         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
89877 2008-11-10  Bruno Haible  <bruno@clisp.org>
89879         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
89880         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
89881         as autoconf-substituted macros.
89882         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
89883         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
89884         gl_NETDB_H_DEFAULTS. Set these variables.
89885         * modules/netdb (Makefile.am): Substitute these variables.
89887 2008-11-10  Eric Blake  <ebb9@byu.net>
89889         standards.texi: include correct file for FDL 1.3
89890         * doc/standards.texi (GNU Free Documentation License): Change
89891         include file to pull in FDL 1.3, not 1.2.
89893         fdl.texi: revert accidental change to license
89894         * doc/fdl.texi: This is FDL 1.2, not 1.3.
89896 2008-11-10  Bruno Haible  <bruno@clisp.org>
89898         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
89899         cross-compiling guesses also when the native compile gives no result.
89901 2008-11-10  Bruno Haible  <bruno@clisp.org>
89903         * lib/spawni.c (__spawni): Force variable into the stack.
89905 2008-11-10  Bruno Haible  <bruno@clisp.org>
89907         Add support for Haiku.
89908         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
89909         glibc and BeOS, but also on Haiku.
89910         * lib/fpurge.c (fpurge): Likewise.
89911         * lib/freadable.c (freadable): Likewise.
89912         * lib/freadahead.c (freadahead): Likewise.
89913         * lib/freading.c (freading): Likewise.
89914         * lib/freadptr.c (freadptr): Likewise.
89915         * lib/freadseek.c (freadptrinc): Likewise.
89916         * lib/fseeko.c (rpl_fseeko): Likewise.
89917         * lib/fseterr.c (fseterr): Likewise.
89918         * lib/fwritable.c (fwritable): Likewise.
89919         * lib/fwriting.c (fwriting): Likewise.
89920         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
89922 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89924         * lib/config.charset: Treat Haiku like BeOS.
89926 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89928         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
89929         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
89931 2008-11-08  Bruno Haible  <bruno@clisp.org>
89933         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
89934         AC_CACHE_CHECK.
89936 2008-11-08  Bruno Haible  <bruno@clisp.org>
89938         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
89940 2008-11-08  Bruno Haible  <bruno@clisp.org>
89942         * tests/test-select-fd.c: New file.
89943         * tests/test-select-in.sh: New file.
89944         * tests/test-select-out.sh: New file.
89945         * tests/test-select-stdin.c: New file.
89946         * modules/select-tests (Files): Add the new files.
89947         (Depends-on): Add gettimeofday.
89948         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
89949         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
89950         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
89952 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
89953             Bruno Haible  <bruno@clisp.org>
89955         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
89957 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
89959         * build-aux/pmccabe2html: Added support for C++ source files.
89961 2008-11-05  Ben Pfaff  <blp@gnu.org>
89963         Fix lib/close.c build on Windows.
89964         * modules/close (Files): Add lib/w32sock.h.
89966 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
89968         Accept Bison's NEWS format.
89969         * build-aux/announce-gen (print_news_deltas): Tweak
89970         $re_prefix.
89972 2008-11-04  Bruno Haible  <bruno@clisp.org>
89974         * modules/random_r (Maintainer): Add glibc.
89976 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89978         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
89979         by karl@freefriends.org (Karl Berry).
89980         * doc/alloca.texi: Likewise.
89981         * doc/c-ctype.texi: Likewise.
89982         * doc/c-strcase.texi: Likewise.
89983         * doc/c-strcaseeq.texi: Likewise.
89984         * doc/c-strcasestr.texi: Likewise.
89985         * doc/c-strstr.texi: Likewise.
89986         * doc/c-strtod.texi: Likewise.
89987         * doc/c-strtold.texi: Likewise.
89988         * doc/ctime.texi: Likewise.
89989         * doc/error.texi: Likewise.
89990         * doc/fdl.texi: Likewise.
89991         * doc/gcd.texi: Likewise.
89992         * doc/getdate.texi: Likewise.
89993         * doc/gnulib-intro.texi: Likewise.
89994         * doc/gnulib-tool.texi: Likewise.
89995         * doc/gnulib.texi: Likewise.
89996         * doc/inet_ntoa.texi: Likewise.
89997         * doc/maintain.texi: Likewise.
89998         * doc/make-stds.texi: Likewise.
89999         * doc/quote.texi: Likewise.
90000         * doc/regexprops-generic.texi: Likewise.
90001         * doc/standards.texi: Likewise.
90002         * doc/verify.texi: Likewise.
90003         * doc/visibility.texi: Likewise.
90004         * doc/gnulib.texi (GNU Free Documentation License): Include
90005         fdl-1.3.texi instead of fdl.texi.
90007 2008-11-04  Simon Josefsson  <simon@josefsson.org>
90009         * doc/fdl-1.3.texi: New file, from
90010         <http://www.gnu.org/licenses/fdl-1.3.texi>.
90011         * modules/fdl-1.3: Add.
90012         * MODULES.html.sh: Add fdl-1.3.
90014 2008-11-03  Bruno Haible  <bruno@clisp.org>
90016         Make determination of absolute name of header file work with AIX xlc.
90017         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
90018         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
90019         preprocessing.
90020         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
90021         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
90023 2008-11-03  Simon Josefsson  <simon@josefsson.org>
90025         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
90026         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
90027         <ludo@gnu.org>.
90029 2008-11-02  Bruno Haible  <bruno@clisp.org>
90031         Mark 'strpbrk' obsolete.
90032         * modules/strpbrk (Status, Notice): New sections.
90033         * modules/strtok_r (Depends-on): Add strpbrk.
90035 2008-11-02  Bruno Haible  <bruno@clisp.org>
90037         Mark 'strdup' obsolete.
90038         * modules/strdup (Status, Notice): New sections.
90039         * modules/findprog (Depends-on): Add strdup.
90040         * modules/getaddrinfo (Depends-on): Likewise.
90041         * modules/localename (Depends-on): Likewise.
90042         * modules/relocatable-lib (Depends-on): Likewise.
90043         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
90044         * modules/relocatable-prog (Depends-on): Likewise.
90045         * modules/trim (Depends-on): Likewise.
90046         * modules/unictype/gen-ctype (Depends-on): Likewise.
90047         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90049 2008-11-02  Bruno Haible  <bruno@clisp.org>
90051         Mark 'strcspn' obsolete.
90052         * modules/strcspn (Status, Notice): New sections.
90054 2008-11-02  Bruno Haible  <bruno@clisp.org>
90056         Mark 'rmdir' obsolete.
90057         * modules/rmdir (Status, Notice): New sections.
90058         * modules/clean-temp (Depends-on): Add rmdir.
90059         * modules/openat (Depends-on): Likewise.
90061 2008-11-02  Bruno Haible  <bruno@clisp.org>
90063         Mark 'raise' obsolete.
90064         * modules/raise (Status, Notice): New sections.
90065         (Include): Specify <signal.h>.
90066         * modules/stdio (Depends-on): Add raise.
90067         * modules/write (Depends-on): Likewise.
90069 2008-11-02  Bruno Haible  <bruno@clisp.org>
90071         Mark 'memset' obsolete.
90072         * modules/memset (Status, Notice): New sections.
90074 2008-11-02  Bruno Haible  <bruno@clisp.org>
90076         Mark 'memmove' obsolete.
90077         * modules/memmove (Status, Notice): New sections.
90078         * modules/argp (Depends-on): Add memmove.
90079         * modules/argz (Depends-on): Likewise.
90080         * modules/canonicalize (Depends-on): Likewise.
90081         * modules/canonicalize-lgpl (Depends-on): Likewise.
90082         * modules/fts (Depends-on): Likewise.
90083         * modules/getcwd (Depends-on): Likewise.
90084         * modules/human (Depends-on): Likewise.
90085         * modules/regex (Depends-on): Likewise.
90086         * modules/striconveh (Depends-on): Likewise.
90087         * modules/trim (Depends-on): Likewise.
90088         * modules/unistr/u8-move (Depends-on): Likewise.
90089         * modules/unistr/u16-move (Depends-on): Likewise.
90090         * modules/unistr/u32-move (Depends-on): Likewise.
90092 2008-11-02  Bruno Haible  <bruno@clisp.org>
90094         Mark 'memcpy' obsolete.
90095         * modules/memcpy (Status, Notice): New sections.
90097 2008-11-02  Bruno Haible  <bruno@clisp.org>
90099         Mark 'memcmp' obsolete.
90100         * modules/memcmp (Status, Notice): New sections.
90101         * modules/argmatch (Depends-on): Add memchr.
90102         * modules/backupfile (Depends-on): Likewise.
90103         * modules/c-strcasestr (Depends-on): Likewise.
90104         * modules/crypto/des (Depends-on): Likewise.
90105         * modules/csharpcomp (Depends-on): Likewise.
90106         * modules/fnmatch (Depends-on): Likewise.
90107         * modules/git-merge-changelog (Depends-on): Likewise.
90108         * modules/isnand (Depends-on): Likewise.
90109         * modules/isnand-nolibm (Depends-on): Likewise.
90110         * modules/isnanf (Depends-on): Likewise.
90111         * modules/isnanf-nolibm (Depends-on): Likewise.
90112         * modules/isnanl (Depends-on): Likewise.
90113         * modules/isnanl-nolibm (Depends-on): Likewise.
90114         * modules/mbchar (Depends-on): Likewise.
90115         * modules/memcoll (Depends-on): Likewise.
90116         * modules/quotearg (Depends-on): Likewise.
90117         * modules/regex (Depends-on): Likewise.
90118         * modules/relocatable-prog (Depends-on): Likewise.
90119         * modules/same (Depends-on): Likewise.
90120         * modules/signbit (Depends-on): Likewise.
90121         * modules/strcasestr-simple (Depends-on): Likewise.
90122         * modules/unictype/gen-ctype (Depends-on): Likewise.
90123         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
90124         * modules/uniname/uniname (Depends-on): Likewise.
90125         * modules/unistr/u8-cmp (Depends-on): Likewise.
90127 2008-11-02  Bruno Haible  <bruno@clisp.org>
90129         Mark 'memchr' obsolete.
90130         * modules/memchr (Status, Notice): New sections.
90131         * modules/argp (Depends-on): Add memchr.
90132         * modules/base64 (Depends-on): Likewise.
90133         * modules/c-strcasestr (Depends-on): Likewise.
90134         * modules/chdir-long (Depends-on): Likewise.
90135         * modules/fnmatch (Depends-on): Likewise.
90136         * modules/getsubopt (Depends-on): Likewise.
90137         * modules/git-merge-changelog (Depends-on): Likewise.
90138         * modules/glob (Depends-on): Likewise.
90139         * modules/strcasestr-simple (Depends-on): Likewise.
90140         * modules/strnlen (Depends-on): Likewise.
90142 2008-11-02  Bruno Haible  <bruno@clisp.org>
90144         Mark 'atexit' obsolete.
90145         * modules/atexit (Status, Notice): New sections.
90146         * modules/chdir-long (Depends-on): Add atexit.
90147         * modules/wait-process (Depends-on): Likewise.
90149 2008-11-02  Bruno Haible  <bruno@clisp.org>
90151         * gnulib-tool: New option --with-obsolete.
90152         (func_usage): Document it.
90153         (func_modules_transitive_closure): Drop obsolete dependencies if
90154         incobsolete is not true.
90155         (func_import): Read and save the incobsolete variable to the cache.
90157 2008-11-02  Bruno Haible  <bruno@clisp.org>
90159         * modules/TEMPLATE-EXTENDED: New field 'Status'.
90160         * gnulib-tool: New option --extract-status.
90161         (func_usage): Document it.
90162         (sed_extract_prog): Recognize it.
90163         (func_get_status): New function.
90165 2008-10-30  Simon Josefsson  <simon@josefsson.org>
90167         * modules/sockets (License): Change from LGPL to LGPLv2+.
90169 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90171         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
90173 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90175         * MODULES.html.sh (Support for systems lacking POSIX:2001):
90176         Mention times and sys_times.
90177         * modules/sys_times, modules/sys_times-tests: New modules.
90178         * modules/times, modules/times-tests: Likewise
90179         * m4/sys_times_h.m4: New file.
90180         * lib/sys_times.in.h: Likewise
90181         * lib/times.c: Likewise.
90182         * tests/test-sys_times.c: Likewise.
90183         * tests/test-times.c: Likewise.
90184         * doc/posix-headers/sys_times.texi: Update.
90185         * doc/posix-functions/times.texi: Update.
90187 2008-10-28  Jim Meyering  <meyering@redhat.com>
90189         * modules/tempname (Depends-on): Add lstat.
90191         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
90193 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90195         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
90196         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
90197         using idiom used elsewhere in gnulib.
90199 2008-10-27  Jim Meyering  <meyering@redhat.com>
90201         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
90203 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90205         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
90206         TESTS_ENVIRONMENT, for shell scripts that needs to call built
90207         programs.
90208         * tests/test-argp-2.sh: Use $EXEEXT when needed.
90210 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90212         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
90214 2008-10-27  Bruno Haible  <bruno@clisp.org>
90216         * tests/test-lstat.c: Include <stdio.h>.
90218 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90220         * modules/lstat-tests: New module.
90221         * tests/test-lstat.c: New file.
90223 2008-10-26  Jim Meyering  <meyering@redhat.com>
90225         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
90227 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90228             Bruno Haible  <bruno@clisp.org>
90230         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
90231         * modules/configmake (Include): Add a note that the include must come
90232         after all system headers.
90233         * lib/javaversion.c: Include configmake.h after all other includes.
90235 2008-10-26  Bruno Haible  <bruno@clisp.org>
90237         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
90238         HAVE_STRUCT_RANDOM_DATA to 1.
90239         (gl_STDLIB_H): Simplify.
90241 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90243         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
90244         substitute HAVE_STRUCT_RANDOM_DATA.
90245         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
90246         random_data.
90247         * modules/stdlib (Makefile.am): Substitute
90248         HAVE_STRUCT_RANDOM_DATA.
90250 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90252         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
90253         * doc/gnulib-intro.texi (Copyright): Likewise.
90255 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90257         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
90258         findings.
90260 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
90261             Bruno Haible  <bruno@clisp.org>
90263         * lib/unistd.in.h: Include <winsock2.h>.
90264         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
90265         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
90266         Provide dummy declarations.
90267         (gethostname): Override.
90268         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
90269         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
90270         gl_PREREQ_SYS_H_WINSOCK2.
90271         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
90272         * doc/posix-functions/gethostname.texi: More details.
90274 2008-10-25  Bruno Haible  <bruno@clisp.org>
90276         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90277         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
90278         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
90280         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
90281         here ...
90282         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
90283         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
90284         gl_UNISTD_H_DEFAULTS.
90286 2008-10-25  Eric Blake  <ebb9@byu.net>
90288         signbit: avoid spurious compiler failure
90289         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
90290         declarations inside function.
90292 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90293             Bruno Haible  <bruno@clisp.org>
90295         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
90296         * modules/random_r (Depends-on): Add stdint.
90298 2008-10-24  Bruno Haible  <bruno@clisp.org>
90300         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
90301         Eggert.
90302         * modules/strerror (License): Likewise.
90304 2008-10-24  Jim Meyering  <meyering@redhat.com>
90306         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
90307         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
90309 2008-10-24  Eric Blake  <ebb9@byu.net>
90311         getgroups: fix compilation when getgroups is available
90312         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
90313         but with <config.h> override of getgroups disabled.
90315 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90317         * doc/gnulib.texi (Header files): Add note about C++ problems.
90318         Explained by Bruno Haible <bruno@clisp.org>.
90320 2008-10-23  Bruno Haible  <bruno@clisp.org>
90322         Define a dummy SA_NODEFER macro on Interix.
90323         * lib/signal.in.h (SA_NODEFER): Define fallback.
90324         Reported by Aleksey Cheusov <cheusov@tut.by> via
90325         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
90327 2008-10-23  Bruno Haible  <bruno@clisp.org>
90329         * modules/freadahead (License): Change to LGPLv2+.
90330         Suggested by Simon Josefsson.
90332 2008-10-23  Jim Meyering  <meyering@redhat.com>
90334         random_r: new module
90335         * modules/random_r: New file.
90336         * m4/random_r.m4: New file.
90337         * lib/random_r.c: New file, from glibc.
90338         * modules/random_r-tests: New file.
90339         * tests/test-random_r.c: New file.
90340         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
90341          Declare.
90342         (RAND_MAX): Define.
90343         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
90344         * modules/stdlib: Substitute them, too.
90345         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
90346         * doc/glibc-functions/initstate_r.texi: Mention the new module.
90347         * doc/glibc-functions/random_r.texi: Likewise.
90348         * doc/glibc-functions/setstate_r.texi: Likewise.
90349         * doc/glibc-functions/srandom_r.texi: Likewise.
90350         * config/srclist.txt: Mention it.
90352 2008-10-23  David Lutterkort  <lutter@redhat.com>
90354         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
90355         link requirement
90357 2008-10-23  Jim Meyering  <meyering@redhat.com>
90359         selinux-h: mark parameters of stub functions as intentionally unused
90360         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
90361         * lib/se-context.in.h: Likewise.
90363 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90365         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
90367 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90369         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
90371 2008-10-22  Eric Blake  <ebb9@byu.net>
90373         glthread/thread: avoid compiler warning
90374         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
90375         Add unreachable abort to silence compiler.
90377 2008-10-22  Eric Blake  <ebb9@byu.net>
90379         netdb: also supply struct addrinfo for cygwin 1.5.x
90380         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
90381         older cygwin.
90382         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
90383         cygwin.
90384         * doc/posix-headers/netdb.texi (netdb.h): Document this.
90386 2008-10-22  Bruno Haible  <bruno@clisp.org>
90388         * users.txt: Update entry about pspp.
90390 2008-10-21  Bruno Haible  <bruno@clisp.org>
90392         Simplification.
90393         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
90394         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
90396         Simplification.
90397         * lib/ioctl.c (ioctl): Don't undefine.
90398         * lib/socket.c (socket): Don't undefine.
90400         Remove unused module indicator macros.
90401         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
90402         GNULIB_$1 as a C macro.
90404         * doc/posix-functions/close.texi: Undo last change.
90405         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
90406         Windows platforms.
90408 2008-10-21  Bruno Haible  <bruno@clisp.org>
90410         Add gethostname() declaration to <unistd.h>.
90411         * lib/unistd.in.h (gethostname): New declaration.
90412         * lib/gethostname.c: Include <unistd.h>.
90413         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
90414         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
90415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
90416         and HAVE_GETHOSTNAME.
90417         * modules/gethostname (Depends-on): Add unistd.
90418         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90419         (Include): Specify <unistd.h>.
90420         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
90421         HAVE_GETHOSTNAME.
90422         * tests/test-gethostname.c: Include <unistd.h> first.
90424 2008-10-21  Bruno Haible  <bruno@clisp.org>
90426         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
90427         * modules/select-tests (Depends-on): Likewise.
90428         Reported by Simon Josefsson.
90430 2008-10-21  Simon Josefsson  <simon@josefsson.org>
90432         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
90433         * lib/accept.c: New file, based on winsock.c.
90434         * lib/bind.c: New file, based on winsock.c.
90435         * lib/connect.c: New file, based on winsock.c.
90436         * lib/getpeername.c: New file, based on winsock.c.
90437         * lib/getsockname.c: New file, based on winsock.c.
90438         * lib/getsockopt.c: New file, based on winsock.c.
90439         * lib/ioctl.c: New file, based on winsock.c.
90440         * lib/listen.c: New file, based on winsock.c.
90441         * lib/recv.c: New file, based on winsock.c.
90442         * lib/recvfrom.c: New file, based on winsock.c.
90443         * lib/send.c: New file, based on winsock.c.
90444         * lib/sendto.c: New file, based on winsock.c.
90445         * lib/setsockopt.c: New file, based on winsock.c.
90446         * lib/shutdown.c: New file, based on winsock.c.
90447         * lib/socket.c: New file, based on winsock.c.
90448         * lib/w32sock.h: New file, based on winsock.c.
90449         * lib/winsock.c: Remove file.
90450         * modules/accept: Likewise.
90451         * modules/bind: Likewise.
90452         * modules/connect: Likewise.
90453         * modules/getpeername: Likewise.
90454         * modules/getsockname: Likewise.
90455         * modules/getsockopt: Likewise.
90456         * modules/ioctl: Likewise.
90457         * modules/listen: Likewise.
90458         * modules/recv: Likewise.
90459         * modules/recvfrom: Likewise.
90460         * modules/send: Likewise.
90461         * modules/sendto: Likewise.
90462         * modules/setsockopt: Likewise.
90463         * modules/shutdown: Likewise.
90464         * modules/socket: Use socket.c instead of winsock.c.
90465         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
90466         * doc/posix-functions/accept.texi: Doc fix.
90467         * doc/posix-functions/bind.texi: Doc fix.
90468         * doc/posix-functions/close.texi: Doc fix.
90469         * doc/posix-functions/connect.texi: Doc fix.
90470         * doc/posix-functions/getpeername.texi: Doc fix.
90471         * doc/posix-functions/getsockname.texi: Doc fix.
90472         * doc/posix-functions/getsockopt.texi: Doc fix.
90473         * doc/posix-functions/ioctl.texi: Doc fix.
90474         * doc/posix-functions/listen.texi: Doc fix.
90475         * doc/posix-functions/recv.texi: Doc fix.
90476         * doc/posix-functions/recvfrom.texi: Doc fix.
90477         * doc/posix-functions/send.texi: Doc fix.
90478         * doc/posix-functions/sendto.texi: Doc fix.
90479         * doc/posix-functions/setsockopt.texi: Doc fix.
90480         * doc/posix-functions/shutdown.texi: Doc fix.
90481         * doc/posix-functions/socket.texi: Doc fix.
90483 2008-10-20  Bruno Haible  <bruno@clisp.org>
90485         Take into account the role of SIGABRT_COMPAT on Windows 2008.
90486         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
90487         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
90488         as an alias for SIGABRT.
90489         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
90490         (sigaction): Map it to SIGABRT.
90491         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
90493 2008-10-20  Bruno Haible  <bruno@clisp.org>
90495         * lib/fts.c: Don't include lstat.h.
90496         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
90498         Move the lstat() declaration to <sys/stat.h>.
90499         * lib/lstat.h: Remove file.
90500         * lib/sys_stat.in.h: Add special invocation convention.
90501         (lstat): New declaration.
90502         * lib/lstat.c (orig_lstat): New function.
90503         (rpl_lstat): Use orig_lstat instead of lstat.
90504         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
90505         AC_C_INLINE. Set REPLACE_LSTAT.
90506         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
90507         and REPLACE_LSTAT.
90508         * modules/lstat (Files): Remove lib/lstat.h.
90509         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90510         (Include): Specify <sys/stat.h> instead of lstat.h.
90511         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
90512         REPLACE_LSTAT.
90513         * NEWS: Mention the change.
90515 2008-10-20  Bruno Haible  <bruno@clisp.org>
90517         * modules/posix_spawn-tests: New file.
90518         * tests/test-posix_spawn3.c: New file.
90520 2008-10-20  Bruno Haible  <bruno@clisp.org>
90522         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
90523         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90524         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
90525         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90526         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
90528 2008-10-20  Bruno Haible  <bruno@clisp.org>
90530         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
90531         of posix_spawn on AIX 5.3.
90533 2008-10-20  Bruno Haible  <bruno@clisp.org>
90535         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
90537 2008-10-20  Bruno Haible  <bruno@clisp.org>
90539         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
90540         of AC_LANG_PROGRAM.
90542 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90544         * lib/netdb.in.h: Don't define GNU specific constants until they
90545         are supported or needed.  Reported by Bruno Haible
90546         <bruno@clisp.org>.
90548 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90550         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
90552 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90554         * lib/getaddrinfo.h: Remove file.
90555         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
90556         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
90557         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
90558         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
90559         * modules/netdb: Substitute GNULIB_GETADDRINFO.
90560         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
90561         * tests/test-getaddrinfo.c: Likewise.
90562         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
90563         * NEWS: Mention change.
90565 2008-10-19  Bruno Haible  <bruno@clisp.org>
90567         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
90569 2008-10-19  Bruno Haible  <bruno@clisp.org>
90571         * lib/wait-process.c: Include simply <sys/wait.h>.
90572         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
90573         WIFSTOPPED): Remove fallback definitions.
90574         * modules/wait-process (Depends-on): Add sys_wait.
90576         New module 'sys_wait'.
90577         * modules/sys_wait: New file.
90578         * lib/sys_wait.in.h: New file, partially copied from
90579         lib/wait-process.c.
90580         * m4/sys_wait_h.m4: New file.
90581         * doc/posix-headers/sys_wait.texi: Mention the new module.
90583 2008-10-19  Bruno Haible  <bruno@clisp.org>
90585         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
90587 2008-10-19  Bruno Haible  <bruno@clisp.org>
90589         Assume that waitpid() fills an 'int' status, not a 'union wait'.
90590         * lib/wait-process.c (WAIT_T): Remove type.
90591         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
90592         (wait_subprocess): Update.
90594 2008-10-19  Bruno Haible  <bruno@clisp.org>
90596         New module 'atoll'.
90597         * modules/atoll: New file.
90598         * lib/stdlib.in.h (atoll): New declaration.
90599         * lib/atoll.c: New file, from glibc with modifications.
90600         * m4/atoll.m4: New file.
90601         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
90602         HAVE_ATOLL.
90603         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
90604         * doc/posix-functions/atoll.texi: Mention the new module.
90606 2008-10-19  Bruno Haible  <bruno@clisp.org>
90608         Add strtoull() declaration to <stdlib.h>.
90609         * lib/stdlib.in.h (strtoull): New declaration.
90610         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90611         Set HAVE_STRTOULL.
90612         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
90613         HAVE_STRTOULL.
90614         * modules/strtoull (Depends-on): Add stdlib.
90615         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90616         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
90617         HAVE_STRTOULL.
90619 2008-10-19  Bruno Haible  <bruno@clisp.org>
90621         Add strtoll() declaration to <stdlib.h>.
90622         * lib/stdlib.in.h (strtoll): New declaration.
90623         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90624         Set HAVE_STRTOLL.
90625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
90626         HAVE_STRTOLL.
90627         * modules/strtoll (Depends-on): Add stdlib.
90628         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90629         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
90631 2008-10-19  Bruno Haible  <bruno@clisp.org>
90633         * modules/bcopy (Depends-on): Add strings.
90634         (Include): Specify <strings.h>.
90636 2008-10-19  Bruno Haible  <bruno@clisp.org>
90638         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
90640 2008-10-19  Bruno Haible  <bruno@clisp.org>
90642         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
90643         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
90644         mingw.
90646 2008-10-19  Bruno Haible  <bruno@clisp.org>
90648         * lib/atanl.c: Don't include isnanl.h.
90649         * lib/cosl.c: Likewise.
90650         * lib/ldexpl.c: Likewise.
90651         * lib/logl.c: Likewise.
90652         * lib/sinl.c: Likewise.
90653         * lib/sqrtl.c: Likewise.
90654         * lib/tanl.c: Likewise.
90656         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
90657         * lib/isnanf.h: Remove file.
90658         * lib/isnand.h: Remove file.
90659         * lib/isnanl.h: Remove file.
90660         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
90661         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
90662         macros.
90663         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
90664         HAVE_ISNANF, don't define it as a C macro.
90665         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
90666         HAVE_ISNAND, don't define it as a C macro.
90667         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
90668         HAVE_ISNANL, don't define it as a C macro.
90669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
90670         HAVE_ISNAN[FDL].
90671         * modules/isnanf (Files): Remove lib/isnanf.h.
90672         (Depends-on): Add math.
90673         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90674         (Include): Specify <math.h> instead of isnanf.h.
90675         * modules/isnand (Files): Remove lib/isnand.h.
90676         (Depends-on): Add math.
90677         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90678         (Include): Specify <math.h> instead of isnand.h.
90679         * modules/isnanl (Files): Remove lib/isnanl.h.
90680         (Depends-on): Add math.
90681         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90682         (Include): Specify <math.h> instead of isnanl.h.
90683         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
90684         HAVE_ISNAN[FDL].
90685         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
90686         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
90687         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
90688         * NEWS: Mention the change.
90690 2008-10-18  Bruno Haible  <bruno@clisp.org>
90692         Add getusershell(), setusershell(), endusershell() declarations to
90693         <unistd.h>.
90694         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
90695         declarations.
90696         * lib/getusershell.c: Include unistd.h.
90697         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
90698         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90699         HAVE_GETUSERSHELL.
90700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
90701         and HAVE_GETUSERSHELL.
90702         * modules/getusershell (Depends-on): Add unistd, extensions.
90703         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90704         (Include): Specify <unistd.h>.
90705         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
90706         HAVE_GETUSERSHELL.
90708 2008-10-18  Bruno Haible  <bruno@clisp.org>
90710         Add a getloadavg() declaration to <stdlib.h>.
90711         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
90712         getloadavg declaration.
90713         (getloadavg): New declaration.
90714         * lib/getloadavg.c: Include <stdlib.h> first.
90715         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
90716         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
90717         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
90718         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
90719         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
90720         * modules/getloadavg (Depends-on): Add stdlib, extensions.
90721         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90722         (Include): Specify <stdlib.h>.
90723         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
90724         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
90726 2008-10-18  Bruno Haible  <bruno@clisp.org>
90728         * lib/dirchownmod.c: Don't include lchmod.h.
90730         Move the lchmod() declaration to <sys/stat.h>.
90731         * lib/lchmod.h: Remove file.
90732         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
90733         (lchmod): New declaration, moved here from lib/lchown.h.
90734         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
90735         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
90736         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
90737         and HAVE_LCHMOD.
90738         * modules/lchmod (Files): Remove lib/lchmod.h.
90739         (Depends-on): Add sys_stat, extensions.
90740         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90741         (Include): Specify <sys/stat.h> instead of lchmod.h.
90742         * modules/sys_stat (Depends-on): Add link-warning.
90743         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
90744         definition of GL_LINK_WARNING.
90745         * NEWS: Mention the change.
90747 2008-10-18  Bruno Haible  <bruno@clisp.org>
90749         * lib/fchdir.c: Don't include dirfd.h.
90750         * lib/fts.c: Likewise.
90751         * lib/getcwd.c: Likewise.
90752         * lib/glob.c: Likewise.
90754         Move the dirfd() declaration to <dirent.h>.
90755         * lib/dirfd.h: Remove file.
90756         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
90757         (dirfd): New declaration.
90758         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
90759         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
90760         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
90761         HAVE_DECL_DIRFD.
90762         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
90763         HAVE_DECL_DIRFD.
90764         * modules/dirfd (Files): Remove lib/dirfd.h.
90765         (Depends-on): Add dirent, extensions.
90766         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
90767         (Include): Specify <dirent.h> instead of dirfd.h.
90768         * modules/dirent (Depends-on): Add link-warning.
90769         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
90770         definition of GL_LINK_WARNING.
90771         * NEWS: Mention the change.
90773 2008-10-18  Bruno Haible  <bruno@clisp.org>
90775         Move the euidaccess() declaration to <unistd.h>.
90776         * lib/euidaccess.h: Remove file.
90777         * lib/unistd.in.h (euidaccess): New declaration.
90778         * lib/euidaccess.c: Don't include euidaccess.h.
90779         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
90780         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
90781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
90782         and HAVE_EUIDACCESS.
90783         * modules/euidaccess (Files): Remove lib/euidaccess.h.
90784         (Depends-on): Add unistd.
90785         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90786         (Include): Specify <unistd.h> instead of euidaccess.h.
90787         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
90788         HAVE_EUIDACCESS.
90789         * NEWS: Mention the change.
90791 2008-10-18  Bruno Haible  <bruno@clisp.org>
90793         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
90795         Move the getdomainname() declaration to <unistd.h>.
90796         * lib/getdomainname.h: Remove file.
90797         * lib/unistd.in.h (getdomainname): New declaration.
90798         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
90799         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
90800         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90801         HAVE_GETDOMAINNAME.
90802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90803         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
90804         * modules/getdomainname (Files): Remove lib/getdomainname.h.
90805         (Depends-on): Add unistd, extensions.
90806         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90807         (Includes): Specify <unistd.h> instead of getdomainname.h.
90808         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
90809         HAVE_GETDOMAINNAME.
90810         * NEWS: Mention the change.
90812 2008-10-18  Bruno Haible  <bruno@clisp.org>
90814         * modules/dirent: New file.
90815         * m4/dirent_h.m4: New file.
90816         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
90817         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
90818         * modules/fchdir (Files): Remove lib/dirent.in.h.
90819         (Depends-on): Add dirent.
90820         (Makefile.am): Move rules to modules/dirent.
90821         * doc/posix-headers/dirent.texi: Mention the new module.
90823 2008-10-18  Bruno Haible  <bruno@clisp.org>
90825         Avoid -Wunused-parameter warnings in public gnulib header files.
90826         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
90827         macro.
90828         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
90830 2008-10-18  Bruno Haible  <bruno@clisp.org>
90832         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
90833         * doc/glibc-functions/error.texi: Mention the module 'error'.
90834         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
90835         * doc/glibc-functions/getdomainname.texi: Mention the module
90836         'getdomainname'.
90837         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
90838         * doc/glibc-functions/getpagesize.texi: Mention the module
90839         'getpagesize'.
90840         * doc/glibc-functions/getusershell.texi: Mention the module
90841         'getusershell'.
90842         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
90843         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
90844         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
90845         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
90846         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
90847         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
90848         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
90849         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
90850         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
90851         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
90852         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
90853         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
90854         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
90855         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
90857 2008-10-17  Bruno Haible  <bruno@clisp.org>
90859         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
90860         HP-UX and IRIX, use -0.0L.
90861         * tests/test-ceill.c (minus_zero): Likewise.
90862         * tests/test-floorl.c (minus_zero): Likewise.
90863         * tests/test-frexpl.c (minus_zero): Likewise.
90864         * tests/test-isnan.c (minus_zerol): Likewise.
90865         * tests/test-isnanl.h (minus_zero): Likewise.
90866         * tests/test-ldexpl.c (minus_zero): Likewise.
90867         * tests/test-roundl.c (minus_zero): Likewise.
90868         * tests/test-signbit.c (minus_zerol): Likewise.
90869         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
90870         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
90871         * tests/test-truncl.c (minus_zero): Likewise.
90872         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
90873         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
90874         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
90875         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
90877 2008-10-17  Bruno Haible  <bruno@clisp.org>
90879         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
90880         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
90881         that it gets activated only for gcc >= 3.0.
90882         * lib/dirent.in.h: Likewise.
90883         * lib/errno.in.h: Likewise.
90884         * lib/fcntl.in.h: Likewise.
90885         * lib/float.in.h: Likewise.
90886         * lib/iconv.in.h: Likewise.
90887         * lib/inttypes.in.h: Likewise.
90888         * lib/locale.in.h: Likewise.
90889         * lib/math.in.h: Likewise.
90890         * lib/netdb.in.h: Likewise.
90891         * lib/netinet_in.in.h: Likewise.
90892         * lib/search.in.h: Likewise.
90893         * lib/signal.in.h: Likewise.
90894         * lib/spawn.in.h: Likewise.
90895         * lib/stdarg.in.h: Likewise.
90896         * lib/stdint.in.h: Likewise.
90897         * lib/stdio.in.h: Likewise.
90898         * lib/stdlib.in.h: Likewise.
90899         * lib/string.in.h: Likewise.
90900         * lib/strings.in.h: Likewise.
90901         * lib/sys_file.in.h: Likewise.
90902         * lib/sys_ioctl.in.h: Likewise.
90903         * lib/sys_select.in.h: Likewise.
90904         * lib/sys_socket.in.h: Likewise.
90905         * lib/sys_stat.in.h: Likewise.
90906         * lib/sys_time.in.h: Likewise.
90907         * lib/sysexits.in.h: Likewise.
90908         * lib/time.in.h: Likewise.
90909         * lib/unistd.in.h: Likewise.
90910         * lib/wchar.in.h: Likewise.
90911         * lib/wctype.in.h: Likewise.
90912         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
90914 2008-10-17  Jim Meyering  <meyering@redhat.com>
90916         ignore-value: don't depend on inline module
90917         * modules/ignore-value (Depends-on): Remove 'inline'.
90918         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
90919         Suggestion from Bruno Haible.
90921 2008-10-17  Bruno Haible  <bruno@clisp.org>
90923         New implementation of condition variables for Win32.
90924         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
90925         (gl_linked_waitqueue_t): New type.
90926         (gl_cond_t): Use it.
90927         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
90928         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
90929         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
90930         (glthread_cond_init_func, glthread_cond_wait_func,
90931         glthread_cond_timedwait_func, glthread_cond_signal_func,
90932         glthread_cond_broadcast_func, glthread_cond_destroy_func):
90933         Reimplemented on the basis of gl_linked_waitqueue_t.
90934         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
90935         gl_waitqueue_t.
90936         (gl_rwlock_t): Update.
90937         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
90939 2008-10-17  Simon Josefsson  <simon@josefsson.org>
90941         * modules/recvfrom (Depends-on): Add dependency on getpeername.
90942         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90944 2008-10-17  Jim Meyering  <meyering@redhat.com>
90946         ignore-value: new module
90947         * modules/ignore-value: New file.
90948         * lib/ignore-value.h: New file.
90949         * MODULES.html.sh (Compiler warning management): New section,
90950         just for this module.  More to come.
90952 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90954         open-safer.c: avoid 'signed and unsigned in conditional...' warning
90955         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
90956         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
90958 2008-10-16  Jim Meyering  <meyering@redhat.com>
90960         openat-die.c: avoid 'no previous prototype' warning
90961         * lib/openat-die.c: Include "openat.h".
90962         Reported by Reuben Thomas <rrt@sc3d.org>.
90964 2008-10-16  Simon Josefsson  <simon@josefsson.org>
90966         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
90967         * lib/netdb.in.h: Fix typo.
90968         Reported by Bruno Haible  <bruno@clisp.org>
90970         * lib/netdb.in.h: Include sys/socket.h for platforms without
90971         netdb.h, to get structures like hostent on MinGW.
90972         * modules/netdb (Depends-on): Add sys_socket.
90974 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90976         * modules/netdb, modules/netdb-tests: New file.
90977         * m4/netdb_h.m4: New file.
90978         * lib/netdb.in.h: Add, currently just an empty file pending
90979         definitions.
90980         * tests/test-netdb.c: New file.
90981         * doc/posix-headers/netdb.texi: Mention that we replace it if
90982         needed.
90983         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90984         netdb.
90986 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90988         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
90989         with code.
90991 2008-10-13  Bruno Haible  <bruno@clisp.org>
90993         * lib/glthread/cond.c (glthread_cond_wait_func,
90994         glthread_cond_timedwait_func): Add a comment.
90996 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90998         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
90999         * tests/test-select.c: Likewise,
91001 2008-10-13  Bruno Haible  <bruno@clisp.org>
91003         * lib/glthread/cond.c (glthread_cond_wait_func,
91004         glthread_cond_timedwait_func): Fix variable name.
91005         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
91007 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
91009         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
91010         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
91011         struct sockaddr.sa_len.
91012         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
91014 2008-10-13  Simon Josefsson  <simon@josefsson.org>
91016         * build-aux/pmccabe2html: Add css and css_url parameters.
91018 2008-10-12  Bruno Haible  <bruno@clisp.org>
91020         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
91021         calling aclx_get.
91022         Reported by Rainer Tammer <tammer@tammer.net>.
91024 2008-10-12  Bruno Haible  <bruno@clisp.org>
91026         Use msvcrt aware primitives for creation/termination of Win32 threads.
91027         * lib/glthread/thread.c: Include <process.h>.
91028         (glthread_create_func): Use _beginthreadex instead of CreateThread.
91029         (wrapper_func): Update signature.
91030         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
91032 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91033             Bruno Haible  <bruno@clisp.org>
91035         Provide a Win32 implementation of the 'cond' module.
91036         * lib/glthread/cond.h [USE_WIN32]: New implementation.
91037         * lib/glthread/cond.c (glthread_cond_init_func,
91038         glthread_cond_wait_func, glthread_cond_timedwait_func,
91039         glthread_cond_signal_func, glthread_cond_broadcast_func,
91040         glthread_cond_destroy_func) [USE_WIN32]: New functions.
91041         * modules/cond (Dependencies): Add gettimeofday.
91043 2008-10-11  Bruno Haible  <bruno@clisp.org>
91045         Make sleep work on older versions of mingw.
91046         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
91047         only whether it exists.
91048         * doc/posix-functions/sleep.texi: Mention the problem with older
91049         versions of mingw.
91051 2008-10-11  Bruno Haible  <bruno@clisp.org>
91053         New module 'shutdown'.
91054         * modules/shutdown: New file.
91055         * lib/sys_socket.in.h (shutdown): New declaration.
91056         * lib/winsock.c (shutdown): New function.
91057         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
91058         GNULIB_SHUTDOWN.
91059         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
91060         * doc/posix-functions/shutdown.texi: Document the new module.
91062 2008-10-11  Jim Meyering  <meyering@redhat.com>
91064         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
91066 2008-10-11  Bruno Haible  <bruno@clisp.org>
91068         New module 'fclose'.
91069         * modules/fclose: New file.
91070         * lib/stdio.in.h (fclose): New declaration.
91071         * lib/fclose.c: New file.
91072         * m4/fclose.m4: New file.
91073         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
91074         REPLACE_FCLOSE.
91075         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
91076         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
91077         REPLACE_FCLOSE.
91078         * modules/close (Depends-on): fclose.
91079         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
91081 2008-10-11  Bruno Haible  <bruno@clisp.org>
91083         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
91084         set errno and don't call _close.
91086 2008-10-10  Bruno Haible  <bruno@clisp.org>
91088         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
91089         ACL, not afterwards. Fixes test failure on Cygwin.
91091 2008-10-09  Ben Pfaff  <blp@gnu.org>
91093         * build-aux/announce-gen: Fix gnulib version related part of usage
91094         message.  Die with a useful error message if no tarballs are
91095         found.
91097 2008-10-10  Jim Meyering  <meyering@redhat.com>
91099         bootstrap: use git's --depth=N option only if it's supported
91100         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
91101         recognize the --depth option.  Reported by Pádraig Brady.
91103 2008-10-09  Bruno Haible  <bruno@clisp.org>
91105         New module 'ioctl'.
91106         * modules/ioctl: New file.
91107         * lib/sys_socket.in.h (ioctl): Remove declaration.
91108         * lib/winsock.c: Include <sys/ioctl.h>.
91109         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
91110         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
91111         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
91112         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
91113         * doc/posix-functions/ioctl.texi: Mention the new module.
91115 2008-10-09  Bruno Haible  <bruno@clisp.org>
91117         New module 'sys_ioctl'.
91118         * lib/sys_ioctl.in.h: New file.
91119         * m4/sys_ioctl_h.m4: New file.
91120         * modules/sys_ioctl: New file.
91121         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
91123 2008-10-09  Bruno Haible  <bruno@clisp.org>
91125         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
91126         * lib/winsock.c: Include <stdarg.h>.
91127         (rpl_ioctl): Change to second argument 'int' and then varargs.
91129 2008-10-09  Bruno Haible  <bruno@clisp.org>
91131         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
91132         when the sys_socket module is present and the system has <winsock2.h>.
91134 2008-10-09  Bruno Haible  <bruno@clisp.org>
91136         * doc/posix-functions/close.texi: Mention module 'close' instead of
91137         module 'sys_socket'.
91139 2008-10-09  Bruno Haible  <bruno@clisp.org>
91141         * doc/glibc-headers/sys_ioctl.texi: New file.
91142         * doc/gnulib.texi: Include it.
91144 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91145             Bruno Haible  <bruno@clisp.org>
91147         Combine the two replacements of 'close'.
91148         * lib/sys_socket.in.h (close): Define to a reminder to include
91149         <unistd.h>.
91150         (_gl_close_fd_maybe_socket): New declaration.
91151         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
91152         * lib/winsock.c (close): Remove undefinition.
91153         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
91154         needed for the gnulib module 'close'.
91155         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
91156         define to an error symbol or to a warning, if suitable.
91157         * lib/close.c: Include <sys/socket.h>.
91158         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
91159         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
91160         UNISTD_H_HAVE_WINSOCK2_H.
91161         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
91162         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91163         UNISTD_H_HAVE_WINSOCK2_H.
91164         * modules/sys_socket (Files): Add m4/unistd_h.m4.
91165         (configure.ac): Set a module indicator.
91166         (Makefile.am): Substitute GNULIB_CLOSE.
91167         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
91168         * modules/poll-tests (Depends-on): Add close.
91169         * modules/select-tests (Depends-on): Likewise.
91171 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91172             Bruno Haible  <bruno@clisp.org>
91174         New module 'close'.
91175         * modules/close: New file.
91176         * lib/unistd.in.h (close): Move declaration out of the
91177         FCHDIR_REPLACEMENT scope.
91178         (_gl_unregister_fd): New declaration.
91179         * lib/close.c: New file.
91180         * lib/fchdir.c (rpl_close): Remove function.
91181         * m4/close.m4: New file.
91182         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91183         close.
91184         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
91185         REPLACE_CLOSE.
91186         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
91187         REPLACE_CLOSE.
91188         * modules/fchdir (Depends-on): Add close.
91190 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91191             Bruno Haible  <bruno@clisp.org>
91193         * lib/fcntl.in.h (open): Simplify conditionals.
91194         (_gl_register_fd): New declaration.
91195         * lib/fchdir.c (rpl_open): Remove function.
91196         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
91197         also.
91198         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
91199         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91200         open.
91202 2008-10-09  Jim Meyering  <meyering@redhat.com>
91204         GNUmakefile: use the more name-space-friendly "_version"
91205         * top/GNUmakefile (_dummy): Update.
91206         (_version): Rename from "version".
91208 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91209             Bruno Haible  <bruno@clisp.org>
91211         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
91212         rpl_close.
91213         (_gl_register_fd): New function, extracted from rpl_open.
91214         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
91215         (rpl_open, rpl_opendir): Use _gl_register_fd.
91217 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91219         Fix organization of 'open' replacement.
91220         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
91221         (gl_FUNC_OPEN): Use it.
91222         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
91224 2008-10-08  Bruno Haible  <bruno@clisp.org>
91226         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
91228 2008-10-08  Simon Josefsson  <simon@josefsson.org>
91230         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
91231         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
91232         listen).
91234 2008-10-08  Eric Blake  <ebb9@byu.net>
91236         GNUmakefile: add 'make version' target
91237         * top/GNUmakefile (_curr-ver): Split version update rules...
91238         (version): ...into a target.
91240 2008-10-07  Bruno Haible  <bruno@clisp.org>
91242         Use a more portable replacement expression for -0.0L.
91243         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
91244         instead of -0.0L. Fix m4 quotation.
91246         * tests/test-signbit.c: Include <float.h>.
91247         (minus_zero): New variable.
91248         (test_signbitl): Use minus_zero instead of -zero.
91249         * modules/signbit-tests (Depends-on): Add float.
91251         * tests/test-ceill.c: Include <float.h>.
91252         (zero): Remove variable.
91253         (minus_zero): New variable.
91254         (main): Use minus_zero instead of -zero.
91255         * modules/ceill-tests (Depends-on): Add float.
91257         * tests/test-floorl.c: Include <float.h>.
91258         (zero): Remove variable.
91259         (minus_zero): New variable.
91260         (main): Use minus_zero instead of -zero.
91261         * modules/floorl-tests (Depends-on): Add float.
91263         * tests/test-roundl.c: Include <float.h>.
91264         (zero): Remove variable.
91265         (minus_zero): New variable.
91266         (main): Use minus_zero instead of -zero.
91267         * modules/roundl-tests (Depends-on): Add float.
91269         * tests/test-truncl.c: Include <float.h>.
91270         (zero): Remove variable.
91271         (minus_zero): New variable.
91272         (main): Use minus_zero instead of -zero.
91273         * modules/truncl-tests (Depends-on): Add float.
91275         * tests/test-frexpl.c (zero): Remove variable.
91276         (minus_zero): New variable.
91277         (main): Use minus_zero instead of -zero.
91278         * modules/frexpl-tests (Depends-on): Add float.
91280         * tests/test-isnan.c (zerol): Remove variable.
91281         (minus_zerol): New variable.
91282         (test_long_double): Use minus_zerol instead of -zerol.
91283         * modules/isnan-tests (Depends-on): Add float.
91285         * tests/test-isnanl.h (zero): Remove variable.
91286         (minus_zero): New variable.
91287         (main): Use minus_zero instead of -zero.
91288         * modules/isnanl-nolibm-tests (Depends-on): Add float.
91289         * modules/isnanl-tests (Depends-on): Add float.
91291         * tests/test-ldexpl.c (zero): Remove variable.
91292         (minus_zero): New variable.
91293         (main): Use minus_zero instead of -zero.
91294         * modules/ldexpl-tests (Depends-on): Add float.
91296         * tests/test-snprintf-posix.h (zerol): Remove variable.
91297         (minus_zerol): New variable.
91298         (test_function): Use minus_zerol instead of -zerol.
91299         * modules/snprintf-posix-tests (Depends-on): Add float.
91300         * modules/vsnprintf-posix-tests (Depends-on): Add float.
91302         * tests/test-sprintf-posix.h (zerol): Remove variable.
91303         (minus_zerol): New variable.
91304         (test_function): Use minus_zerol instead of -zerol.
91305         * modules/sprintf-posix-tests (Depends-on): Add float.
91306         * modules/vsprintf-posix-tests (Depends-on): Add float.
91308         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
91309         (minus_zerol): New variable.
91310         (test_function): Use minus_zerol instead of -zerol.
91311         * modules/vasnprintf-posix-tests (Depends-on): Add float.
91313         * tests/test-vasprintf-posix.c (zerol): Remove variable.
91314         (minus_zerol): New variable.
91315         (test_function): Use minus_zerol instead of -zerol.
91316         * modules/vasprintf-posix-tests (Depends-on): Add float.
91318 2008-10-07  Simon Josefsson  <simon@josefsson.org>
91320         * MODULES.html.sh (Support for building documentation): Mention
91321         pmccabe2html.  Sort entries.
91323         Add pmccabe2html module, from gnupdf.
91324         * build-aux/pmccabe.css: New file.
91325         * build-aux/pmccabe2html: New file.
91326         * m4/pmccabe2html.m4: New file.
91327         * modules/pmccabe2html: New file.
91329 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
91331         flock: new module
91332         * MODULES.html.sh: Add to list of modules.
91333         * lib/flock.c: flock implementation for Windows and Unix systems
91334         which have fcntl.
91335         * doc/glibc-functions/flock.texi: Update documentation.
91336         * lib/sys_file.in.h: <sys/file.h> header file.
91337         * m4/flock.m4: M4 macros.
91338         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
91339         * modules/flock: flock module.
91340         * modules/flock-tests: flock tests module.
91341         * modules/sys_file: sys/file.h module.
91342         * tests/test-flock.c: test suite for flock.
91344 2008-10-06  Jim Meyering  <meyering@redhat.com>
91346         bootstrap: check for LT_INIT more portably still ;-)
91347         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
91348         Spotted by Bruno Haible.
91350 2008-10-06  Eric Blake  <ebb9@byu.net>
91352         test-signbit: avoid tripping Irix cc bug on -0.0L
91353         * tests/test-signbit.c (minus_zerol): Delete, and replace with
91354         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
91355         entire testsuite consistent and avoids an Irix 6.2 bug.
91357 2008-10-05  Bruno Haible  <bruno@clisp.org>
91358             Jim Meyering  <jim@meyering.net>
91360         Add an option for ignoring EPIPE during close_stdout.
91361         * lib/closeout.h: Include <stdbool.h>.
91362         (close_stdout_set_ignore_EPIPE): New declaration.
91363         * lib/closeout.c: Include <stdbool.h>.
91364         (ignore_EPIPE): New variable.
91365         (close_stdout_set_ignore_EPIPE): New function.
91366         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
91367         * lib/close-stream.c (close_stream): Mention the possible EPIPE
91368         failure.
91369         * modules/closeout (Depends-on): Add stdbool.
91371 2008-10-05  Bruno Haible  <bruno@clisp.org>
91373         * modules/accept: New file.
91374         * modules/bind: New file.
91375         * modules/connect: New file.
91376         * modules/getpeername: New file.
91377         * modules/getsockname: New file.
91378         * modules/getsockopt: New file.
91379         * modules/listen: New file.
91380         * modules/recv: New file.
91381         * modules/recvfrom: New file.
91382         * modules/send: New file.
91383         * modules/sendto: New file.
91384         * modules/setsockopt: New file.
91385         * modules/socket: New file.
91386         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
91387         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
91388         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
91389         the particular module is requested. Add a link warning when the
91390         particular module is not requested.
91391         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
91392         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
91393         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
91394         the particular module is requested.
91395         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
91396         gl_SYS_SOCKET_H_DEFAULTS): New macros.
91397         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
91398         * modules/sys_socket (Depends-on): Add link-warning.
91399         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
91400         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
91401         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
91402         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
91403         GL_LINK_WARNING.
91404         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
91405         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
91406         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
91407         * doc/posix-functions/getpeername.texi: Mention the new module
91408         'getpeername'.
91409         * doc/posix-functions/getsockname.texi: Mention the new module
91410         'getsockname'.
91411         * doc/posix-functions/getsockopt.texi: Mention the new module
91412         'getsockopt'.
91413         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
91414         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
91415         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
91416         * doc/posix-functions/send.texi: Mention the new module 'send'.
91417         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
91418         * doc/posix-functions/setsockopt.texi: Mention the new module
91419         'setsockopt'.
91420         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
91421         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
91422         listen, connect, accept.
91423         * modules/select-tests (Depends-on): Likewise.
91425 2008-10-05  Bruno Haible  <bruno@clisp.org>
91427         * lib/winsock.c (strerror): Remove unused #undef.
91428         (rpl_close): Remove unused local variable.
91430         * modules/sys_socket (Depends-on); Add errno.
91432 2008-10-05  Bruno Haible  <bruno@clisp.org>
91434         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
91435         (select): Add a link warning when the 'select' module is not used.
91436         * modules/sys_select (Depends-on): Add link-warning.
91437         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
91438         Suggested by Paolo Bonzini.
91440 2008-10-05  Jim Meyering  <meyering@redhat.com>
91442         bootstrap: check for LT_INIT more portably
91443         * build-aux/bootstrap: Avoid using grep -E, since it's not
91444         portable enough.  Suggestion from Bruno Haible.
91446 2008-10-05  Bruno Haible  <bruno@clisp.org>
91448         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
91449         as being fixed by gnulib.
91451 2008-10-05  Bruno Haible  <bruno@clisp.org>
91453         * modules/select-tests: New file, mostly copied from
91454         modules/sys_select-tests.
91455         * tests/test-select.c: New file, mostly copied from
91456         tests/test-sys_select.c.
91457         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
91458         * modules/sys_select-tests (Depends-on): Remove all dependencies.
91459         (Makefile.am): Remove test_sys_select_LDADD.
91461         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
91462         to an undefined symbol, for an error message.
91463         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
91464         (gl_SYS_SELECT_H_DEFAULTS): New macro.
91465         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
91466         winsock-select.c here.
91467         * modules/sys_select (Files): Remove lib/winsock-select.c.
91468         (Depends-on): Remove alloca.
91469         (Makefile.am): Substitute GNULIB_SELECT.
91470         * modules/select: New file.
91471         * doc/posix-functions/select.texi: Update.
91473 2008-10-05  Bruno Haible  <bruno@clisp.org>
91475         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
91476         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
91477         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
91478         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
91479         getdtablesize.
91480         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
91481         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
91483 2008-10-05  Bruno Haible  <bruno@clisp.org>
91485         * modules/getdtablesize-tests: New file.
91486         * tests/test-getdtablesize.c: New file.
91488         New module 'getdtablesize'.
91489         * lib/unistd.in.h (getdtablesize): New declaration.
91490         * lib/getdtablesize.c: New file.
91491         * m4/getdtablesize.m4: New file.
91492         * modules/getdtablesize: New file.
91493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91494         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
91495         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
91496         HAVE_GETDTABLESIZE.
91497         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
91499 2008-10-05  Bruno Haible  <bruno@clisp.org>
91501         * modules/sched (Makefile.am): Fix typo.
91502         Reported by Simon Josefsson.
91504 2008-10-05  Jim Meyering  <meyering@redhat.com>
91506         bootstrap: check for LT_INIT, too
91507         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
91508         are deprecated.  Suggestion from Ralf Wildenhues.
91510 2008-10-05  Bruno Haible  <bruno@clisp.org>
91512         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
91513         overriding them by ours.
91514         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
91516 2008-10-05  Jim Meyering  <meyering@redhat.com>
91518         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
91519         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
91520         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
91522 2008-10-04  Bruno Haible  <bruno@clisp.org>
91524         * modules/dup2 (License): Change to LGPLv2+.
91525         * modules/sleep (License): Likewise.
91526         * modules/perror (License): Likewise.
91527         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
91528         Blake.
91529         * modules/signal (License): Likewise.
91530         * modules/sigprocmask (License): Likewise.
91531         * modules/raise (License): Change to LGPLv2+, with approval by Jim
91532         Meyering.
91534 2008-10-04  Bruno Haible  <bruno@clisp.org>
91536         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
91537         Reported by Rainer Tammer <tammer@tammer.net>.
91539 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
91540             Bruno Haible  <bruno@clisp.org>
91542         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
91543         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
91544         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
91546 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
91548         filevercmp: new module
91549         * lib/filevercmp.h: New function filevercmp comparing version strings.
91550         * lib/filevercmp.c: Implementation of filevercmp function.
91551         * modules/filevercmp: Module metadata.
91552         * tests/test-filevercmp.c: Unit test for new module.
91553         * modules/filevercmp-tests: Unit test metadata.
91554         * MODULES.html.sh: Add filevercmp module.
91556 2008-10-03  Bruno Haible  <bruno@clisp.org>
91558         * lib/c-ctype.h: Add comment.
91559         Reported by Jim Meyering.
91561 2008-10-02  Bruno Haible  <bruno@clisp.org>
91563         * modules/posix_spawn-internal (Depends-on): Add 'open'.
91565 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91567         * build-aux/bootstrap: Allow renaming bootstrap, and change the
91568         name of bootstrap.conf accordingly.
91570 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91572         * build-aux/bootstrap: Install git-merge-changelog configuration
91573         items into .gitconfig if needed.
91575 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91577         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
91578         git repository, and initialize/update it accordingly.
91580 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
91582         * modules/fsync-tests: New file.
91583         * tests/test-fsync.c: New file.
91585         New module 'fsync'.
91586         * lib/fsync.c: New file.
91587         * m4/fsync.m4: New file.
91588         * modules/fsync: New file.
91589         * lib/unistd.in.h (fsync): New declaration.
91590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
91591         GNULIB_FSYNC and HAVE_FSYNC.
91592         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
91593         * MODULES.html.sh (posix_functions): Add fsync.
91594         * doc/posix-functions/fsync.texi: Mention the new module.
91596 2008-10-02  Jim Meyering  <meyering@redhat.com>
91598         fts.c: sync with similar code from coreutils' remove.c
91599         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
91600         Guard also with "#if defined __linux__", since for now at least,
91601         this code is Linux-kernel-specific.
91603 2008-10-02  Jim Meyering  <meyering@redhat.com>
91605         fts: bug fixes
91606         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
91607         Include <sys/vfs.h>, not <sys/statfs.h>.
91609         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
91610         Include <sys/vfs.h>, not <sys/statfs.h>.
91612 2008-10-01  Bruno Haible  <bruno@clisp.org>
91614         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
91615         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
91616         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
91617         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
91618         * doc/posix-functions/posix_spawnp.texi: Likewise.
91619         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
91620         whether posix_spawn actually works.
91621         * m4/pipe.m4 (gl_PIPE): Likewise.
91622         * modules/execute (Files): Add m4/posix_spawn.m4.
91623         * modules/pipe (Files): Add m4/posix_spawn.m4.
91624         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
91626 2008-10-01  Jim Meyering  <meyering@redhat.com>
91628         remove trailing spaces
91629         * NEWS: Likewise.
91630         * lib/poll.c (poll): Likewise.
91631         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
91632         * lib/winsock.c (rpl_close): Likewise.
91633         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
91634         * modules/yield: Likewise.
91635         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
91636         * tests/test-sys_select.c (connect_to_socket): Likewise.
91638         fts.c: adjust a new interface to be more generally useful
91639         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
91640         (fts_build): Adjust caller.
91642 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91644         * modules/cond-tests: New file.
91645         * tests/test-cond.c: New file.
91647 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91648             Bruno Haible  <bruno@clisp.org>
91650         * modules/cond (Dependencies): Add errno, time.
91651         * lib/glthread/cond.h: Include <time.h>.
91652         (gl_cond_define, gl_cond_define_initialized): Use the same definition
91653         across platforms.
91655 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91656             Bruno Haible  <bruno@clisp.org>
91658         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
91660 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91661             Bruno Haible  <bruno@clisp.org>
91663         * modules/tls-tests (Depends-on): Add thread, yield.
91664         (configure.ac): Remove all checks.
91665         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
91666         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91667         gl_thread_self): Remove definitions. Include glthread/thread.h and
91668         glthread/yield.h instead.
91669         (test_tls): Pass an additional NULL argument to gl_thread_join.
91671 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91672             Bruno Haible  <bruno@clisp.org>
91674         * modules/lock-tests (Depends-on): Add thread, yield.
91675         (configure.ac): Remove all checks.
91676         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
91677         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91678         gl_thread_self): Remove definitions. Include glthread/thread.h and
91679         glthread/yield.h instead.
91680         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
91681         additional NULL argument to gl_thread_join.
91683 2008-09-30  Bruno Haible  <bruno@clisp.org>
91685         Fix the Win32 implementation of the 'thread' module.
91686         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
91687         pointer type.
91688         (gl_thread_self): Invoke gl_thread_self_func.
91689         (gl_thread_self_func): New declaration.
91690         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
91691         (do_init_self_key, init_self_key): New functions.
91692         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
91693         Remove some fields.
91694         (running_threads, running_lock): Remove variables.
91695         (get_current_thread_handle): New function.
91696         (gl_thread_self_func, wrapper_func, glthread_create_func,
91697         glthread_join_func, gl_thread_exit_func): Largely rewritten and
91698         simplified.
91700 2008-09-30  Bruno Haible  <bruno@clisp.org>
91702         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
91703         files.
91705 2008-09-30  Jim Meyering  <meyering@redhat.com>
91707         fts.m4: correct the test for statfs.f_type
91708         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
91709         when checking for statfs.f_type.
91711 2008-09-15  Simon Josefsson  <simon@josefsson.org>
91713         tests: avoid some compiler warnings
91714         * tests/test-memchr.c (main): Pass NULL indirectly.
91715         * tests/test-getdate.c (main): Remove unused variable 'ret'.
91717 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
91719         getdate.y: disallow countable dayshifts like "4 yesterday ago"
91720         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
91721         exactly specified dayshifts.
91722         (dayshift): New rule.
91723         (rel): Add dayshift.
91724         (relative_time_table) [tomorrow, yesterday, today, now]:
91725         Use tDAY_SHIFT in place of tDAY_UNIT.
91726         * tests/test-getdate.c: Add tests for now-disallowed countable
91727         dayshifts, e.g., "4 yesterday ago".
91729 2008-09-29  Bruno Haible  <bruno@clisp.org>
91731         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
91732         * tests/test-posix_spawn1.in.sh: Renamed from
91733         tests/test-posix_spawn.in.sh.
91734         * tests/test-posix_spawn2.c: New file.
91735         * tests/test-posix_spawn2.in.sh: New file.
91736         * modules/posix_spawnp-tests (Files): Update.
91737         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
91739 2008-09-29  Bruno Haible  <bruno@clisp.org>
91741         Propagate effects of putenv/setenv/unsetenv to child processes.
91742         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
91743         * lib/pipe.c (create_pipe): Likewise.
91745 2008-09-29  Bruno Haible  <bruno@clisp.org>
91747         Enable use of shell scripts as executables in mingw.
91748         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
91749         run the program as a shell script.
91750         * lib/pipe.c (create_pipe): Likewise.
91751         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
91752         resulting array.
91754 2008-09-29  Eric Blake  <ebb9@byu.net>
91756         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
91758 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
91760         * doc/posix-functions/accept.texi: Update mingw problems.
91761         * doc/posix-functions/bind.texi: Update mingw problems.
91762         * doc/posix-functions/close.texi: Update mingw problems.
91763         * doc/posix-functions/connect.texi: Update mingw problems.
91764         * doc/posix-functions/getpeername.texi: Update mingw problems.
91765         * doc/posix-functions/getsockname.texi: Update mingw problems.
91766         * doc/posix-functions/getsockopt.texi: Update mingw problems.
91767         * doc/posix-functions/ioctl.texi: Update mingw problems.
91768         * doc/posix-functions/listen.texi: Update mingw problems.
91769         * doc/posix-functions/recv.texi: Update mingw problems.
91770         * doc/posix-functions/recvfrom.texi: Update mingw problems.
91771         * doc/posix-functions/select.texi: Update mingw problems.
91772         * doc/posix-functions/send.texi: Update mingw problems.
91773         * doc/posix-functions/sendto.texi: Update mingw problems.
91774         * doc/posix-functions/setsockopt.texi: Update mingw problems.
91775         * doc/posix-functions/socket.texi: Update mingw problems.
91777 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
91778             Bruno Haible  <bruno@clisp.org>
91780         * lib/sys_select.in.h: Include sys/time.h.
91781         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
91782         * modules/sys_select: Depend on sys_time.
91783         * tests/test-sys_select.c: Test that sys/select.h defines struct
91784         timeval fully.
91786 2008-09-29  Bruno Haible  <bruno@clisp.org>
91788         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
91789         * lib/sys_select.in.h: Likewise.
91791 2008-09-29  Bruno Haible  <bruno@clisp.org>
91793         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
91795 2008-09-29  Bruno Haible  <bruno@clisp.org>
91797         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
91798         Set LIBSOCKET instead of augmenting LIBS.
91799         * modules/sockets (Link): New section.
91800         * modules/sockets-tests (test_sockets_LDADD): New variable.
91801         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
91802         * modules/poll-tests (test_poll_LDADD): New variable.
91803         * NEWS: Document the change.
91805 2008-09-29  Bruno Haible  <bruno@clisp.org>
91807         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
91808         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
91809         ARPA_INET_H directly.
91810         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
91812 2008-09-28  Bruno Haible  <bruno@clisp.org>
91814         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
91815         from gl_HEADER_SYS_SOCKET.
91816         (gl_HEADER_SYS_SOCKET): Invoke it.
91817         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
91819 2008-09-28  Bruno Haible  <bruno@clisp.org>
91821         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
91822         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
91823         Needed on OSF/1 4.0.
91825 2008-09-28  Bruno Haible  <bruno@clisp.org>
91827         Override open more carefully.
91828         * lib/open.c (orig_open): New function.
91829         (rpl_open): Use orig_open instead of open.
91830         * lib/fcntl.in.h: Add special invocation convention.
91831         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
91832         (gl_FUNC_OPEN): Invoke it.
91834         Override freopen more carefully.
91835         * lib/freopen.c (orig_freopen): New function.
91836         (rpl_freopen): Use orig_freopen instead of freopen.
91837         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
91838         (gl_FUNC_FREOPEN): Invoke it.
91840         Override fopen more carefully.
91841         * lib/fopen.c (orig_fopen): New function.
91842         (rpl_fopen): Use orig_fopen instead of fopen.
91843         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
91844         (gl_FUNC_FOPEN): Invoke it.
91845         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
91847 2008-09-28  Bruno Haible  <bruno@clisp.org>
91849         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
91850         SIGPIPE.
91852 2008-09-28  Bruno Haible  <bruno@clisp.org>
91854         * tests/test-sigaction.c (handler, main): Disable the check whether
91855         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
91856         glibc systems with LinuxThreads.
91858 2008-09-28  Bruno Haible  <bruno@clisp.org>
91860         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
91862         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
91863         with AIX xlc.
91864         * lib/fcntl.in.h (open): Likewise.
91865         Reported by Rainer Tammer <tammer@tammer.net>.
91867 2008-09-28  Bruno Haible  <bruno@clisp.org>
91869         * modules/posix_spawnp-tests: New file.
91870         * tests/test-posix_spawn.c: New file.
91871         * tests/test-posix_spawn.in.sh: New file.
91873         New module 'posix_spawnp'.
91874         * modules/posix_spawnp: New file.
91875         * lib/spawnp.c: New file, from GNU libc with modifications.
91876         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
91878         New module 'posix_spawn'.
91879         * modules/posix_spawn: New file.
91880         * lib/spawn.c: New file, from GNU libc with modifications.
91881         * doc/posix-functions/posix_spawn.texi: Mention the new module.
91883         New module 'posix_spawnattr_destroy'.
91884         * modules/posix_spawnattr_destroy: New file.
91885         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
91886         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
91887         module.
91889         New module 'posix_spawnattr_setsigmask'.
91890         * modules/posix_spawnattr_setsigmask: New file.
91891         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
91892         modifications.
91893         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
91894         new module.
91896         New module 'posix_spawnattr_getsigmask'.
91897         * modules/posix_spawnattr_getsigmask: New file.
91898         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
91899         modifications.
91900         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
91901         new module.
91903         New module 'posix_spawnattr_setsigdefault'.
91904         * modules/posix_spawnattr_setsigdefault: New file.
91905         * lib/spawnattr_setdefault.c: New file, from GNU libc with
91906         modifications.
91907         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
91908         new module.
91910         New module 'posix_spawnattr_getsigdefault'.
91911         * modules/posix_spawnattr_getsigdefault: New file.
91912         * lib/spawnattr_getdefault.c: New file, from GNU libc with
91913         modifications.
91914         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
91915         new module.
91917         New module 'posix_spawnattr_setschedpolicy'.
91918         * modules/posix_spawnattr_setschedpolicy: New file.
91919         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
91920         modifications.
91921         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
91922         new module.
91924         New module 'posix_spawnattr_getschedpolicy'.
91925         * modules/posix_spawnattr_getschedpolicy: New file.
91926         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
91927         modifications.
91928         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
91929         new module.
91931         New module 'posix_spawnattr_setschedparam'.
91932         * modules/posix_spawnattr_setschedparam: New file.
91933         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
91934         modifications.
91935         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
91936         new module.
91938         New module 'posix_spawnattr_getschedparam'.
91939         * modules/posix_spawnattr_getschedparam: New file.
91940         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
91941         modifications.
91942         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
91943         new module.
91945         New module 'posix_spawnattr_setpgroup'.
91946         * modules/posix_spawnattr_setpgroup: New file.
91947         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
91948         modifications.
91949         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
91950         module.
91952         New module 'posix_spawnattr_getpgroup'.
91953         * modules/posix_spawnattr_getpgroup: New file.
91954         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
91955         modifications.
91956         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
91957         module.
91959         New module 'posix_spawnattr_setflags'.
91960         * modules/posix_spawnattr_setflags: New file.
91961         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
91962         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
91963         module.
91965         New module 'posix_spawnattr_getflags'.
91966         * modules/posix_spawnattr_getflags: New file.
91967         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
91968         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
91969         module.
91971         New module 'posix_spawnattr_init'.
91972         * modules/posix_spawnattr_init: New file.
91973         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
91974         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
91975         module.
91977         New module 'posix_spawn_file_actions_destroy'.
91978         * modules/posix_spawn_file_actions_destroy: New file.
91979         * lib/spawn_faction_destroy.c: New file, from GNU libc with
91980         modifications.
91981         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
91982         the new module.
91984         New module 'posix_spawn_file_actions_addopen'.
91985         * modules/posix_spawn_file_actions_addopen: New file.
91986         * lib/spawn_faction_addopen.c: New file, from GNU libc with
91987         modifications.
91988         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
91989         the new module.
91991         New module 'posix_spawn_file_actions_adddup2'.
91992         * modules/posix_spawn_file_actions_adddup2: New file.
91993         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
91994         modifications.
91995         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
91996         the new module.
91998         New module 'posix_spawn_file_actions_addclose'.
91999         * modules/posix_spawn_file_actions_addclose: New file.
92000         * lib/spawn_faction_addclose.c: New file, from GNU libc with
92001         modifications.
92002         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
92003         the new module.
92005         New module 'posix_spawn_file_actions_init'.
92006         * modules/posix_spawn_file_actions_init: New file.
92007         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
92008         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
92009         new module.
92011         New module 'posix_spawn-internal'.
92012         * modules/posix_spawn-internal: New file.
92013         * lib/spawn_int.h: New file, from GNU libc with modifications.
92014         * lib/spawni.c: New file, from GNU libc with modifications.
92015         * m4/posix_spawn.m4: New file.
92017         New module 'spawn'.
92018         * modules/spawn: New file.
92019         * lib/spawn.in.h: New file, from GNU libc with modifications.
92020         * m4/spawn_h.m4: New file.
92021         * doc/posix-headers/spawn.texi: Mention the new module.
92023 2008-09-28  Bruno Haible  <bruno@clisp.org>
92025         * modules/sched-tests: New file.
92026         * tests/test-sched.c: New file.
92028         New module 'sched'.
92029         * modules/sched: New file.
92030         * lib/sched.in.h: New file.
92031         * m4/sched_h.m4: New file.
92032         * doc/posix-headers/sched.texi: Mention the new module.
92034 2008-09-27  Eric Blake  <ebb9@byu.net>
92036         Fix previous patch, and tweak references to $0.
92037         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
92038         (func_version, func_gnulib_dir): Don't call this program
92039         gnulib-tool.
92040         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
92041         with using $0 in function.
92042         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
92043         (func_fatal_error): Reuse the name the user invoked us with.
92045 2008-09-27  Bruno Haible  <bruno@clisp.org>
92047         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
92048         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
92049         (gl_ICONV_H): Not here.
92050         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
92051         instead of assigning ICONV_H directly.
92053         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
92054         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
92055         WCHAR_H directly.
92057 2008-09-27  Bruno Haible  <bruno@clisp.org>
92059         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
92060         * modules/arpa_inet (Depends-on): Add link-warning.
92061         (Makefile.am): Insert the definition of GL_LINK-WARNING.
92062         * modules/unistd (Makefile.am): Likewise.
92064 2008-09-26  Bruno Haible  <bruno@clisp.org>
92066         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
92067         variables.
92068         (func_version): Essentially copied from gnulib-tool.
92069         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
92070         func_readlink): Copied from gnulib-tool.
92072 2008-09-26  Bruno Haible  <bruno@clisp.org>
92074         * gnulib-tool (func_version): Change directory to $gnulib_dir before
92075         invoking git-version-gen.
92077 2008-09-26  Bruno Haible  <bruno@clisp.org>
92079         * posix-modules: Update to directory names changed on 2008-01-19.
92080         Remove commas in output before splitting into words. No more need to
92081         avoid 'ftruncate' since 2007-02-19.
92083 2008-09-26  Bruno Haible  <bruno@clisp.org>
92085         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
92087 2008-09-26  Bruno Haible  <bruno@clisp.org>
92089         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
92090         * modules/fwriteerror (Depends-on): Add errno.
92092 2008-09-26  Bruno Haible  <bruno@clisp.org>
92094         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
92095         * tests/test-vc-list-files-cvs.sh: Likewise.
92097 2008-09-26  Bruno Haible  <bruno@clisp.org>
92099         * doc/posix-headers/sys_resource.texi: Reorder items.
92101 2008-09-26  Jim Meyering  <meyering@redhat.com>
92103         fts: tweak inode comparison function
92104         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
92105         inode numbers, as documented.
92107         fts: sort dirent entries on inode number before traversing
92108         This avoids a quadratic, seek-related performance penalty when
92109         operating on a directory containing many entries (measurable at 10k;
92110         3.5 hours at 2 million entries with a cold cache) on certain types
92111         of file systems, including ext3 and ext4, but not tmpfs.
92112         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
92113         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
92114         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
92115         (fs_handles_readdir_ordered_dirents_efficiently): New function.
92116         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
92117         (fts_build): Set the stat.st_ino member from D_INO.
92118         If it is likely to be useful, sort dirent entries on inode number.
92120         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
92121         and the struct statfs.f_type member.
92122         * modules/fts (Depends-on): Add d-ino.
92124 2008-09-26  Bruno Haible  <bruno@clisp.org>
92126         * modules/sigpipe-die (Depends-on): Add sigpipe.
92128         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
92129         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
92130         and GNULIB_STDIO_H_SIGPIPE are set.
92131         * lib/stdio-write.c: New file.
92132         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
92133         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92134         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92135         REPLACE_STDIO_WRITE_FUNCS.
92136         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
92137         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92138         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92139         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92140         * modules/stdio (Files): Add lib/stdio-write.c.
92141         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
92142         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
92143         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
92144         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
92145         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
92146         REPLACE_FPRINTF_POSIX.
92147         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
92148         REPLACE_PRINTF_POSIX.
92149         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
92150         REPLACE_VFPRINTF_POSIX.
92151         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
92152         REPLACE_VPRINTF_POSIX.
92153         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
92154         SIGPIPE issue.
92155         * doc/posix-functions/fputc.texi: Likewise.
92156         * doc/posix-functions/fputs.texi: Likewise.
92157         * doc/posix-functions/fwrite.texi: Likewise.
92158         * doc/posix-functions/printf.texi: Likewise.
92159         * doc/posix-functions/putc.texi: Likewise.
92160         * doc/posix-functions/putchar.texi: Likewise.
92161         * doc/posix-functions/puts.texi: Likewise.
92162         * doc/posix-functions/vfprintf.texi: Likewise.
92163         * doc/posix-functions/vprintf.texi: Likewise.
92165         * modules/safe-write (Depends-on): Add write.
92167         * modules/sigpipe-tests: New file.
92168         * tests/test-sigpipe.c: New file.
92169         * tests/test-sigpipe.sh: New file.
92171         * modules/write: New file.
92172         * lib/unistd.in.h: Include <sys/types.h>.
92173         (write): New declaration.
92174         * lib/write.c: New file.
92175         * m4/write.m4: New file.
92176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
92177         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
92178         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
92179         GNULIB_WRITE, REPLACE_WRITE.
92180         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
92181         and the SIGPIPE issue.
92183         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
92184         (raise): New declaration.
92185         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
92186         (ext_signal): New function.
92187         (rpl_raise): New function.
92188         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
92189         GNULIB_SIGNAL_H_SIGPIPE.
92190         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
92191         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
92193         * modules/sigpipe: New file.
92194         * m4/sigpipe.m4: New file.
92196 2008-09-25  Derek Price  <derek@ximbiot.com>
92197             Bruno Haible  <bruno@clisp.org>
92199         * gnulib-tool (func_import): Report all license incompatibilities, not
92200         just the first one.
92202 2008-09-25  Bruno Haible  <bruno@clisp.org>
92204         * gnulib-tool (func_import): When computing the edits, consider not
92205         only the Makefile.ams that exist but also those that will be generated.
92207 2008-09-25  Simon Josefsson  <simon@josefsson.org>
92209         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
92210         fixes gnulib-tool --test warning about duplicate dependency.
92212 2008-09-25  Bruno Haible  <bruno@clisp.org>
92214         * gnulib-tool: Don't ask the user to perform edits in the generated
92215         Makefile.ams.
92216         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
92217         apply to the Makefile.am being generated.
92218         (func_emit_tests_Makefile_am): Execute edits that apply to the
92219         Makefile.am being generated.
92220         (func_import): Setup list of Makefile.am edits before emitting the
92221         Makefile.ams, not at the end.
92222         (func_create_testdir): Update.
92223         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92225 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92227         * gnulib-tool (func_import): Store the --tests-base option in the
92228         comment in gnulib-cache.m4.
92230 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
92232         * NEWS: Document increased portability that sys_select now provides.
92234         * lib/sys_select.in.h: Install select wrapper.
92235         * lib/sys_socket.in.h: Use more descriptive name when there is no
92236         select wrapper.
92237         * lib/winsock-select.c: New.
92238         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
92239         Require gl_HEADER_SYS_SOCKET.
92240         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
92241         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
92242         * tests/test-sys_select.c: Add functional tests.
92244 2008-09-24  Eric Blake  <ebb9@byu.net>
92246         open, fopen: close fd leak in last patch
92247         * lib/open.c (rpl_open): Close fd before returning error.
92248         * lib/fopen.c (rpl_fopen): Close fd before returning error.
92249         * doc/posix-functions/open.texi (open): Document that Irix also
92250         has the bug.
92251         * doc/posix-functions/fopen.texi (fopen): Likewise.
92252         Reported by Paolo Bonzini.
92254 2008-09-24  Bruno Haible  <bruno@clisp.org>
92256         Ensure that a filename ending in a slash cannot be used to access a
92257         non-directory.
92258         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
92259         to check whether it's really a directory.
92260         * lib/fopen.c: Include fcntl.h, unistd.h.
92261         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
92262         and fdopen().
92263         * modules/fopen (Depends-on): Add unistd.
92264         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
92265         * tests/test-fopen.c (main): Likewise.
92266         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
92267         * doc/posix-functions/fopen.texi: Likewise.
92268         Reported by Eric Blake.
92270 2008-09-23  Eric Blake  <ebb9@byu.net>
92272         c-stack: avoid compiler optimizations when provoking overflow
92273         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
92274         recursion harder to optimize, to ensure a stack overflow occurs.
92275         * tests/test-c-stack.c (recurse): Likewise.
92276         Borrowed from libsigsegv.
92278         c-stack: work around Irix sigaltstack bug
92279         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
92280         whether sigaltstack uses wrong end of stack_t (copied in part from
92281         libsigsegv).
92282         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
92283         Irix bug, without requiring an over-allocation.
92284         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
92285         bug.
92287         fopen: document mingw bug on directories
92288         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
92289         not allowing a stream visiting a directory, even though reading
92290         from such a stream is not portable.
92292 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92294         * lib/poll.c: Rewrite.
92295         * modules/poll: Depend on alloca.
92297 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92299         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
92300         instead define prototypes for a full set of wrappers.  Ensure
92301         that Cygwin does not use the compatibility code, which is only
92302         for MinGW.
92303         * lib/winsock.c: New.
92304         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
92305         * modules/sys_socket: Add lib/winsock.c.
92307         * modules/poll-tests: Add errno and perror.
92308         * tests/test-poll.c: Use ioctl, not ioctlsocket.
92310 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92312         * tests/test-poll.c: Downgrade minimum needed Winsock version.
92314 2008-09-23  Bruno Haible  <bruno@clisp.org>
92316         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
92317         * doc/glibc-functions/*: Likewise.
92319 2008-09-23  Simon Josefsson  <simon@josefsson.org>
92321         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
92322         success.
92324 2008-09-22  Eric Blake  <ebb9@byu.net>
92325             Bruno Haible  <bruno@clisp.org>
92327         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
92328         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
92329         supply %A but mishandle pseudo-NaN.
92330         Reported by Simon Josefsson.
92332 2008-09-21  Bruno Haible  <bruno@clisp.org>
92334         * tests/test-lock.c (main): Tweak skip message.
92335         * tests/test-tls.c (main): Likewise.
92337 2008-09-21  Bruno Haible  <bruno@clisp.org>
92339         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
92340         whether 'struct sigaction' has sa_sigaction here...
92341         (gl_PREREQ_SIG_HANDLER_H): ... not here.
92342         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
92344 2008-09-21  Bruno Haible  <bruno@clisp.org>
92346         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
92347         section.
92348         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
92349         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
92350         the new section.
92351         (Support for obsolete systems lacking POSIX:2001): New section.
92352         (String handling <string.h>): Move strdup to the new section.
92353         Suggested by Simon Josefsson and Paolo Bonzini.
92355 2008-09-21  Bruno Haible  <bruno@clisp.org>
92357         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
92358         exponents in %e and %g results on 'long double'. Needed for mingw's
92359         improved *printf functions.
92360         * tests/test-vasprintf-posix.c (test_function): Likewise.
92361         * tests/test-snprintf-posix.h (test_function): Likewise.
92362         * tests/test-sprintf-posix.h (test_function): Likewise.
92363         Reported by Eric Blake.
92365 2008-09-21  Bruno Haible  <bruno@clisp.org>
92367         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
92368         * tests/test-sprintf-posix.h (test_function): Likewise.
92370 2008-09-21  Bruno Haible  <bruno@clisp.org>
92372         * modules/getpass (Depends-on): Add strdup-posix.
92374         New module 'strdup-posix'.
92375         * modules/strdup-posix: New file.
92376         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
92377         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
92378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92379         REPLACE_STRDUP.
92380         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
92381         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
92382         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92383         strdup-posix.
92385         * modules/strdup (Depends-on): Remove malloc-posix.
92387 2008-09-20  Bruno Haible  <bruno@clisp.org>
92389         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
92390         Wildenhues.
92392 2008-09-20  Bruno Haible  <bruno@clisp.org>
92394         Ensure that wint_t gets defined on IRIX 5.3.
92395         * lib/wchar.in.h (wint_t): Define if not defined by the system.
92396         * lib/wctype.in.h (wint_t): Likewise.
92397         (__wctype_wint_t): Remove type.
92398         (isw*): Use wint_t instead of __wctype_wint_t.
92399         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
92400         * modules/wchar (Files): Add m4/wint_t.m4.
92401         (Makefile.am): Substitute HAVE_WINT_T.
92402         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
92403         * tests/test-wctype.c: Check that wint_t is defined.
92404         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
92405         * doc/posix-headers/wctype.texi: Likewise.
92406         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
92408 2008-09-18  Bruno Haible  <bruno@clisp.org>
92410         * gnulib-tool (func_exit): Update comment.
92412 2008-09-18  Simon Josefsson  <simon@josefsson.org>
92414         * modules/getaddrinfo (Depends-on): Remove strdup, this module
92415         assumes strdup exists and does not depend on strdup to return
92416         ENOMEM on out of memory conditions.
92418 2008-09-18  Bruno Haible  <bruno@clisp.org>
92420         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
92421         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
92422         digits for the exponent.
92424 2008-09-18  Jim Meyering  <meyering@redhat.com>
92425             Bruno Haible  <bruno@clisp.org>
92427         * lib/vasnprintf.c (decimal_point_char): Define also if
92428         NEED_PRINTF_INFINITE_LONG_DOUBLE.
92430 2008-09-16  Bruno Haible  <bruno@clisp.org>
92431         and Eric Blake  <ebb9@byu.net>
92433         vasnprintf: support Irix 5.3
92434         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
92435         that mishandle long double infinity.
92436         Reported by Tom G. Christensen.
92438 2008-09-16  Bruno Haible  <bruno@clisp.org>
92440         * doc/glibc-functions/scandir.texi: Mention the function is missing on
92441         Solaris 9.
92442         * doc/glibc-functions/alphasort.texi: Likewise.
92443         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
92445 2008-09-16  Jim Meyering  <meyering@redhat.com>
92447         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
92448         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
92449         a umask modification leak out of a subshell.  Otherwise, the
92450         opensolaris /bin/sh would be accepted and thus cause unwarranted
92451         failures in the coreutils test suite.
92453 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
92455         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
92456         to succeed.
92458 2008-09-16  Jim Meyering  <meyering@redhat.com>
92460         avoid spurious test failure when library is built without ACL support
92461         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
92462         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
92463         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
92464         * tests/test-copy-acl.sh: Likewise.
92466 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92468         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
92469         based on character occurrence counts.
92471 2008-09-15  Eric Blake  <ebb9@byu.net>
92473         tests: avoid some compiler warnings
92474         * tests/test-memchr.c (main): Pass NULL indirectly.
92475         * tests/test-closein.c (main): Avoid unused variable.
92477 2008-09-15  Bruno Haible  <bruno@clisp.org>
92479         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
92480         are missing on OpenBSD 4.0 individually.
92481         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92483 2008-09-15  Bruno Haible  <bruno@clisp.org>
92485         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
92486         * doc/posix-functions/strerror.texi: Mention also Cygwin.
92487         * doc/posix-functions/perror.texi: Likewise.
92488         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
92489         is missing.
92490         Reported by Eric Blake.
92492         * lib/errno.in.h: Use replacement values >= 2000.
92493         Reported by Eric Blake.
92495 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92497         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
92498         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
92499         limit.
92500         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
92501         compareseq was aborted.
92503 2008-09-14  Bruno Haible  <bruno@clisp.org>
92505         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
92506         yvec_edit_count.
92507         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
92508         (fstrcmp_bounded): Simplify result computation accordingly.
92510 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92512         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
92513         (fstrcmp): Define in terms of fstrcmp_bounded.
92514         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
92515         lower_bound argument.
92516         Return quickly if the result is certainly < lower_bound.
92517         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
92519 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92521         * lib/diffseq.h (EARLY_ABORT): New macro.
92522         (compareseq): Change return type to bool. Return true when EARLY_ABORT
92523         evaluates to true.
92525 2008-09-14  Bruno Haible  <bruno@clisp.org>
92527         * modules/perror-tests: New file.
92528         * tests/test-perror.sh: New file.
92529         * tests/test-perror.c: New file.
92531         New module 'perror'.
92532         * lib/stdio.in.h (perror): New declaration.
92533         * lib/perror.c: New file.
92534         * m4/perror.m4: New file.
92535         * modules/perror: New file.
92536         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
92537         * doc/posix-functions/perror.texi: Mention the perror module.
92538         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
92539         REPLACE_PERROR.
92540         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
92541         REPLACE_PERROR.
92543 2008-09-14  Bruno Haible  <bruno@clisp.org>
92545         * modules/stdio (Makefile.am): Reorder to match the order in
92546         lib/stdio.in.h.
92547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92549 2008-09-13  Bruno Haible  <bruno@clisp.org>
92551         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
92553 2008-09-13  Bruno Haible  <bruno@clisp.org>
92555         Extend strerror to cover the added errno values.
92556         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
92557         (rpl_strerror): Provide error messages for the added errno values and
92558         for the WSA* values.
92559         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
92560         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
92561         strerror.
92562         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
92563         * modules/strerror (Depends-on): Add errno.
92564         * doc/posix-functions/strerror.texi: Document the change.
92565         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
92566         and EOVERFLOW.
92568 2008-09-13  Bruno Haible  <bruno@clisp.org>
92570         * modules/EOVERFLOW: Remove file.
92571         * m4/eoverflow.m4: Remove file.
92572         * modules/EOVERFLOW-tests: Remove file.
92573         * tests/test-EOVERFLOW.c: Remove file.
92574         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
92575         * modules/ftell (Depends-on): Likewise.
92576         * modules/getdelim (Depends-on): Likewise.
92577         * modules/getugroups (Depends-on): Likewise.
92578         * modules/poll (Depends-on): Likewise.
92579         * modules/snprintf (Depends-on): Likewise.
92580         * modules/sprintf-posix (Depends-on): Likewise.
92581         * modules/vasnprintf (Depends-on): Likewise.
92582         * modules/vasprintf (Depends-on): Likewise.
92583         * modules/vfprintf-posix (Depends-on): Likewise.
92584         * modules/vsnprintf (Depends-on): Likewise.
92585         * modules/vsprintf-posix (Depends-on): Likewise.
92586         * modules/xvasprintf (Depends-on): Likewise.
92587         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
92588         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
92589         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
92590         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
92591         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
92592         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
92593         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
92594         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
92595         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
92596         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
92597         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
92598         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
92599         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
92600         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
92601         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
92602         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
92603         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
92604         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
92605         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
92606         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
92607         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
92608         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
92609         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
92610         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
92611         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
92612         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
92613         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
92614         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
92615         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
92616         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
92617         * MODULES.html.sh: Remove EOVERFLOW.
92618         * NEWS: Mention the change.
92620 2008-09-13  Bruno Haible  <bruno@clisp.org>
92622         * modules/errno-tests: New file.
92623         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
92625         * lib/errno.in.h: New file.
92626         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
92627         * modules/errno: New file.
92628         * doc/posix-headers/errno.texi: Update documentation.
92629         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
92631 2008-09-13  Bruno Haible  <bruno@clisp.org>
92633         * tests/test-poll.c: Use #if for native Windows, rather than testing
92634         __MSVCRT__.
92636 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92637             Bruno Haible  <bruno@clisp.org>
92639         * lib/glob.c: Don't include <pwd.h> on native Windows.
92640         (WINDOWS32): New macro.
92641         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
92643 2008-09-13  Bruno Haible  <bruno@clisp.org>
92645         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
92646         (ETIMEDOUT): Remove macro.
92647         (glthread_cond_timedwait_multithreaded): New declaration.
92648         (glthread_cond_timedwait): Use it.
92649         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
92650         (glthread_cond_timedwait_multithreaded): New function.
92652 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92654         * modules/poll-tests: Do not check for io.h.
92655         * tests/test-poll.c: Check for __MSVCRT__ instead.
92657 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92659         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
92660         * modules/poll-tests: Add inet_pton, stdbool, sockets.
92661         * tests/test-poll.c: Use them.  Use _pipe on Windows.
92663 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92665         * modules/poll-tests: New.
92666         * tests/test-poll.c: New.
92668 2008-09-12  Eric Blake  <ebb9@byu.net>
92670         frexp: test for NetBSD failure on -0.0
92671         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
92672         not all, bugs from NetBSD 3.0 have been fixed.
92673         * doc/posix-functions/frexp.texi (frexp): Document bug.
92674         Reported by Thomas Klausner.
92676         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
92677         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
92678         literal -0.0.
92679         Reported by Jonathan C. Patschke <jp@centtech.com>.
92681 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92683         * lib/glthread/cond.h: Use dummy implementation also if
92684         USE_WIN32_THREADS.
92686 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92688         * modules/fnmatch-posix (License): Change to LGPLv2+.
92689         * modules/fnmatch-gnu (License): Likewise.
92691 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92693         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
92695 2008-09-11  Jim Meyering  <meyering@redhat.com>
92697         * users.txt: Add gtk-vnc.
92699 2008-09-08  Simon Josefsson  <simon@josefsson.org>
92701         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
92702         rotate amounts.
92704         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
92705         required for 16-bit and 8-bit rotates.
92706         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
92707         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
92708         UINT8_MAX instead of hard-coded constants.
92709         Suggested by Paul Eggert.
92711 2008-09-07  Bruno Haible  <bruno@clisp.org>
92713         * tests/test-striconveh.c (main): Check behaviour when converting from
92714         UTF-7.
92716         Make striconveh work better with stateful encodings.
92717         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
92718         that iconv does not increment the inptr when returning -1/EINVAL.
92720 2008-09-07  Bruno Haible  <bruno@clisp.org>
92722         * build-aux/config.rpath: Update according to libtool-2.2.6.
92723         * build-aux/config.libpath: Likewise.
92725 2008-09-06  Bruno Haible  <bruno@clisp.org>
92727         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
92728         * lib/freadptr.c (freadptr): Likewise.
92729         * lib/freadseek.c (freadptrinc): Likewise.
92730         Reported by Simon Josefsson.
92732 2008-09-06  Bruno Haible  <bruno@clisp.org>
92734         * modules/freadptr (License): Change to LGPLv2+.
92735         * modules/freadseek (License): Likewise.
92736         Suggested by Eric Blake.
92738         * modules/memchr2 (License): Change to LGPLv2+.
92739         Approved by Eric Blake.
92741 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92742             Bruno Haible  <bruno@clisp.org>
92744         Make gnulib-tool work with native 'sed' on AIX.
92745         * gnulib-tool (sed_noop): New variable.
92746         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
92747         func_add_or_update, func_create_testdir): Use it to initialize sed
92748         script variables.
92749         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
92751 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
92752             Bruno Haible  <bruno@clisp.org>
92754         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
92755         also works after #include directives.
92757 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
92759         getdate.y: reject an out-of-range timezone value
92760         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
92761         the range [-24...+24].  When specified with only one or two digits,
92762         * tests/test-getdate.c: Tests for the fix.
92763         * doc/getdate.texi: Document this change.
92765 2008-09-03  Bruno Haible  <bruno@clisp.org>
92767         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
92769 2008-09-02  Simon Josefsson  <simon@josefsson.org>
92771         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
92772         <bruce.korb@gmail.com> with ideas from Ben Pfaff
92773         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
92774         Blake <ebb9@byu.net>.
92776         * tests/test-bitrotate.c: Add more test vectors.
92778 2008-09-02  Eric Blake  <ebb9@byu.net>
92780         vasnprintf-posix: handle large precision via %.*d
92781         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
92782         when handling it ourselves.
92783         * tests/test-vasnprintf-posix.c (test_function): Add test.
92784         * tests/test-snprintf-posix.h (test_function): Likewise.
92785         * tests/test-sprintf-posix.h (test_function): Likewise.
92786         * tests/test-vasprintf-posix.c (test_function): Likewise.
92787         Reported by Alain Guibert.
92789 2008-09-01  Eric Blake  <ebb9@byu.net>
92791         c-stack: make configure-time check more robust
92792         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
92793         successful sigaction call.
92794         Reported by Tom G. Christensen.
92796 2008-09-01  Bruno Haible  <bruno@clisp.org>
92798         New module 'findprog-lgpl'.
92799         * modules/findprog-lgpl: New file.
92800         * lib/findprog-lgpl.c: New file.
92801         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
92802         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
92803         to decide whether to use strdup or xstrdup, concatenated_filename or
92804         xconcatenated_filename.
92806 2008-09-01  Bruno Haible  <bruno@clisp.org>
92808         Split module 'concat-filename' into 'concat-filename' (LGPL) and
92809         'xconcat-filename' (GPL).
92810         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
92811         (License): Change to LGPLv2+.
92812         * modules/xconcat-filename: New file.
92813         * lib/concat-filename.h (concatenated_filename): Change specification.
92814         (xconcatenated_filename): New declaration.
92815         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
92816         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
92817         memory situations.
92818         * lib/xconcat-filename.c: New file.
92819         * NEWS: Mention the change.
92820         * lib/findprog.c: Include concat-filename.h, not filename.h.
92821         (find_in_path): Use xconcatenated_filename instead of
92822         concatenated_filename.
92823         * lib/javacomp.c: Include concat-filename.h, not filename.h.
92824         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
92825         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
92826         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
92827         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
92828         instead of concatenated_filename.
92829         * lib/javaexec.c: Include concat-filename.h, not filename.h.
92830         (execute_java_class): Use xconcatenated_filename instead of
92831         concatenated_filename.
92832         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
92833         * modules/javacomp (Depends-on): Likewise.
92834         * modules/javaexec (Depends-on): Likewise.
92836 2008-09-01  Bruno Haible  <bruno@clisp.org>
92838         Split module 'filename' into 'filename' and 'concat-filename'.
92839         * modules/filename: Keep only lib/filename.h.
92840         (License): Change to LGPLv2+.
92841         * modules/concat-filename: New file, extracted from modules/filename.
92842         * lib/filename.h (concatenated_filename): Remove declaration.
92843         * lib/concat-filename.h: New file, extracted from lib/filename.h.
92844         * lib/concat-filename.c: Include concat-filename.h.
92845         * NEWS: Mention the change.
92847 2008-09-01  Simon Josefsson  <simon@josefsson.org>
92849         * lib/bitrotate.h (rotl8, rotr8): Add.
92851         * modules/bitrotate (configure.ac): Need
92852         AC_REQUIRE([AC_C_INLINE]).
92853         (Description): Mention stdint.h.  Reported by Bruno Haible
92854         <bruno@clisp.org>.
92856         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
92857         Paolo Bonzini <bonzini@gnu.org>.
92859 2008-08-31  Bruno Haible  <bruno@clisp.org>
92861         Assume Solaris specific bi-arch conventions on Solaris systems.
92862         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
92863         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
92864         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
92865         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
92866         like acl_libdirstem.
92867         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
92868         acl_libdirstem.
92869         * NEWS: Mention the change.
92870         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
92872 2008-08-31  Jim Meyering  <meyering@redhat.com>
92874         * lib/strftime.h: Add comments describing the two added arguments.
92876         remove duplicate #include directives
92877         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
92878         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
92880 2008-08-31  Bruno Haible  <bruno@clisp.org>
92882         New module 'sigpipe-die'.
92883         * modules/sigpipe-die: New file.
92884         * lib/sigpipe-die.h: New file.
92885         * lib/sigpipe-die.c: New file.
92886         * MODULES.html.sh (Signal handling): Add sigpipe-die.
92888 2008-08-31  Bruno Haible  <bruno@clisp.org>
92890         Don't override previously installed signal handlers.
92891         * lib/fatal-signal.c (saved_sigactions): New variable.
92892         (uninstall_handlers): Reset the signal to the saved handler, not
92893         to SIG_DFL (except when ignored).
92894         (install_handlers): Save the previous handlers.
92896 2008-08-30  Bruno Haible  <bruno@clisp.org>
92898         * gnulib-tool (func_reset_sigpipe): New function.
92899         (func_get_automake_snippet, func_modules_transitive_closure,
92900         func_import): Invoke it before a join command that reads from stdin,
92901         to avoid "echo: write error: Broken pipe" error messages on stderr.
92902         Reported by Sam Steingold <sds@gnu.org>.
92904 2008-08-30  Bruno Haible  <bruno@clisp.org>
92906         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
92907         Code copied from m4/open.m4.
92908         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
92909         access and the filename ends in a slash. Code copied from lib/open.c.
92910         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
92911         * tests/test-fopen.c (main): Check against bug with trailing slash.
92913 2008-08-29  Bruno Haible  <bruno@clisp.org>
92915         Avoid some "gcc -pedantic" warnings.
92916         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
92917         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
92918         * lib/dirent.in.h: Likewise.
92919         * lib/fcntl.in.h: Likewise.
92920         * lib/float.in.h: Likewise.
92921         * lib/iconv.in.h: Likewise.
92922         * lib/inttypes.in.h: Likewise.
92923         * lib/locale.in.h: Likewise.
92924         * lib/math.in.h: Likewise.
92925         * lib/netinet_in.in.h: Likewise.
92926         * lib/search.in.h: Likewise.
92927         * lib/signal.in.h: Likewise.
92928         * lib/stdarg.in.h: Likewise.
92929         * lib/stdint.in.h: Likewise.
92930         * lib/stdio.in.h: Likewise.
92931         * lib/stdlib.in.h: Likewise.
92932         * lib/string.in.h: Likewise.
92933         * lib/strings.in.h: Likewise.
92934         * lib/sys_select.in.h: Likewise.
92935         * lib/sys_socket.in.h: Likewise.
92936         * lib/sys_stat.in.h: Likewise.
92937         * lib/sys_time.in.h: Likewise.
92938         * lib/sysexits.in.h: Likewise.
92939         * lib/time.in.h: Likewise.
92940         * lib/unistd.in.h: Likewise.
92941         * lib/wchar.in.h: Likewise.
92942         * lib/wctype.in.h: Likewise.
92943         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
92944         * modules/fchdir (Makefile.am): Likewise.
92945         * modules/fcntl (Makefile.am): Likewise.
92946         * modules/float (Makefile.am): Likewise.
92947         * modules/iconv_open (Makefile.am): Likewise.
92948         * modules/inttypes (Makefile.am): Likewise.
92949         * modules/locale (Makefile.am): Likewise.
92950         * modules/math (Makefile.am): Likewise.
92951         * modules/netinet_in (Makefile.am): Likewise.
92952         * modules/search (Makefile.am): Likewise.
92953         * modules/signal (Makefile.am): Likewise.
92954         * modules/stdarg (Makefile.am): Likewise.
92955         * modules/stdint (Makefile.am): Likewise.
92956         * modules/stdio (Makefile.am): Likewise.
92957         * modules/stdlib (Makefile.am): Likewise.
92958         * modules/string (Makefile.am): Likewise.
92959         * modules/strings (Makefile.am): Likewise.
92960         * modules/sys_select (Makefile.am): Likewise.
92961         * modules/sys_socket (Makefile.am): Likewise.
92962         * modules/sys_stat (Makefile.am): Likewise.
92963         * modules/sys_time (Makefile.am): Likewise.
92964         * modules/sysexits (Makefile.am): Likewise.
92965         * modules/time (Makefile.am): Likewise.
92966         * modules/unistd (Makefile.am): Likewise.
92967         * modules/wchar (Makefile.am): Likewise.
92968         * modules/wctype (Makefile.am): Likewise.
92969         Reported by Reuben Thomas <rrt@sc3d.org>.
92971 2008-08-29  Bruno Haible  <bruno@clisp.org>
92973         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
92974         any more.
92976 2008-08-29  Simon Josefsson  <simon@josefsson.org>
92978         * MODULES.html.sh (Misc): Add bitrotate.
92980         * modules/bitrotate: New file.
92982         * lib/bitrotate.h: New file.
92984         * modules/bitrotate-tests: New file.
92986         * tests/test-bitrotate.c: New file.
92988         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
92989         on the bitrotate module.
92991         * lib/arctwo.c: Use new bitrotate module.
92993 2008-08-29  Jim Meyering  <meyering@redhat.com>
92995         bootstrap: merge changes from coreutils
92996         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
92997         of copied files.  Remove a kludge, now that this is fixed.
92998         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
92999         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
93000         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
93002 2008-08-29  Bruno Haible  <bruno@clisp.org>
93004         * MODULES.html.sh: Remove --cvs-urls option.
93006 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
93008         maint.mk: adjust to file name change
93009         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
93011 2008-08-28  Jim Meyering  <meyering@redhat.com>
93013         * modules/getndelim2 (License): Relicense to LGPLv2+.
93014         Approved by Richard Stallman for the version of 1995, and by
93015         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
93017 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
93019         * lib/getdelim.c (flockfile, funlockfile): Make all of them
93020         dummy if one is not available.  Do not touch them if
93021         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
93022         (getc_maybe_unlocked): New.
93023         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
93025 2008-08-26  Eric Blake  <ebb9@byu.net>
93027         doc/INSTALL: resync from autoconf
93028         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
93029         (INSTALL_PRELUDE): Delete; this is done more efficiently by
93030         moving...
93031         * install.texi [!autoconf]: ...here.  Resync from autoconf.
93032         * INSTALL: Regenerate.
93033         * INSTALL.ISO: New file.
93034         * INSTALL.UTF-8: Likewise.
93036 2008-08-26  Jim Meyering  <meyering@redhat.com>
93038         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
93039         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
93040         these definitions conditional, so that they may be overridden, too.
93042 2008-08-26  Bruno Haible  <bruno@clisp.org>
93044         Generate INSTALL file variants with prettier quotes.
93045         * doc/Makefile (INSTALL_PRELUDE): New macro.
93046         (INSTALL): Use it.
93047         (INSTALL.ISO, INSTALL.UTF-8): New rules.
93049 2008-08-26  Bruno Haible  <bruno@clisp.org>
93051         Run makeinfo in an English locale.
93052         * doc/Makefile (MAKEINFO): New variable.
93054 2008-08-26  Bruno Haible  <bruno@clisp.org>
93056         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
93057         Suggested by Eric Blake.
93059 2008-08-25  Bruno Haible  <bruno@clisp.org>
93061         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
93063 2008-08-25  Eric Blake  <ebb9@byu.net>
93065         c-stack: test that stack overflow can be caught
93066         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
93067         that platform allows handling stack overflow; at least OS/2 EMX
93068         has sigaltstack, but crashes before transferring control to
93069         handler on stack overflow.
93070         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
93071         check for HAVE_STACK_OVERFLOW_HANDLING.
93072         Reported by Elbert Pol.
93074 2008-08-25  Bruno Haible  <bruno@clisp.org>
93076         * doc/posix-functions/strftime.texi: Fix description of strftime
93077         module.
93079 2008-08-24  Bruno Haible  <bruno@clisp.org>
93081         * tests/uniwidth/test-uc_width2.c: New file.
93082         * tests/uniwidth/test-uc_width2.sh: New file.
93083         * modules/uniwidth/width-tests (Files): Add the new files.
93084         (TESTS): Add uniwidth/test-uc_width2.sh.
93085         (TESTS_ENVIRONMENT): New variable.
93086         (check_PROGRAMS): Add test-uc_width2.
93087         (test_uc_width2_SOURCES): New variable.
93089         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
93090         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
93091         not 0x00AB.
93092         Reported by Alexander V. Lukyanov <lav@netis.ru>.
93094 2008-08-22  Eric Blake  <ebb9@byu.net>
93096         test-lock, test-tls: mention why a test is skipped
93097         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
93098         skipped.
93099         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
93101         count-one-bits: relax license
93102         * modules/count-one-bits (License): Relicense to LGPLv2+.
93103         Suggested by Ludovic Courtès, approved by Ben Pfaff.
93105 2008-08-22  Andreas Schwab  <schwab@suse.de>
93107         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
93108         Remove spurious space in assignment.
93110 2008-08-21  Simon Josefsson  <simon@josefsson.org>
93112         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
93113         Paul Eggert <eggert@CS.UCLA.EDU>.
93115 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
93117         * modules/gettext: Add m4/threadlib.m4.
93119 2008-08-19  Eric Blake  <ebb9@byu.net>
93121         test-c-stack: fix compilation failure on FreeBSD 5.0
93122         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
93123         headers before <sys/resource.h>.
93124         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
93125         the bug.
93126         Reported by Nelson H. F. Beebe.
93128         strverscmp: migrate from "strverscmp.h" to <string.h>
93129         * modules/string (Makefile.am): Add new hooks.
93130         * modules/strverscmp (Files): Remove strverscmp.h.
93131         (Depends-on): Add string.
93132         (configure.ac): Add indicator.
93133         (Include): Mention new header.
93134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
93135         defaults.
93136         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
93137         results.
93138         * lib/strverscmp.h: Delete.
93139         * lib/string.in.h (strverscmp): Provide declaration, when needed.
93140         * tests/test-strverscmp.c (includes): Adjust client.
93141         * lib/check-version.c (includes): Likewise.
93142         * NEWS: Document the change.
93144         strverscmp: add unit test
93145         * modules/strverscmp-tests: New file.
93146         * tests/test-strverscmp.c: Likewise.
93148 2008-08-19  Simon Josefsson  <simon@josefsson.org>
93150         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
93151         regarding Windows crypto stuff, from Mono.
93153 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
93155         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
93156         if present, for intel RND.  Return error on failures.
93158 2008-08-18  Ben Pfaff  <blp@gnu.org>
93160         gitlog-to-changelog: give better diagnostic for failed pipe-open
93161         * build-aux/gitlog-to-changelog: Improve error message: suggest
93162         that the version of Git may be too old.
93164 2008-08-18  Simon Josefsson  <simon@josefsson.org>
93166         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
93167         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
93169 2008-08-18  Bruno Haible  <bruno@clisp.org>
93171         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
93172         pthread_in_use().
93174 2008-08-18  Bruno Haible  <bruno@clisp.org>
93176         * lib/glthread/threadlib.c: Include <pthread.h>.
93178 2008-08-18  Bruno Haible  <bruno@clisp.org>
93180         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
93181         glthread_recursive_lock_* macros.
93182         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
93183         Fix syntax error.
93185 2008-08-18  Bruno Haible  <bruno@clisp.org>
93187         * lib/glthread/thread.c: Avoid forcing a context switch right after
93188         thread creation.
93190 2008-08-17  Bruno Haible  <bruno@clisp.org>
93192         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
93193         * lib/glthread/thread.h: Provide Win32 specific implementation.
93194         * modules/thread (Files): Add lib/glthread/thread.c.
93195         (Depends-on): Add lock.
93196         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
93198 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93200         New module 'yield'.
93201         * modules/yield: New file.
93202         * lib/glthread/yield.h: New file.
93203         * m4/yield.m4: New file.
93204         * MODULES.html.sh (Multithreading): Add yield.
93206 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93208         New module 'thread'.
93209         * modules/thread: New file.
93210         * lib/glthread/thread.h: New file.
93211         * m4/thread.m4: New file.
93212         * MODULES.html.sh (Multithreading): Add thread.
93214 2008-08-17  Bruno Haible  <bruno@clisp.org>
93216         * lib/glthread/lock.h: Include <stdlib.h> always.
93217         * lib/glthread/tls.h: Likewise.
93218         * lib/glthread/cond.h: Likewise.
93220 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93222         New module 'cond'.
93223         * modules/cond: New file.
93224         * lib/glthread/cond.h: New file.
93225         * lib/glthread/cond.c: New file.
93226         * m4/cond.m4: New file.
93227         * MODULES.html.sh (Multithreading): Add cond.
93229 2008-08-16  Eric Blake  <ebb9@byu.net>
93231         c-stack: fix regression on Irix 5.3 from 2008-06-21
93232         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
93233         sa_sigaction...
93234         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
93235         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
93236         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
93237         * modules/signal (Makefile.am): Use the value.
93238         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
93239         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
93240         * doc/posix-headers/signal.texi (signal.h): Document this
93241         portability issue.
93242         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
93243         Reported by Tom G. Christensen.
93245 2008-08-17  Bruno Haible  <bruno@clisp.org>
93247         New module 'threadlib'.
93248         * modules/threadlib: New file.
93249         * lib/glthread/threadlib.c: New file, extracted from
93250         lib/glthread/lock.c.
93251         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
93252         functions.
93253         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
93254         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
93255         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
93256         macros.
93257         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
93258         (gl_DISABLE_THREADS): Remove macro.
93259         * modules/lock (Files): Remove build-aux/config.rpath.
93260         (Depends-on): Remove havelib. Add threadlib.
93261         (configure.ac-early): Remove section.
93262         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
93263         * modules/tls (Depends-on): Remove lock. Add threadlib.
93264         (Link): New section, copied from threadlib.
93265         * MODULES.html.sh (Multithreading): Add threadlib.
93267 2008-08-14  Bruno Haible  <bruno@clisp.org>
93269         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
93270         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
93271         glthread_rwlock_unlock, glthread_rwlock_destroy,
93272         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
93273         glthread_recursive_lock_destroy): Define as macros always.
93274         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
93275         glthread_lock_lock.
93276         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
93277         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
93278         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
93279         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
93280         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
93281         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
93282         (glthread_recursive_lock_lock_func): Renamed from
93283         glthread_recursive_lock_lock.
93284         (glthread_recursive_lock_unlock_func): Renamed from
93285         glthread_recursive_lock_unlock.
93286         (glthread_recursive_lock_destroy_func): Renamed from
93287         glthread_recursive_lock_destroy.
93289 2008-08-14  Bruno Haible  <bruno@clisp.org>
93291         * lib/glthread/lock.h: Renamed from lib/lock.h.
93292         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
93293         * lib/glthread/tls.h: Renamed from lib/tls.h.
93294         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
93295         * lib/fstrcmp.c: Update includes.
93296         * lib/strsignal.c: Update includes.
93297         * modules/lock (Files, Makefile.am): Update.
93298         (Include): Change to "glthread/lock.h".
93299         * modules/tls (Files, Makefile.am): Update.
93300         (Include): Change to "glthread/tls.h".
93301         * tests/test-lock.c: Update includes.
93302         * tests/test-tls.c: Update includes.
93303         * NEWS: Mention the renamed header files.
93305 2008-08-11  Jim Meyering  <meyering@redhat.com>
93307         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
93309 2008-08-11  Eric Blake  <ebb9@byu.net>
93311         test-c-stack: avoid C99-ism
93312         * tests/test-c-stack.c (main): Fix whitespace, move declaration
93313         before statement.
93314         Reported by Alain Guibert.
93316 2008-08-10  Jim Meyering  <meyering@redhat.com>
93318         ensure that return value of uinttostr et al are not ignored
93319         * lib/inttostr.h (__GNUC_PREREQ): Define.
93320         (__attribute_warn_unused_result__): Define.
93321         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
93323 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
93325         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
93326         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
93328 2008-08-07  Jim Meyering  <meyering@redhat.com>
93330         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
93332         * modules/mkstemp (License): Relicense under LGPLv2+.
93333         * modules/tempname (License): Likewise.
93335 2008-08-06  Bruno Haible  <bruno@clisp.org>
93337         * lib/poll.c (poll): Further micro-optimization.
93339 2008-08-06  Jim Meyering  <meyering@redhat.com>
93341         inet_pton.c: use locale-independent tolower
93342         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
93343         (inet_pton6): Use c_tolower rather than tolower.
93344         * modules/inet_pton (Depends-on): Add c-ctype.
93346 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
93348         * lib/poll.c (poll): Avoid division when timeout is 0, cache
93349         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
93351 2008-08-06  Jim Meyering  <meyering@redhat.com>
93353         * modules/inet_pton (License): Relicense under LGPLv2+.
93355 2008-08-03  Bruno Haible  <bruno@clisp.org>
93357         Additional non-aborting API for lock and tls.
93358         * lib/lock.h: Include <errno.h>.
93359         (glthread_lock_init): New macro/function.
93360         (gl_lock_init): Define as wrapper around glthread_lock_init.
93361         (glthread_lock_lock): New macro/function.
93362         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
93363         (glthread_lock_unlock): New macro/function.
93364         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
93365         (glthread_lock_destroy): New macro/function.
93366         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
93367         (glthread_rwlock_init): New macro/function.
93368         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
93369         (glthread_rwlock_rdlock): New macro/function.
93370         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
93371         (glthread_rwlock_wrlock): New macro/function.
93372         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
93373         (glthread_rwlock_unlock): New macro/function.
93374         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
93375         (glthread_rwlock_destroy): New macro/function.
93376         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
93377         (glthread_recursive_lock_init): New macro/function.
93378         (gl_recursive_lock_init): Define as wrapper around
93379         glthread_recursive_lock_init.
93380         (glthread_recursive_lock_lock): New macro/function.
93381         (gl_recursive_lock_lock): Define as wrapper around
93382         glthread_recursive_lock_lock.
93383         (glthread_recursive_lock_unlock): New macro/function.
93384         (gl_recursive_lock_unlock): Define as wrapper around
93385         glthread_recursive_lock_unlock.
93386         (glthread_recursive_lock_destroy): New macro/function.
93387         (gl_recursive_lock_destroy): Define as wrapper around
93388         glthread_recursive_lock_destroy.
93389         (glthread_once): New macro/function.
93390         (gl_once): Define as wrapper around glthread_once.
93391         Update function declarations.
93392         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
93393         glthread_rwlock_init. Return error code.
93394         (glthread_rwlock_rdlock_multithreaded): Renamed from
93395         glthread_rwlock_rdlock. Return error code.
93396         (glthread_rwlock_wrlock_multithreaded): Renamed from
93397         glthread_rwlock_wrlock. Return error code.
93398         (glthread_rwlock_unlock_multithreaded): Renamed from
93399         glthread_rwlock_unlock. Return error code.
93400         (glthread_rwlock_destroy_multithreaded): Renamed from
93401         glthread_rwlock_destroy. Return error code.
93402         (glthread_recursive_lock_init_multithreaded): Renamed from
93403         glthread_recursive_lock_init. Return error code.
93404         (glthread_recursive_lock_lock_multithreaded): Renamed from
93405         glthread_recursive_lock_lock. Return error code.
93406         (glthread_recursive_lock_unlock_multithreaded): Renamed from
93407         glthread_recursive_lock_unlock. Return error code.
93408         (glthread_recursive_lock_destroy_multithreaded): Renamed from
93409         glthread_recursive_lock_destroy. Return error code.
93410         (glthread_once_call): Make static.
93411         (glthread_once_multithreaded): Renamed from glthread_once.
93412         * lib/tls.h: Include <errno.h>.
93413         (glthread_tls_key_init): New macro/function.
93414         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
93415         (glthread_tls_set): New macro/function.
93416         (gl_tls_set): Define as wrapper around glthread_tls_set.
93417         (glthread_tls_key_destroy): New macro/function.
93418         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
93419         Update function declarations.
93420         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
93421         glthread_tls_get.
93422         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
93424 2008-08-04  Eric Blake  <ebb9@byu.net>
93426         gnumakefile: use space, not TAB, outside of targets
93427         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
93429 2008-08-02  Jim Meyering  <meyering@redhat.com>
93431         getdate.y: avoid locale-dependent date parsing failure
93432         In Turkish locales, getdate would fail to recognize keywords
93433         containing a lowercase "i".  The solution is not to rely on
93434         locale-sensitive case-conversion.
93435         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
93436         (lookup_word): Use c_toupper in place of toupper.
93437         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
93438         Reported by Vefa Bicakci <bicave@superonline.com> in
93439         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
93440         * modules/getdate (Depends-on): Add c-ctype.
93442 2008-08-02  Bruno Haible  <bruno@clisp.org>
93444         * gnulib-tool (func_import): When updating or creating a .gitignore
93445         file, prepend each added line with a slash, and ignore leading slashes
93446         from the existing lines.
93447         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93449 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93451         Portability fix for GNU make 3.79.1.
93452         * top/GNUmakefile: Avoid 'else COND', which older GNU make
93453         versions do not understand.
93455 2008-08-01  Bruno Haible  <bruno@clisp.org>
93457         Work around bug of HP-UX 10.20 cc with -0.0 literal.
93458         * tests/test-isnanf.h (zero): New variable.
93459         (main): Avoid literal -0.0f.
93460         * tests/test-isnand.h (zero): New variable.
93461         (main): Avoid literal -0.0.
93462         * tests/test-isnanl.h (zero): New variable.
93463         (main): Avoid literal -0.0L.
93464         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
93465         (test_float, test_double, test_long_double): Avoid literals -0.0f,
93466         -0.0, -0.0L.
93467         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
93468         (test_signbitd): Avoid literal -0.0.
93469         (test_signbitl): Avoid literal -0.0L.
93470         * tests/test-ceilf1.c (zero): New variable.
93471         (main): Avoid literal -0.0f.
93472         * tests/test-ceill.c (zero): New variable.
93473         (main): Avoid literal -0.0L.
93474         * tests/test-floorf1.c (zero): New variable.
93475         (main): Avoid literal -0.0f.
93476         * tests/test-floorl.c (zero): New variable.
93477         (main): Avoid literal -0.0L.
93478         * tests/test-roundf1.c (zero): New variable.
93479         (main): Avoid literal -0.0f.
93480         * tests/test-round1.c (zero): New variable.
93481         (main): Avoid literal -0.0.
93482         * tests/test-roundl.c (zero): New variable.
93483         (main): Avoid literal -0.0L.
93484         * tests/test-truncf1.c (zero): New variable.
93485         (main): Avoid literal -0.0f.
93486         * tests/test-trunc1.c (zero): New variable.
93487         (main): Avoid literal -0.0.
93488         * tests/test-truncl.c (zero): New variable.
93489         (main): Avoid literal -0.0L.
93490         * tests/test-frexp.c (zero): New variable.
93491         (main): Avoid literal -0.0.
93492         * tests/test-frexpl.c (zero): New variable.
93493         (main): Avoid literal -0.0L.
93494         * tests/test-ldexpl.c (zero): New variable.
93495         (main): Avoid literal -0.0L.
93496         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93497         (zerod, zerol): New variables.
93498         (test_function): Avoid literals -0.0, -0.0L.
93499         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93500         (zerod, zerol): New variables.
93501         (test_function): Avoid literals -0.0, -0.0L.
93502         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93503         (zerod, zerol): New variables.
93504         (test_function): Avoid literals -0.0, -0.0L.
93505         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93506         (zerod, zerol): New variables.
93507         (test_function): Avoid literals -0.0, -0.0L.
93508         * tests/test-strtod.c (zero): New variable.
93509         (main): Avoid literal -0.0.
93510         Reported by Jonathan C. Patschke <jp@centtech.com>.
93512 2008-07-31  Jim Meyering  <meyering@redhat.com>
93514         sha256.h: correct definition of SHA224_DIGEST_SIZE
93515         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
93516         Reported by Paulie Pena IV <paulie4@gmail.com>.
93517         Define as 224 / 8, rather than as a literal.
93518         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
93519         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
93520         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
93522 2008-07-31  Bruno Haible  <bruno@clisp.org>
93524         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
93525         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
93526         Reported by Jonathan Patschke <jp@centtech.com>.
93528 2008-07-31  Bruno Haible  <bruno@clisp.org>
93530         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
93531         Reported by Paolo Bonzini <bonzini@gnu.org>.
93533 2008-07-30  Eric Blake  <ebb9@byu.net>
93535         test-strtod: allow compilation without -lm
93536         * tests/test-strtod.c (main): Avoid link dependence on fabs.
93537         Reported by Dennis Clarke <blastwave@gmail.com>.
93539 2008-07-28  Jim Meyering  <meyering@redhat.com>
93541         bootstrap: work also when there are no .po files in po/
93542         * build-aux/bootstrap (update_po_files): Complete the change
93543         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
93545 2008-07-27  Jim Meyering  <meyering@redhat.com>
93547         * users.txt: Add zile.
93549 2008-07-26  Ben Pfaff  <blp@gnu.org>
93551         Add missing dependencies on new m4/exponent[fdl].m4 files.
93552         * modules/isnanf-nolibm: Add m4/exponentf.m4.
93553         * modules/isnand-nolibm: Add m4/exponentd.m4.
93554         * modules/isnanl-nolibm: Add m4/exponentl.m4.
93555         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
93556         m4/isnan[fdl].m4, because the macros actually used moved.
93557         Reported by Jim Meyering.
93559 2008-07-14  Ben Pfaff  <blp@gnu.org>
93561         Add isinf module.
93562         * lib/isinf.c: New file.
93563         * lib/math.in.h: Define isinf macro if we have decided to replace
93564         it.
93565         * m4/isinf.m4: New file.
93566         * m4/math_h.m4: Initialize and substitute variables for isinf
93567         module.
93568         * modules/isinf: New file.
93569         * modules/isinf-tests: New file.
93570         * modules/math: Add substitutions for new module.
93571         * tests/test-isinf.c: New file.
93572         * doc/posix-functions/isinf.texi: Mention new module.
93573         * MODULES.html.sh: Mention new module.
93575 2008-07-14  Ben Pfaff  <blp@gnu.org>
93577         Factor out some macros for use by additional modules.
93578         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
93579         exponentf.m4.
93580         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
93581         exponentd.m4.
93582         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
93583         file exponentl.m4.
93584         * m4/exponentf.m4: New file.
93585         * m4/exponentd.m4: New file.
93586         * m4/exponentl.m4: New file.
93587         * modules/isnanf: Use new file m4/exponentf.m4.
93588         * modules/isnand: Use new file m4/exponentd.m4.
93589         * modules/isnanl: Use new file m4/exponentl.m4.
93591 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
93593         mktime.c: normalize tp->tm_isdst value to -1/0/1.
93594         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
93595         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
93596         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
93598         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
93599         readlink on platforms without PATH_MAX.
93601 2008-07-21  Eric Blake  <ebb9@byu.net>
93603         Warn, not fail, on stale version.
93604         * top/GNUmakefile (_curr-ver): Tone down previous patch.
93606         Don't allow installation with stale devel version number.
93607         * top/GNUmakefile (_is-install-target): New macro.
93608         (_curr-ver): Forbid installation with stale version number.
93610 2008-07-20  Bruno Haible  <bruno@clisp.org>
93612         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
93613         TESTS_ENVIRONMENT.
93614         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
93616 2008-07-20  Bruno Haible  <bruno@clisp.org>
93618         * lib/c-stack.h (c_stack_action): Add documentation.
93619         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
93621 2008-07-20  Bruno Haible  <bruno@clisp.org>
93623         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
93624         * modules/readlink (License): Likewise.
93626 2008-07-17  Eric Blake  <ebb9@byu.net>
93628         * modules/c-stack (Link): Fix typo.
93630         Make c-stack use libsigsegv, when available.
93631         * modules/c-stack (Depends-on): Add libsigsegv.
93632         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
93633         needed.
93634         * lib/c-stack.c (SIGSTKSZ): Define fallback.
93635         (segv_handler, overflow_handler, c_stack_action)
93636         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
93637         implementation when libsigsegv is available, but only when using
93638         the library is necessary.
93639         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
93640         comment, explaining why XSI check fails on Linux.
93641         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
93642         * tests/test-c-stack2.sh: Tweak skip message.
93643         * NEWS: Document new link-time requirements.
93645 2008-07-16  Eric Blake  <ebb9@byu.net>
93647         c-stack: Expose false positives when not using libsigsegv.
93648         * modules/c-stack-tests (Files): Expand test.
93649         * tests/test-c-stack.c (main): Add means to conditionally trigger
93650         non-overflow SIGSEGV.
93651         * tests/test-c-stack2.sh: New file.
93653 2008-07-14  Bruno Haible  <bruno@clisp.org>
93655         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
93656         Reported by Eric Blake.
93658 2008-07-14  Sam Steingold  <sds@gnu.org>
93659             Bruno Haible  <bruno@clisp.org>
93661         New module libsigsegv.
93662         * modules/libsigsegv: New file.
93663         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
93664         modifications.
93665         * MODULES.html.sh (Signal handling): New section.
93667 2008-07-14  Bruno Haible  <bruno@clisp.org>
93669         * modules/unictype/ctype-* (Description): Add the word "function".
93670         Improves the resulting doc in MODULES.html.
93672 2008-07-12  Ben Pfaff  <blp@gnu.org>
93674         Add longlong module.
93675         * modules/longlong: New file.
93677 2008-07-12  Bruno Haible  <bruno@clisp.org>
93679         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
93680         to empty.
93682 2008-07-10  Ben Pfaff  <blp@gnu.org>
93684         Add isnan module.
93685         * doc/posix-functions/isnan.texi: Mention new module.
93686         * lib/math.in.h: Define isnan macro if we have decided to replace
93687         it.
93688         * m4/isnan.m4: New file.
93689         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
93690         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
93691         also.
93692         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
93693         redundancy.
93694         * m4/math_h.m4: Initialize and substitute variables for isnan
93695         module.
93696         * modules/isnan: New file.
93697         * modules/isnan-tests: New file.
93698         * modules/math: Add substitutions for new module.
93699         * tests/test-isnan.c: New file.
93700         * MODULES.html.sh: Mention new module.
93702 2008-07-10  Ben Pfaff  <blp@gnu.org>
93704         Add isnanf module.
93705         * lib/isnanf.m4: New file.
93706         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
93707         (gl_HAVE_ISNANF_IN_LIBM): New macro.
93708         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
93709         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
93710         * modules/isnanf: New file.
93711         * modules/isnanf-tests: New file.
93712         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
93713         files.
93714         * tests/test-isnanf-nolibm.c: factored most of its contents into
93715         new file tests/test-isnanf.h.
93716         * tests/test-isnanf.h: New file.
93717         * tests/test-isnanf.c: New file.
93718         * MODULES.html.sh: Mention new module.
93719         * doc/glibc-functions/isnanf.texi: Mention new module.
93721 2008-07-10  Ben Pfaff  <blp@gnu.org>
93723         Add isnand module.
93724         * lib/isnand.h: New file.
93725         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
93726         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
93727         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
93728         functionality also.
93729         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
93730         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
93731         (gl_HAVE_ISNAND_IN_LIBM): New macro.
93732         * modules/isnand: New file.
93733         * modules/isnand-tests: New file.
93734         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
93735         files.
93736         * tests/test-isnand-nolibm.c: factored most of its contents into
93737         new file tests/test-isnand.h.
93738         * tests/test-isnand.h: New file.
93739         * tests/test-isnand.c: New file.
93740         * MODULES.html.sh: Mention new module.
93742 2008-07-10  Ben Pfaff  <blp@gnu.org>
93744         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
93745         * lib/isnand.h: Rename lib/isnand-nolibm.h.
93746         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
93747         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
93748         * modules/isnanf-nolibm: Update references to renamed files.
93749         * modules/isnand-nolibm: Likewise.
93750         * modules/isnanf-nolibm-tests: Likewise.
93751         * modules/isnand-nolibm-tests: Likewise.
93752         * lib/frexp.c: Likewise.
93753         * lib/isfinite.c: Likewise.
93754         * lib/signbitd.c: Likewise.
93755         * lib/signbitf.c: Likewise.
93756         * lib/vasnprintf.c: Likewise.
93757         * tests/test-ceilf1.c: Likewise.
93758         * tests/test-ceilf2.c: Likewise.
93759         * tests/test-floorf1.c: Likewise.
93760         * tests/test-floorf2.c: Likewise.
93761         * tests/test-frexp.c: Likewise.
93762         * tests/test-round1.c: Likewise.
93763         * tests/test-round2.c: Likewise.
93764         * tests/test-roundf1.c: Likewise.
93765         * tests/test-strtod.c: Likewise.
93766         * tests/test-trunc1.c: Likewise.
93767         * tests/test-trunc2.c: Likewise.
93768         * tests/test-truncf1.c: Likewise.
93769         * tests/test-truncf2.c: Likewise.
93770         * NEWS: Mention the renamed header files.
93772 2008-07-11  Jim Meyering  <meyering@redhat.com>
93774         vc-list-files: make the last-resort awk code more portable
93775         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
93776         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
93777         does not support it.
93779 2008-07-10  Eric Blake  <ebb9@byu.net>
93781         Work with tar's bootstrap.
93782         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
93783         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
93784         an m4 comment.
93786 2008-07-09  Jim Meyering  <meyering@redhat.com>
93788         posix-shell.m4: fix typo that made this test malfunction
93789         * m4/posix-shell.m4: Remove capitalization in variable name.
93791 2008-07-08  Bruno Haible  <bruno@clisp.org>
93793         * m4/onceonly.m4: Update comments.
93794         Reported by Ben Pfaff <blp@cs.stanford.edu>.
93796 2008-07-04  Jim Meyering  <meyering@redhat.com>
93798         * users.txt: Add vc-dwim.
93799         (bison, coreutils): Use the gitweb URL.
93801 2008-07-03  Jim Meyering  <meyering@redhat.com>
93803         * users.txt: Add libffcall.  From Sam Steingold.
93805 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
93807         getdate.y: do not ignore TZ with relative day, month or year offset
93808         * lib/getdate.y (get_date): Move the tz-handling block to follow the
93809         relative-date-handling, since otherwise, the latter would clobber the
93810         sole output (an updated Start value) of the tz-handling block.
93811         * tests/test-getdate.c: Tests for the fix
93813 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93815         Recognize 'foo_LIBRARIES += libgnu.a'.
93816         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
93817         makefile snippet has already specified an installation location,
93818         also using '+='.
93820 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
93822         getdate.y: factor out common actions
93823         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
93824         Use them in place of open-coded actions.
93826 2008-07-01  Simon Josefsson  <simon@josefsson.org>
93828         Add self-test for getdate module.
93829         * modules/getdate-tests: New file.
93830         * tests/test-getdate.c: New file.
93832 2008-06-29  Bruno Haible  <bruno@clisp.org>
93834         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
93835         .gitignore.
93836         Reported by Sylvain Beucler <beuc@beuc.net>.
93838 2008-06-29  Bruno Haible  <bruno@clisp.org>
93840         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
93841         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
93843 2008-06-29  Bruno Haible  <bruno@clisp.org>
93845         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
93846         EXTRA_DIST.
93847         Reported by Sylvain Beucler <beuc@beuc.net>.
93849 2008-06-26  Jim Meyering  <meyering@redhat.com>
93851         make several modules depend on the "open" module
93852         This provides slightly increased consistency when opening-for-write
93853         the name of a non-directory spelled with a trailing slash.
93854         * modules/chdir-safer: Likewise.
93855         * modules/chown: Likewise.
93856         * modules/clean-temp: Likewise.
93857         * modules/copy-file: Likewise.
93858         * modules/fchdir: Likewise.
93859         * modules/fcntl-safer: Likewise.
93860         * modules/pipe: Likewise.
93861         * modules/utime: Likewise.
93862         Prompted by Eric Blake and Bruno Haible.
93864 2008-06-24  Andreas Schwab  <schwab@suse.de>
93866         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
93867         literals can be used as initializers for global variables.
93869 2008-06-23  Eric Blake  <ebb9@byu.net>
93871         Make gnulib-cache.m4 easier to diff.
93872         * gnulib-tool (func_import): Allow newlines when reading cached
93873         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
93875 2008-06-23  Bruno Haible  <bruno@clisp.org>
93877         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
93878         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
93879         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
93880         m4/signalblocking.m4.
93881         (gl_PREREQ_SIGACTION): Don't invoke it.
93882         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
93883         gl_PREREQ_SIG_HANDLER_H.
93884         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93885         Don't check for sigaction here.
93887 2008-06-23  Bruno Haible  <bruno@clisp.org>
93889         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
93890         (install_handlers): Don't set the SA_RESETHAND flag.
93892 2008-06-23  Bruno Haible  <bruno@clisp.org>
93894         * m4/sigaction.m4: Comment fixes.
93895         * lib/signal.in.h: Likewise.
93897 2008-06-23  Eric Blake  <ebb9@byu.net>
93899         Fix typo.
93900         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
93902         Avoid SA_ namespace.
93903         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
93904         Reported by Ralf Wildenhues.
93906         Avoid test failure due to SA_RESTORER.
93907         * tests/test-sigaction.c (SA_MASK): New macro.
93908         (main): Avoid failing due to extension flags being set.
93909         Reported by Jim Meyering.
93911         Revert use of sig-handler.h in sigprocmask.c.
93912         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
93913         it requires the existence of struct sigaction.
93914         * lib/sigprocmask.c (handler_t): Restore typedef.
93915         (rpl_signal, old_handlers): Use local type.
93917 2008-06-22  Bruno Haible  <bruno@clisp.org>
93919         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
93920         conditionally.
93921         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93923 2008-06-22  Bruno Haible  <bruno@clisp.org>
93925         * doc/posix-functions/siginterrupt.texi: Move note.
93927         * lib/signal.in.h (SA_RESTART): New macro.
93928         * lib/sigaction.c: Update comment.
93930         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
93932         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
93933         (gl_PREREQ_SIGPROCMASK): Invoke it.
93934         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
93936         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
93938         * lib/sigprocmask.c: Update a comment.
93940 2008-06-21  Eric Blake  <ebb9@byu.net>
93942         Use sigaction module rather than signal().
93943         * modules/c-stack (Depends-on): Add sigaction.
93944         * modules/fatal-signal (Depends-on): Likewise.
93945         * modules/nanosleep (Depends-on): Likewise.
93946         * modules/sigprocmask (Files): Add sig-handler.h.
93947         * modules/sigaction (Files): Likewise.
93948         * lib/sig-handler.h (get_handler): New file, suggested by Paul
93949         Eggert.
93950         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
93951         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
93952         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
93953         (init_fatal_signals): Likewise.
93954         * lib/nanosleep.c (rpl_nanosleep): Likewise.
93955         (siginterrupt): Delete fallback.
93956         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
93957         instead.
93958         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
93959         siginterrupt.
93961         New module sigaction, for mingw.
93962         * modules/sigaction: New module...
93963         * modules/sigaction-tests: ...and its test.
93964         * m4/sigaction.m4: New file.
93965         * lib/sigaction.c: Likewise.
93966         * tests/test-sigaction.c: Likewise.
93967         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
93968         * modules/signal (Makefile.am): Likewise.
93969         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
93970         needed.
93971         * doc/posix-headers/signal.texi (signal.h): Mention provided
93972         types.
93973         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
93974         that sigaction is preferable.
93975         * doc/posix-functions/sigaction.texi (sigaction): Mention new
93976         module.
93977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
93978         sigaction.
93980         Improve robustness of sigprocmask by overriding signal.
93981         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
93982         is in use.
93983         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
93984         (SIGKILL, SIGSTOP): Provide fallbacks.
93985         (rpl_signal): Implement.
93986         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
93987         signal can be called inside handlers.
93989         Fix nanosleep module on mingw.
93990         * modules/nanosleep (Depends-on): Add sys_select.
93991         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
93993         Fix licensing of sigprocmask.
93994         * modules/raise (License): Relicense as LGPL.
93996 2008-06-21  Bruno Haible  <bruno@clisp.org>
93998         * lib/propername.c (proper_name_utf8): Don't use the transliterated
93999         result if it contains question marks.
94000         Reported by Michael Geng <linux@michaelgeng.de>.
94002 2008-06-19  Bruno Haible  <bruno@clisp.org>
94004         Fix CVS-ism.
94005         * doc/gnulib.texi: Include updated-stamp.texi.
94006         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
94007         (updated-stamp.texi): New rule.
94008         (gnulib.info): Depend on it.
94009         * doc/.gitignore: Add updated-stamp.texi.
94010         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
94012 2008-06-19  Bruno Haible  <bruno@clisp.org>
94014         * doc/Makefile (gnulib.info): Update and simplify dependencies.
94015         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
94017 2008-06-19  Eric Blake  <ebb9@byu.net>
94019         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
94020         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
94021         Reported by Stepan Kasal.
94023 2008-06-18  Bruno Haible  <bruno@clisp.org>
94025         * lib/fatal-signal.c (init_fatal_signals): Add comment.
94026         Reported by Eric Blake.
94028 2008-06-18  Eric Blake  <ebb9@byu.net>
94030         Work around cygwin 1.5.25 strsignal bug.
94031         * tests/test-strsignal.c: Allow for const char *.
94032         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
94034 2008-06-18  Simon Josefsson  <simon@josefsson.org>
94036         * users.txt: Update URL to article and add author/date
94037         information.
94039 2008-06-17  Bruno Haible  <bruno@clisp.org>
94041         New macro gl_DISABLE_THREADS.
94042         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
94043         if the user did not pass --enable-threads or --disable-threads option.
94044         (gl_DISABLE_THREADS): New macro.
94045         Reported by Eric Blake <ebb9@byu.net>.
94047 2008-06-17  Bruno Haible  <bruno@clisp.org>
94049         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
94050         when the macro ignores it.
94051         Based on a patch by Eric Blake <ebb9@byu.net>.
94053 2008-06-17  Bruno Haible  <bruno@clisp.org>
94055         * modules/tls (License): Change to LGPLv2+.
94056         Reported by Eric Blake.
94058 2008-06-17  Eric Blake  <ebb9@byu.net>
94060         Simplify c-stack prerequisites.
94061         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
94062         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
94063         no longer requires <ucontext.h> to exist.  Optimize setrlimit
94064         check.
94065         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
94066         <sys/resource.h>.
94068         Move c-stack test into testsuite.
94069         * modules/c-stack-tests: New file.
94070         * lib/c-stack.c [DEBUG]: Move test program...
94071         * tests/test-c-stack.c: ...into this new file.  Skip rather than
94072         fail test if sigaltstack is lacking.
94073         * tests/test-c-stack.sh: New driver file.
94075 2008-06-16  Eric Blake  <ebb9@byu.net>
94077         Use raise module consistently.
94078         * modules/fatal-signal (Depends-on): Add raise.
94079         * modules/sigprocmask (Depends-on): Likewise.
94080         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
94081         * lib/sigprocmask.c (sigprocmask): Likewise.
94082         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
94083         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
94085         Fix compliance bug in sigpending.
94086         * lib/sigprocmask.c (sigpending): Return pending array via
94087         parameter, not return value.
94089 2008-06-14  Eric Blake  <ebb9@byu.net>
94091         Improve obstack-printf test code.
94092         * tests/test-obstack-printf.c (test_function): Fix comment, and
94093         simplify usage of obstack_* in macros.  Add a test for coverage.
94094         Reported by Bruno Haible.
94096 2008-06-14  Bruno Haible  <bruno@clisp.org>
94098         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
94099         array size as a constant, not as a const variable.
94100         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
94101         AC_USE_SYSTEM_EXTENSIONS.
94102         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
94103         Test whether the obstack_printf function actually exists.
94104         * modules/obstack-printf (Depends-on): Add extensions.
94105         (Include): Remove obstack.h.
94106         * modules/obstack-printf-posix (Depends-on): Add extensions.
94107         (Include): Remove obstack.h.
94109 2008-06-13  Eric Blake  <ebb9@byu.net>
94111         Add obstack-printf and obstack-printf-posix modules.
94112         * modules/obstack-printf: New file.
94113         * modules/obstack-printf-posix: Likewise.
94114         * MODULES.html.sh (Misc): Mention them.
94115         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
94116         Likewise.
94117         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
94118         Likewise.
94119         * modules/stdio (Makefile.am): Accomodate new modules.
94120         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
94121         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
94122         Declare.
94123         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
94124         functions.
94125         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
94126         (gl_REPLACE_OBSTACK_PRINTF): New macros
94127         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
94128         * tests/test-obstack-printf.c: New file.
94129         * modules/obstack-printf-tests: Likewise.
94130         * modules/obstack-printf-posix-tests: Likewise.
94132 2008-06-11  Bruno Haible  <bruno@clisp.org>
94134         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
94135         * lib/open.c: Include errno.h.
94136         (open): Fail when attempting to write to a file that has a trailing
94137         slash.
94138         * tests/test-open.c (main): Test against trailing slash bug.
94139         * doc/posix-functions/open.texi: Mention the trailing slash bug.
94141 2008-06-10  Bruno Haible  <bruno@clisp.org>
94143         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
94144         for $? to work inside the trap command, with various /bin/sh-s.
94145         * tests/test-vc-list-files-cvs.sh: Likewise.
94147 2008-06-10  Bruno Haible  <bruno@clisp.org>
94149         * lib/acl-internal.h: Don't include gettext.h here.
94150         * lib/set-mode-acl.c: Include gettext.h here.
94151         * lib/copy-acl.c: Likewise.
94153 2008-06-10  Bruno Haible  <bruno@clisp.org>
94155         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
94156         * lib/wait-process.c (wait_subprocess): Likewise.
94157         * lib/execute.h (execute): Add termsigp argument.
94158         * lib/execute.c (execute): Likewise.
94159         * lib/csharpcomp.c (compile_csharp_using_pnet,
94160         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
94161         * lib/csharpexec.c (execute_csharp_using_pnet,
94162         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
94163         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
94164         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
94165         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
94166         is_jikes_present): Update.
94167         * lib/javaexec.c (execute_java_class): Update.
94168         * lib/javaversion.c (execute_and_read_line): Update.
94169         * NEWS: Document the changes.
94170         Reported by Eric Blake.
94172 2008-06-10  Eric Blake  <ebb9@byu.net>
94174         Add missing include.
94175         * tests/test-strstr.c (includes): Add <signal.h>.
94176         * tests/test-strcasestr.c (includes): Likewise.
94177         * tests/test-memmem.c (includes): Likewise.
94179 2008-06-10  Bruno Haible  <bruno@clisp.org>
94181         * lib/wait-process.c (wait_subprocess): Add an assertion.
94183 2008-06-10  Bruno Haible  <bruno@clisp.org>
94185         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
94187 2008-06-10  Bruno Haible  <bruno@clisp.org>
94189         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
94190         using alarm().
94191         * tests/test-strcasestr.c (main): Likewise.
94192         * tests/test-strstr.c (main): Likewise.
94194 2008-06-09  Bruno Haible  <bruno@clisp.org>
94196         Work around the Solaris 10 ACE ACLs ABI change.
94197         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
94198         declare if ACL_NO_TRIVIAL is present.
94199         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
94200         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
94201         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
94202         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
94203         define if ACL_NO_TRIVIAL is present.
94204         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
94205         and use the current ABI.
94206         (file_has_acl): Use same #if condition as elsewhere.
94207         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
94208         in use, and use the current ABI.
94209         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
94210         Reported by Jim Meyering.
94212 2008-06-09  Eric Blake  <ebb9@byu.net>
94214         Work around environments that (stupidly) ignore SIGALRM.
94215         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
94216         before using alarm().
94217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94218         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94219         Reported by Ian Beckwith <ianb@erislabs.net>.
94221         Produce autobuild blurb earlier in log.
94222         * modules/autobuild (configure.ac-early): Move AB_INIT here.
94224 2008-06-09  Jim Meyering  <meyering@redhat.com>
94225         and Ondřej Vašík  <ovasik@redhat.com>
94227         utimens.c: correct kernel bug work-around
94228         Ondřej Vašík found that the invalid return value of 280 indicates
94229         failure, not success, and the kernel bug we're trying to work
94230         around affects not just the utimensat call, but also the fallback
94231         futimens call.
94232         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
94233         not success.
94234         [HAVE_FUTIMENS]: Use the same work-around, here.
94236 2008-06-09  Jim Meyering  <meyering@redhat.com>
94238         add more guards around definition of ACE_-related code
94239         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
94240         ALLOW and ACE_OWNER are also defined.
94242 2008-06-08  Bruno Haible  <bruno@clisp.org>
94244         * lib/acl-internal.h: Add me as co-author.
94245         * lib/file-has-acl.c: Likewise.
94246         * lib/set-mode-acl.c: Likewise.
94247         * lib/copy-acl.c: Likewise.
94249 2008-06-08  Bruno Haible  <bruno@clisp.org>
94251         Add support for AIX ACLs.
94252         * lib/acl-internal.h (acl_nontrivial): New declaration.
94253         * lib/file-has-acl.c (acl_nontrivial): New function.
94254         (file_has_acl): Add implementation using AIX 4 ACL API.
94255         * lib/set-mode-acl.c (qset_acl): Likewise.
94256         * lib/copy-acl.c (qcopy_acl): Likewise.
94258 2008-06-08  Bruno Haible  <bruno@clisp.org>
94260         Add support for HP-UX ACLs.
94261         * lib/acl-internal.h (acl_nontrivial): New declaration.
94262         * lib/file-has-acl.c (acl_nontrivial): New function.
94263         (file_has_acl): Add implementation using HP-UX 11 ACL API.
94264         * lib/set-mode-acl.c (qset_acl): Likewise.
94265         * lib/copy-acl.c (qcopy_acl): Likewise.
94267 2008-06-08  Bruno Haible  <bruno@clisp.org>
94269         Add support for Cygwin ACLs.
94270         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
94271         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
94272         the chmod_or_fchmod call.
94273         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
94275 2008-06-08  Bruno Haible  <bruno@clisp.org>
94277         Fix bug with setuid modes in Solaris 10+ code.
94278         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
94279         succeeded, when the mode contains some special bits.
94281 2008-06-08  Bruno Haible  <bruno@clisp.org>
94283         Add support for Solaris 7..10 ACLs.
94284         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
94285         declarations.
94286         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
94287         functions.
94288         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
94289         * lib/set-mode-acl.c (qset_acl): Likewise.
94290         * lib/copy-acl.c (qcopy_acl): Likewise.
94292 2008-06-08  Bruno Haible  <bruno@clisp.org>
94294         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
94295         declaration.
94296         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
94297         (acl_access_nontrivial): Remove MacOS X case.
94298         (file_has_acl): Use acl_extended_nontrivial.
94299         * lib/copy-acl.c (qcopy_acl): Likewise.
94301 2008-06-08  Bruno Haible  <bruno@clisp.org>
94303         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
94305 2008-06-08  Jim Meyering  <meyering@redhat.com>
94307         * modules/acl (Maintainer): Add Bruno Haible.
94309 2008-06-07  Bruno Haible  <bruno@clisp.org>
94311         Improve support for Tru64 ACLs.
94312         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
94313         ACL on OSF/1.
94315 2008-06-07  Bruno Haible  <bruno@clisp.org>
94317         Add support for MacOS X ACLs.
94318         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
94319         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
94320         * lib/set-mode-acl.c (qset_acl): Likewise.
94321         * lib/copy-acl.c (qcopy_acl): Likewise.
94323 2008-06-07  Bruno Haible  <bruno@clisp.org>
94325         Fix memory leak introduced on 2008-05-22.
94326         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
94327         use.
94329 2008-06-07  Bruno Haible  <bruno@clisp.org>
94331         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
94332         to construct an empty ACL.
94334 2008-06-07  Bruno Haible  <bruno@clisp.org>
94336         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
94337         precisely.
94338         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
94340 2008-06-07  Bruno Haible  <bruno@clisp.org>
94342         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
94343         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
94345 2008-06-07  Bruno Haible  <bruno@clisp.org>
94347         * doc/posix-functions/_setjmp.texi: Explain the use of this function
94348         regardless of POSIX.
94349         * doc/posix-functions/_longjmp.texi: Likewise.
94350         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
94351         SystemV platform in this case.
94353 2008-06-06  Eric Blake  <ebb9@byu.net>
94355         Document abort() bugs.
94356         * doc/posix-functions/abort.texi (abort): Mention anomalies.
94358         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
94359         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
94360         sigsetjmp.
94361         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
94362         siglongjmp, but only as a macro.
94363         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
94364         is obsolete.
94365         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
94367         Tweak documentation to cover cygwin argz bugs.
94368         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
94369         argz bug fix; no code change needed since no cygwin releases
94370         occurred between the last fix and the bug being tested.
94371         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
94372         module and recently fixed cygwin bugs.
94373         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
94374         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
94375         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
94376         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
94377         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
94378         Likewise.
94379         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
94380         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
94381         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
94382         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
94383         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
94384         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
94385         Likewise.
94387         Avoid gcc warning on cygwin.
94388         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
94389         !ACL_NO_TRIVIAL]: Avoid unused variable.
94391 2008-06-05  Eric Blake  <ebb9@byu.net>
94393         Be tolerant of UNKNOWN version in gnulib-tool test dir.
94394         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
94395         git-version-gen fails to come up with a version.
94396         Reported by Simon Josefsson.
94398 2008-06-05  Jim Meyering  <meyering@redhat.com>
94399             Paul Eggert  <eggert@cs.ucla.edu>
94401         utimens.c: work around a probable Linux kernel bug
94402         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
94403         appears to be a kernel bug that causes utimensat to return 280
94404         instead of 0, indicating success.
94406 2008-06-04  Bruno Haible  <bruno@clisp.org>
94408         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
94409         2008-06-01 commit.
94411 2008-06-04  Bruno Haible  <bruno@clisp.org>
94413         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
94414         * lib/file-has-acl.c (acl_access_nontrivial): New function.
94415         (file_has_acl): Use it. Save errno afterwards.
94416         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
94418 2008-06-03  Bruno Haible  <bruno@clisp.org>
94420         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
94421         draft code. Simplify #ifs.
94422         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
94423         Put Solaris code after POSIX-draft code. Fix comments regarding
94424         Solaris 10, HP-UX. Mention Cygwin.
94425         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
94427 2008-06-03  Eric Blake  <ebb9@byu.net>
94429         Provide fallback for older kernels.
94430         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
94431         Provide runtime fallback if kernel lacks support.
94432         Reported by Mike Frysinger.
94434 2008-06-02  Bruno Haible  <bruno@clisp.org>
94436         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
94437         it exists.
94439 2008-06-02  Bruno Haible  <bruno@clisp.org>
94441         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
94442         * lib/copy-acl.c (qcopy_acl): Update comment.
94444 2008-06-02  Bruno Haible  <bruno@clisp.org>
94446         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
94447         like ACL APIs.
94449 2008-06-02  Bruno Haible  <bruno@clisp.org>
94451         * tests/test-file-has-acl.sh: Use different code for Cygwin.
94452         * tests/test-set-mode-acl.sh: Likewise.
94453         * tests/test-copy-acl.sh: Likewise.
94454         * tests/test-copy-file.sh: Likewise.
94456 2008-06-02  Bruno Haible  <bruno@clisp.org>
94458         * tests/test-file-has-acl.sh: Remove unused code.
94460 2008-06-01  Bruno Haible  <bruno@clisp.org>
94462         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
94463         (copy_acl): Just a wrapper around qcopy_acl that emits the error
94464         messages.
94465         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
94467 2008-06-01  Bruno Haible  <bruno@clisp.org>
94469         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
94470         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
94471         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
94472         APIs.
94473         * modules/acl-tests (configure.ac): Remove tests now contained in
94474         m4/acl.m4.
94476 2008-06-02  Jim Meyering  <meyering@redhat.com>
94478         announce-gen: use a better key-server host name
94479         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
94480         it may be more consistently reliable.  Suggested by Werner Koch
94481         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
94483 2008-06-01  Bruno Haible  <bruno@clisp.org>
94485         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
94486         Reported by Voroskoi Andras <voroskoi@gmail.com>.
94488 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
94490         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
94492 2008-06-01  Bruno Haible  <bruno@clisp.org>
94494         New ACL tests.
94495         * tests/test-file-has-acl.sh: New file.
94496         * tests/test-file-has-acl.c: New file.
94497         * tests/test-set-mode-acl.sh: New file.
94498         * tests/test-set-mode-acl.c: New file.
94499         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
94500         * tests/test-copy-acl.c: New file.
94501         * modules/acl-tests: New file, based on modules/copy-file-tests.
94502         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
94503         (Depends-on): Add acl-tests.
94504         (configure.ac): Remove checks.
94505         (Makefile.am): Don't create test-sameacls program here any more.
94507 2008-06-01  Bruno Haible  <bruno@clisp.org>
94509         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
94510         * tests/test-sameacls.c: Include progname.h.
94511         (main): Invoke set_program_name. Portability fixes for MacOS X,
94512         Solaris, HP-UX.
94514 2008-06-01  Bruno Haible  <bruno@clisp.org>
94516         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
94517         function.
94518         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
94520 2008-06-01  Bruno Haible  <bruno@clisp.org>
94522         * modules/rpmatch (Depends-on): Add strdup.
94524 2008-06-01  Bruno Haible  <bruno@clisp.org>
94526         * lib/pipe.c: Include unistd-safer.h.
94527         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
94528         * modules/pipe (Depends-on): Add unistd-safer.
94530 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94532         * modules/autobuild (configure.ac): Call AB_INIT.
94534 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94536         * tests/test-getaddrinfo.c: Don't print debug messages by default.
94537         Suggested by Bruno Haible <bruno@clisp.org>.
94539 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94541         * tests/test-base64.c: Cast size_t to unsigned long when invoking
94542         printf.  Use %lu instead of %d.  Reported by Bruno Haible
94543         <bruno@clisp.org>.
94545 2008-05-29  Eric Blake  <ebb9@byu.net>
94547         Prefer new POSIX 200x interfaces over futimesat.
94548         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
94549         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
94550         when available.
94551         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
94553 2008-05-28  Bruno Haible  <bruno@clisp.org>
94555         * modules/stpcpy (License): Change to LGPLv2+.
94556         Requested by David Lutterkort <dlutter@redhat.com>.
94558 2008-05-27  Bruno Haible  <bruno@clisp.org>
94560         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
94561         current mingw.
94562         Reported by Jose E. Marchesi <jemarch@gnu.org>.
94564 2008-05-27  Bruno Haible  <bruno@clisp.org>
94566         * modules/iconv_open (Link): New section, from module 'iconv'.
94567         * modules/striconv (Link): Likewise.
94568         * modules/striconveh (Link): Likewise.
94569         * modules/xstriconv (Link): Likewise.
94570         * modules/unicodeio (Link): Likewise.
94571         * modules/propername (Link): Likewise.
94572         Reported by Jim Meyering.
94574 2008-05-26  Jim Meyering  <meyering@redhat.com>
94576         sha256: do not artificially restrict buffer length to be < 2^32
94577         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
94578         uint32_t to size_t.
94579         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
94580         to match.
94582         avoid unaligned access errors, e.g., on sparc
94583         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
94584         direct access through a possibly-unaligned uint64* pointer.
94585         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
94586         direct access through a possibly-unaligned uint32* pointer.
94587         Prompted by this patch from Tom "spot" Callaway:
94588         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
94590         sha512.c: fix typo in comment
94591         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
94593 2008-05-25  Bruno Haible  <bruno@clisp.org>
94595         * lib/set-mode-acl.c: Renamed from lib/acl.c.
94596         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
94597         (Makefile.am): Update lib_SOURCES.
94599 2008-05-25  Bruno Haible  <bruno@clisp.org>
94601         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
94603 2008-05-25  Jim Meyering  <meyering@redhat.com>
94605         useless-if-before-free: freed expr may have white-space differences
94606         * build-aux/useless-if-before-free: Recognize cases in which the
94607         freed expression differs from the tested one in embedded white
94608         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
94609         $1 was used, so we can't make any regexp shy.  Improved tests now
94610         detect this.
94612         useless-if-before-free: accept white space in the expression.
94613         * build-aux/useless-if-before-free: For now, any white space
94614         in the expression must be identical in the free argument.
94616         useless-if-before-free: efficiency tweak
94617         * build-aux/useless-if-before-free: Make the expression-matching
94618         regexp "shy".
94619         Make the *outer* regexp shy, not the expr-matching one.
94621         update code-in-comment to accept cast of free arg
94622         * build-aux/useless-if-before-free: Update regexp.
94624 2008-05-25  Bruno Haible  <bruno@clisp.org>
94626         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
94627         * modules/copy-file-tests (Files, Makefile.am): Update.
94628         * tests/test-copy-file.c (func_test_copy): Update.
94630 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
94632         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
94634 2008-05-23  Bruno Haible  <bruno@clisp.org>
94636         Improve support for ACLs on OSF/1.
94637         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
94638         Remove fallback for unknown flavors of ACLs.
94640 2008-05-22  Bruno Haible  <bruno@clisp.org>
94642         Add support for ACLs on OSF/1.
94643         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
94644         replacements.
94645         (acl_free_text): New macro fallback.
94646         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
94647         acl_free.
94648         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
94649         acl_free_text function. Require AC_C_INLINE.
94651 2008-05-22  Bruno Haible  <bruno@clisp.org>
94653         Make copy_acl work on MacOS X 10.5.
94654         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
94655         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
94656         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
94657         If MODE_INSIDE_ACL, don't assume that every system has the same text
94658         representation for ACLs as FreeBSD.
94659         * lib/copy-acl.c (copy_acl): Add support for platforms with
94660         !MODE_INSIDE_ACL.
94661         * lib/file-has-acl.c (file_has_acl): Likewise.
94662         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
94663         FreeBSD, MacOS X, or IRIX, respectively.
94665 2008-05-22  Bruno Haible  <bruno@clisp.org>
94667         * lib/acl.h: Don't include <sys/acl.h>.
94668         (GETACLCNT): Move fallback to lib/acl-internal.h.
94669         * lib/acl-internal.h: Include <sys/acl.h> here.
94670         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
94672 2008-05-22  Bruno Haible  <bruno@clisp.org>
94674         Split off copy_acl function to separate file.
94675         * lib/copy-acl.c: New file, extracted from lib/acl.c.
94676         * lib/acl.c (copy_acl): Moved function to separate file.
94677         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
94678         * modules/acl (Files): Add lib/copy-acl.c.
94679         (Makefiles.am): Augment lib_SOURCES.
94681 2008-05-22  Bruno Haible  <bruno@clisp.org>
94683         * modules/copy-file-tests: New file.
94684         * tests/test-copy-file.sh: New file.
94685         * tests/test-copy-file.c: New file.
94686         * tests/test-copy-file-sameacls.c: New file.
94688 2008-05-22  Eric Blake  <ebb9@byu.net>
94690         Avoid gcc warning.
94691         * tests/test-memcmp.c (main): Pass NULL indirectly.
94693 2008-05-21  Bruno Haible  <bruno@clisp.org>
94695         Add reference doc about ACLs.
94696         * doc/acl-resources.txt: New file.
94697         * doc/acl-cygwin.txt: New file.
94699 2008-05-21  Bruno Haible  <bruno@clisp.org>
94701         Avoid one more warning from gcc.
94702         * lib/vasnprintf.c (IF_LINT): Update comments.
94703         (VASNPRINTF): Use it also for the 'prefix' array initializer.
94705 2008-05-21  Jim Meyering  <meyering@redhat.com>
94707         avoid a warning from gcc
94708         * lib/vasnprintf.c (IF_LINT): Define.
94709         (scale10_round_decimal_long_double):
94710         Use it to avoid a "may be used uninitialized" warning.
94711         (scale10_round_decimal_double): Likewise.
94713 2008-05-21  Simon Josefsson  <simon@josefsson.org>
94715         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
94716         declared.
94718 2008-05-20  Bruno Haible  <bruno@clisp.org>
94720         * tests/test-memcmp.c (main): Test also the sign of the result. Test
94721         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
94723 2008-05-20  Simon Josefsson  <simon@josefsson.org>
94725         * modules/memcmp-tests: New file.
94726         * tests/test-memcmp.c: New file.
94728 2008-05-19  Bruno Haible  <bruno@clisp.org>
94730         * modules/propername (Notice, configure.ac): Put quoted "..." into
94731         --keyword option.
94732         * lib/propername.h: Update comments accordingly.
94733         Reported by Eric Blake.
94735 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
94737         * modules/getpass-gnu (Depends-on): Add fseeko.
94739 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94741         * modules/base64-tests: New file.
94743 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
94745         * lib/base64.c (base64_decode_ctx): If a decode context structure
94746         was passed in use it to ignore newlines.  If a context structure
94747         was _not_ passed in, continue to treat newlines as garbage (this
94748         is the historical behavior).  Formerly base64_decode.
94749         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94750         takes a decode context structure.
94751         * lib/base64.h (base64_decode): Macro for four-argument calls.
94752         (base64_decode_alloc): Likewise.
94753         * lib/base64.c (base64_decode_ctx): If a decode context structure
94754         was passed in use it to ignore newlines.  If a context structure
94755         was _not_ passed in, continue to treat newlines as garbage (this
94756         is the historical behavior).  Formerly base64_decode.
94757         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94758         takes a decode context structure.
94759         * lib/base64.h (base64_decode): Macro for four-argument calls.
94760         (base64_decode_alloc): Likewise.
94762 2008-05-19  Jim Meyering  <meyering@redhat.com>
94764         avoid a warning from gcc
94765         * lib/trim.c (IF_LINT): Define.
94766         (trim2): Use it to avoid a "may be used uninitialized" warning.
94768         Fix doc typo.
94769         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
94771 2008-05-19  Bruno Haible  <bruno@clisp.org>
94773         * doc/glibc-functions/getpass.texi: Document limits of other
94774         implementations.
94776 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94777             Bruno Haible <bruno@clisp.org>
94779         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
94781 2008-05-18  Bruno Haible  <bruno@clisp.org>
94783         * modules/propername: New file, from GNU gettext.
94784         * lib/propername.h: New file, from GNU gettext.
94785         * lib/propername.c: New file, from GNU gettext.
94786         * MODULES.html.sh (Internationalization functions): Add propername.
94788 2008-05-16  Jim Meyering  <meyering@redhat.com>
94789             Bruno Haible  <bruno@clisp.org>
94791         Avoid some warnings from "gcc -Wshadow".
94792         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
94794 2008-05-15  Eric Blake  <ebb9@byu.net>
94796         Extend previous patch to cygwin 1.7.0.
94797         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
94798         fast implementation in cygwin >= 1.7.0.
94799         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94800         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94802 2008-05-15  Bruno Haible  <bruno@clisp.org>
94804         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
94805         implementation in glibc >= 2.9.
94806         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94807         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94809 2008-05-15  Bruno Haible  <bruno@clisp.org>
94811         * MODULES.html.sh (Internationalization functions): Remove linebreak.
94812         (Unicode string functions): Add unilbrk/*.
94813         Reported by Karl Berry.
94815 2008-05-15  Eric Blake  <ebb9@byu.net>
94817         Fix violation of <stdbool.h> replacement in regex.
94818         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
94819         * lib/regexec.c (re_search_internal): Likewise.
94820         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
94822 2008-05-15  Jim Meyering  <meyering@redhat.com>
94824         avoid distracting test output when git or cvs is not found
94825         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
94826         * tests/test-vc-list-files-git.sh: Likewise.
94828 2008-05-15  Eric Blake  <ebb9@byu.net>
94830         Glibc finally accepted the memmem speedup code, bugzilla #5514.
94831         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
94832         glibc version.
94833         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
94834         * doc/posix-functions/strstr.texi (strstr): Likewise.
94835         * lib/str-two-way.h (MAX): Sychronize with glibc.
94837 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
94839         * lib/regcomp.c (optimize_utf8): Add a note on why we test
94840         opr.ctx_type.
94841         (calc_first): Initialize constraint field.
94842         (duplicate_node_closure): Use it instead of special casing ANCHORS.
94843         Fix grammar.
94844         (duplicate_node): Merge constraint field for all node types.
94845         (calc_eclosure_iter): Look at constraint field for all node types.
94846         * lib/regex_internal.c (create_cd_newstate): Don't look at
94847         opr.ctx_type.
94849 2008-05-14  Bruno Haible  <bruno@clisp.org>
94851         Help GCC to do better code generation.
94852         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
94853         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
94854         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
94855         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
94856         Declare with attribute 'malloc' if supported.
94858 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
94860         use "echo STR|wc -c" rather than unportable "expr length STR"
94861         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
94862         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
94864 2008-05-14  Jim Meyering  <meyering@redhat.com>
94866         use dd ibs=$n count=1 ... rather than less-portable head -c$n
94867         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
94868         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
94869         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
94870         via Collin Lasse.
94872 2008-05-14  Eric Blake  <ebb9@byu.net>
94874         Avoid quadratic growth in gl_LIBSOURCES.
94875         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
94876         Suggested by Bruno Haible.
94878         Test xmemdup0.
94879         * modules/xmemdup0-tests: New file.
94880         * tests/test-xmemdup0.c: Likewise.
94882 2008-05-13  Eric Blake  <ebb9@byu.net>
94884         Split xmemdup0 into its own module.
94885         * modules/xmemdup0: New file.
94886         * lib/xmemdup0.h: Likewise.
94887         * lib/xmemdup0.c: Likewise.
94888         * MODULES.html.sh (Memory management functions): Add xmemdup0.
94889         * lib/xalloc.h (xmemdup0): Remove.
94890         * lib/xmalloc.c (xmemdup0): Likewise.
94892 2008-05-13  Eric Blake  <ebb9@byu.net>
94893             Bruno Haible  <bruno@clisp.org>
94895         Reduce number of forks required during autoconf.
94896         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
94897         and gl_LIBSOURCES_DIR.
94898         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
94899         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
94900         m4_syscmd per file.
94901         <m4_foreach_w>: Move...
94902         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
94904 2008-05-13  Eric Blake  <ebb9@byu.net>
94906         * gnulib-tool: Fix various comment typos.
94908 2008-05-12  Bruno Haible  <bruno@clisp.org>
94910         Tailor the linebreaking algorithm.
94911         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
94913 2008-05-12  Bruno Haible  <bruno@clisp.org>
94915         Update to Unicode 5.0.0.
94916         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94917         LBP_JV, LBP_JT. Redistribute values.
94918         (unilbrk_table): Change size.
94919         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
94920         Unicode TR#14 rev. 22.
94921         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94922         LBP_JV, LBP_JT. Redistribute values.
94923         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
94924         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
94925         Update.
94926         * lib/unilbrk/lbrkprop1.h: Regenerated.
94927         * lib/unilbrk/lbrkprop2.h: Regenerated.
94928         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
94929         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
94930         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
94931         Likewise.
94932         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
94933         Likewise.
94934         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
94935         result.
94936         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
94937         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
94938         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
94939         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
94940         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
94941         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
94943 2008-05-11  Bruno Haible  <bruno@clisp.org>
94945         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
94947 2008-05-11  Bruno Haible  <bruno@clisp.org>
94949         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
94950         * modules/unilbrk/gen-lbrk: New file.
94952 2008-05-11  Bruno Haible  <bruno@clisp.org>
94954         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
94955         * m4/sha512.m4 (gl_SHA512): Likewise.
94957 2008-05-11  Jim Meyering  <meyering@redhat.com>
94959         New modules: crypto/sha256, crypto/sha512 (from coreutils)
94960         * modules/crypto/sha256: New file.
94961         * modules/crypto/sha512: Likewise.
94962         * lib/sha256.c: Likewise.
94963         * lib/sha256.h: Likewise.
94964         * lib/sha512.c: Likewise.
94965         * lib/sha512.h: Likewise.
94966         * lib/u64.h: Likewise.
94967         * m4/sha256.m4: Likewise.
94968         * m4/sha512.m4: Likewise.
94969         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
94971 2008-05-10  Bruno Haible  <bruno@clisp.org>
94973         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
94974         (Input/Output <stdio.h>): Add xprintf.
94975         (Signal handling <signal.h>): Add strsignal.
94976         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
94977         (Core language properties): Add func.
94978         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
94979         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
94980         strings.
94981         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
94982         (Input/output): New section.
94983         (File system functions): Add openat-die, stat-macros.
94984         (Networking functions): Add sockets.
94985         (Unicode string functions): Add unictype/*.
94986         (Support for building libraries and executables): Add gperf.
94987         (Support for building documentation): Add agpl-3.0.
94988         (Misc): Add nocrash.
94990 2008-05-10  Bruno Haible  <bruno@clisp.org>
94992         * modules/unictype/gen-ctype: New file.
94994 2008-05-10  Jim Meyering  <meyering@redhat.com>
94996         Make chdir-safer.c more efficient on a system with no symlinks.
94997         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
94998         also if ELOOP is zero.  Suggested by Bruno Haible.
95000         Make chdir-safer.c slightly safer.
95001         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
95002         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
95004         Avoid compile failure on systems without ELOOP (like mingw).
95005         * lib/chdir-safer.c (ELOOP): Define if not already defined.
95006         Reported by Bruno Haible.
95008 2008-05-10  Bruno Haible  <bruno@clisp.org>
95010         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
95011         (is_utf8_encoding): Use a case-insensitive comparison.
95012         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
95013         streq.
95015 2008-05-10  Bruno Haible  <bruno@clisp.org>
95017         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
95018         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
95019         * lib/unilbrk/ulc-common.h (iconv_string_length,
95020         iconv_string_keeping_offsets): Remove declarations.
95021         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
95022         Don't include <iconv.h>, streq.h, xsize.h.
95023         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
95024         conversion.
95025         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
95026         <iconv.h>, streq.h, xsize.h.
95027         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
95028         conversion.
95029         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
95030         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
95031         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
95032         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
95034 2008-05-10  Bruno Haible  <bruno@clisp.org>
95036         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
95037         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
95039         * modules/unilbrk/u32-width-linebreaks-tests: New file.
95040         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
95042         * modules/unilbrk/u16-width-linebreaks-tests: New file.
95043         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
95045         * modules/unilbrk/u8-width-linebreaks-tests: New file.
95046         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
95048         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
95049         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
95051         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
95052         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
95054         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
95055         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
95057         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
95058         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
95060 2008-05-10  Bruno Haible  <bruno@clisp.org>
95062         Split up 'linebreak' module.
95063         * lib/unilbrk.h: New file, based on lib/linebreak.h.
95064         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
95065         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
95066         modifications.
95067         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
95068         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
95069         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
95070         lib/linebreak.c.
95071         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
95072         lib/linebreak.c.
95073         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
95074         lib/linebreak.c.
95075         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
95076         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
95077         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
95078         lib/linebreak.c.
95079         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
95080         lib/linebreak.c.
95081         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
95082         lib/linebreak.c.
95083         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
95084         lib/linebreak.c.
95085         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
95086         lib/linebreak.c.
95087         * modules/unilbrk/base: New file.
95088         * modules/unilbrk/tables: New file.
95089         * modules/unilbrk/u8-possible-linebreaks: New file.
95090         * modules/unilbrk/u16-possible-linebreaks: New file.
95091         * modules/unilbrk/u32-possible-linebreaks: New file.
95092         * modules/unilbrk/ulc-common: New file.
95093         * modules/unilbrk/ulc-possible-linebreaks: New file.
95094         * modules/unilbrk/u8-width-linebreaks: New file.
95095         * modules/unilbrk/u16-width-linebreaks: New file.
95096         * modules/unilbrk/u32-width-linebreaks: New file.
95097         * modules/unilbrk/ulc-width-linebreaks: New file.
95098         * lib/linebreak.h: Remove file.
95099         * lib/linebreak.c: Remove file.
95100         * m4/linebreak.m4: Remove file.
95101         * modules/linebreak: Remove file.
95102         * NEWS: Mention the changes.
95104 2008-05-09  Eric Blake  <ebb9@byu.net>
95106         Add xmemdup0.
95107         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
95108         implementation.
95109         * lib/xmalloc.c (xmemdup0): New C implementation.
95111 2008-05-08  Bruno Haible  <bruno@clisp.org>
95113         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
95115 2008-05-07  Eric Blake  <ebb9@byu.net>
95117         Support cross-compilation of <wctype.h>.
95118         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
95119         AC_CACHE_CHECK.
95121 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
95123         * build-aux/vc-list-files: Add support for bzr.
95125 2008-05-03  Jim Meyering  <meyering@redhat.com>
95127         avoid failed assertion with tight malloc
95128         * tests/test-getndelim2.c: Correct an off-by-one assertion.
95130 2008-05-03  Simon Josefsson  <simon@josefsson.org>
95132         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
95133         are needed from arpa/inet.h.
95134         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
95135         Reported by Bruno Haible.
95137 2008-05-02  Jim Meyering  <meyering@redhat.com>
95139         avoid compilation error on FreeBSD 6
95140         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
95142 2008-05-01  Jim Meyering  <meyering@redhat.com>
95144         useless-if-before-free: correct --help's exit status description
95145         * build-aux/useless-if-before-free (usage): Like grep, exit 0
95146         for one or more matches, etc.  Reported by Bruno Haible.
95148         vc-list-files: make the stand-alone gnulib test work
95149         * modules/vc-list-files-tests (configure.ac):
95150         Define and AC_SUBST abs_aux_dir.
95151         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
95152         $(abs_top_srcdir) to each script and having each of them
95153         duplicate the work of setting PATH, set PATH here, using
95154         the new variable, abs_aux_dir instead.
95155         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
95156         * tests/test-vc-list-files-git.sh: Likewise.
95157         Reported by Bruno Haible.
95159 2008-05-01  Bruno Haible  <bruno@clisp.org>
95161         * lib/getndelim2.c (getndelim2): Fix newsize computation during
95162         reallocation. Rename 'done' to 'found_delimiter'.
95164 2008-05-01  Jim Meyering  <meyering@redhat.com>
95166         vc-list-files: accommodate /bin/sh like the one from Solaris 10
95167         * build-aux/vc-list-files: Use `...`, not $(...).
95169 2008-04-30  Jim Meyering  <meyering@redhat.com>
95171         add tests for vc-list-files
95172         * modules/vc-list-files-tests: New module.
95173         * tests/test-vc-list-files-cvs.sh: New file.
95174         * tests/test-vc-list-files-git.sh: New file.
95176         avoid a warning from gcc
95177         * lib/getndelim2.c (IF_LINT): Define.
95178         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
95180         vc-list-files: work properly with build-aux/cvsu, too
95181         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
95182         to all cvs-based clauses.
95184         vc-list-files: work properly in the CVS+awk case, too
95185         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
95187         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
95188         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
95189         take more than one file argument, so .  Add quotes, just in case $dir
95190         ever contains a shell meta-character.  Prompted by Soren Hansen in
95191         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
95193 2008-04-29  Eric Blake  <ebb9@byu.net>
95195         Optimize getndelim2 to use block operations when possible.
95196         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
95197         freadseek, and memchr2.
95198         * lib/getndelim2.c (getndelim2): Use them for block reads.
95200 2008-04-29  Bruno Haible  <bruno@clisp.org>
95202         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
95203         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95204         * modules/inet_ntop (Depends-on): Add extensions.
95205         * modules/inet_pton (Depends-on): Likewise.
95206         Reported by Simon Josefsson.
95208 2008-04-29  Jim Meyering  <meyering@redhat.com>
95210         When the is more than one match in a block, match all of them.
95211         * build-aux/useless-if-before-free: Iterate through each block
95212         until there are no more matches.
95214         Fix broken useless-if-before-free script.
95215         * build-aux/useless-if-before-free: Fix typo: missing "?" after
95216         the expression to match cast of argument to free-like function.
95218 2008-04-29  Eric Blake  <ebb9@byu.net>
95220         Use new header.
95221         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
95223 2008-04-29  Jim Meyering  <meyering@redhat.com>
95225         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
95226         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
95227         by gnulib to exist and to declare e.g., inet_ntop.
95228         Don't include "inet_ntop.h", now removed.
95230         * m4/arpa_inet_h.m4: Remove trailing blanks.
95232 2008-04-29  Eric Blake  <ebb9@byu.net>
95234         Silence valgrind on safe reads beyond potential array bounds.
95235         * lib/rawmemchr.valgrind: New file.
95236         * lib/strchrnul.valgrind: Likewise.
95237         * modules/rawmemchr (Files): Distribute new file.
95238         * modules/strchrnul (Files): Likewise.
95239         Suggested by Bruno Haible.
95241 2008-04-29  Bruno Haible  <bruno@clisp.org>
95243         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
95244         (inet_ntop, inet_pton): Change portability warning's wording.
95245         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
95246         Invoke gl_CHECK_NEXT_HEADERS.
95247         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
95248         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
95249         set ARPA_INET_H.
95250         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95251         * modules/arpa_inet (Description): No longer only for systems that
95252         lack it.
95253         (Depends-on): Add include_next.
95254         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
95255         HAVE_ARPA_INET_H.
95257 2008-04-29  Jim Meyering  <meyering@redhat.com>
95259         * modules/mkdir (License): Re-license as LGPLv2+.
95261 2008-04-29  Bruno Haible  <bruno@clisp.org>
95263         * modules/rawmemchr (Maintainer): Set to Eric.
95264         * modules/strchrnul (Maintainer): Likewise.
95266 2008-04-29  Simon Josefsson  <simon@josefsson.org>
95268         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
95269         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
95271         * modules/arpa_inet (arpa/inet.h): Use them.
95273 2008-04-28  Eric Blake  <ebb9@byu.net>
95275         Test getndelim2.
95276         * modules/getndelim2-tests: New file.
95277         * tests/test-getndelim2.c: Likewise.
95278         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
95279         stream.
95280         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
95282         * MODULES.html.sh: Document new module.
95284 2008-04-20  Bruno Haible  <bruno@clisp.org>
95286         * lib/c-stack.c (die): Use raise.
95287         * modules/c-stack (Depends-on): Add raise.
95289 2008-04-28  Bruno Haible  <bruno@clisp.org>
95291         Expect rpmatch to be declared.
95292         * lib/yesno.c (rpmatch): Remove declaration.
95294         Declare rpmatch.
95295         * lib/stdlib.in.h (rpmatch): New declaration.
95296         * lib/rpmatch.c: Include <stdlib.h> first.
95297         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
95298         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
95299         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
95300         HAVE_RPMATCH.
95301         * modules/rpmatch (Depends-on): Add stdlib, extensions.
95302         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
95303         (Include): Set to <stdlib.h>.
95304         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
95305         HAVE_RPMATCH.
95306         * NEWS: Document the change.
95308 2008-04-28  Bruno Haible  <bruno@clisp.org>
95310         Change rpmatch to use nl_langinfo when appropriate.
95311         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
95312         (N_): New macro.
95313         (localized_pattern): New function/macro.
95314         (try): Remove match, nomatch arguments. Copy the pattern into safe
95315         memory before caching it.
95316         (rpmatch): Use localized_pattern. Add translator comments.
95317         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
95318         Suggested by Eric Blake.
95319         * modules/rpmatch (Depends-on): Add stdbool.
95321 2008-04-28  Eric Blake  <ebb9@byu.net>
95323         Add rawmemchr module, matching glibc.
95324         * modules/string (Makefile.am): New indicator.
95325         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
95326         * lib/string.in.h (rawmemchr): Declare when appropriate.
95327         * modules/rawmemchr: New file.
95328         * m4/rawmemchr.m4: Likewise.
95329         * lib/rawmemchr.c: Likewise.
95330         * modules/rawmemchr-tests: Likewise.
95331         * tests/test-rawmemchr.c: Likewise.
95332         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
95333         module.
95334         * modules/strchrnul (Depends-on): Add rawmemchr.
95335         * lib/strchrnul.c (strchrnul): Optimize a corner case.
95337         Whitespace cleanup.
95338         * tests/test-strchrnul.c: Reindent.
95339         * lib/strchrnul.c: Likewise.
95341         Optimize and test strchrnul.
95342         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
95343         * modules/strchrnul-tests: New file.
95344         * tests/test-strchrnul.c: Likewise.
95346         Remove intprops dependency.
95347         * modules/memchr (Depends-on): Remove intprops.
95348         * modules/memrchr (Depends-on): Likewise.
95349         * modules/memchr2 (Depends-on): Likewise.
95350         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
95351         * lib/memrchr.c (__memrchr): Likewise.
95352         * lib/memrchr2.c (memchr2): Likewise.
95353         Reported by Simon Josefsson.
95355 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95357         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
95358         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95360 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95362         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
95364         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
95366         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
95368         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
95369         declarations.
95370         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
95372         * m4/inet_pton.m4: Don't check for header files.
95374         * m4/inet_ntop.m4: Don't check for header files.
95376 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95378         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
95379         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
95380         trigger for cygwin).
95381         Reported by Bruno Haible  <bruno@clisp.org>.
95383 2008-04-28  Bruno Haible  <bruno@clisp.org>
95385         * doc/posix-functions/strdup.texi: Mention mingw problem.
95387 2008-04-27  Bruno Haible  <bruno@clisp.org>
95389         * modules/stat-time-tests (Depends-on): Add sleep.
95390         * tests/test-stat-time.c (force_unlink): New function.
95391         (cleanup): Use it.
95392         (test_mtime): Remove the ctime related tests.
95393         (test_ctime): New function, containing the ctime related tests.
95394         (main): Call test_ctime, except on native Windows platforms.
95396 2008-04-27  Bruno Haible  <bruno@clisp.org>
95398         * lib/rpmatch.c (rpmatch): Add some comments.
95399         Reported by James Youngman <jay@gnu.org>.
95401 2008-04-27  Bruno Haible  <bruno@clisp.org>
95403         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
95404         quiet NaNs.
95406 2008-04-27  Bruno Haible  <bruno@clisp.org>
95408         Make test-yesno.sh work on mingw.
95409         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
95410         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
95411         (main): Set stdin to binary mode.
95412         * modules/yesno-tests (Depends-on): Add binary-io.
95414 2008-04-27  Bruno Haible  <bruno@clisp.org>
95416         Fix 'isfinite' on x86, x86_64, ia64 platforms.
95417         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
95418         argument that lie outside the IEEE 854 domain.
95419         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
95420         (gl_ISFINITE): Use it.
95421         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
95423 2008-04-27  Bruno Haible  <bruno@clisp.org>
95425         Allow local renaming in config.h.
95426         * lib/memrchr.c (memrchr): Don't undefine outside libc.
95428 2008-04-27  Bruno Haible  <bruno@clisp.org>
95430         * lib/memchr.c (__memchr): Change type of 'i'.
95431         * lib/memchr2.c (memchr2): Likewise.
95433 2008-04-26  Eric Blake  <ebb9@byu.net>
95434         and Bruno Haible  <bruno@clisp.org>
95436         Optimize and test memrchr.
95437         * modules/memrchr (Depends-on): Add intprops.
95438         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
95439         * modules/memrchr-tests: New file.
95440         * tests/test-memrchr.c: New file.
95442 2008-04-26  Bruno Haible  <bruno@clisp.org>
95444         Add tentative support for DragonFly BSD.
95445         * lib/stdio-impl.h: Add macros for DragonFly BSD.
95446         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
95447         fp.
95448         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95449         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
95450         * lib/fpurge.c (fpurge): Likewise.
95451         * lib/freadable.c (freaadable): Likewise.
95452         * lib/freadahead.c (freadahead): Likewise.
95453         * lib/freading.c (freading): Likewise.
95454         * lib/freadptr.c (freadptr): Likewise.
95455         * lib/freadseek.c (freadptrinc): Likewise.
95456         * lib/fseeko.c (fseeko): Likewise.
95457         * lib/fseterr.c (fseterr): Likewise.
95458         * lib/fwritable.c (fwritable): Likewise.
95459         * lib/fwriting.c (fwriting): Likewise.
95461 2008-04-26  Bruno Haible  <bruno@clisp.org>
95463         * lib/stdio-impl.h: New file.
95464         * lib/fbufmode.c: Include stdio-impl.h.
95465         (fbufmode): Use fp_, remove redundant #defines.
95466         * lib/fflush.c: Include stdio-impl.h.
95467         (clear_ungetc_buffer): Remove redundant #defines.
95468         * lib/fpurge.c: Include stdio-impl.h.
95469         (fpurge): Remove redundant #defines.
95470         * lib/freadable.c: Include stdio-impl.h.
95471         (freadable): Remove redundant #defines.
95472         * lib/freadahead.c: Include stdio-impl.h.
95473         (freadahead): Remove redundant #defines.
95474         * lib/freading.c: Include stdio-impl.h.
95475         (freading): Remove redundant #defines.
95476         * lib/freadptr.c: Include stdio-impl.h.
95477         (freadptr): Remove redundant #defines.
95478         * lib/freadseek.c: Include stdio-impl.h.
95479         (freadptrinc): Remove redundant #defines.
95480         * lib/fseeko.c: Include stdio-impl.h.
95481         (rpl_fseeko): Remove redundant #defines.
95482         * lib/fseterr.c: Include stdio-impl.h.
95483         (fseterr): Remove redundant #defines.
95484         * lib/fwritable.c: Include stdio-impl.h.
95485         (fwritable: Remove redundant #defines.
95486         * lib/fwriting.c: Include stdio-impl.h.
95487         (fwriting): Remove redundant #defines.
95488         * modules/fbufmode (Files): Add lib/stdio-impl.h.
95489         * modules/fflush (Files): Likewise.
95490         * modules/fpurge (Files): Likewise.
95491         * modules/freadable (Files): Likewise.
95492         * modules/freadahead (Files): Likewise.
95493         * modules/freading (Files): Likewise.
95494         * modules/freadptr (Files): Likewise.
95495         * modules/freadseek (Files): Likewise.
95496         * modules/fseeko (Files): Likewise.
95497         * modules/fseterr (Files): Likewise.
95498         * modules/fwritable (Files): Likewise.
95499         * modules/fwriting (Files): Likewise.
95501 2008-04-26  Bruno Haible  <bruno@clisp.org>
95503         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95504         restore_seek_optimization, update_fpos_cache): New functions, extracted
95505         from rpl_fflush.
95506         (rpl_fflush): Use them.
95507         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
95508         (gl_REPLACE_FFLUSH): Use it.
95510 2008-04-26  Bruno Haible  <bruno@clisp.org>
95512         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
95513         on Solaris.
95514         * tests/test-xstrtoimax.sh: Likewise.
95515         * tests/test-xstrtoumax.sh: Likewise.
95516         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95518 2008-04-26  Bruno Haible  <bruno@clisp.org>
95520         * modules/memchr-tests: New file.
95521         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
95523 2008-04-26  Eric Blake  <ebb9@byu.net>
95524             Bruno Haible  <bruno@clisp.org>
95526         * lib/memchr.c: Include intprops.h.
95527         (__memchr): Optimize parallel detection of matching bytes. Rename local
95528         variables. Add explanatory comments.
95530 2008-04-26  Bruno Haible  <bruno@clisp.org>
95532         Fix module 'memchr', broken since 2000-10-28.
95533         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
95535 2008-04-26  Bruno Haible  <bruno@clisp.org>
95537         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
95538         comments.
95540 2008-04-25  Eric Blake  <ebb9@byu.net>
95542         Use native fstatat on cygwin 1.7.0.
95543         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
95544         first.
95546 2008-04-23  Eric Blake  <ebb9@byu.net>
95548         Improve memchr2 performance.
95549         * lib/memchr2.c (memchr2): Further optimize parallel detection of
95550         NUL bytes.
95551         * modules/memchr2 (Depends-on): Use intprops.h.
95553 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95555         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
95556         an inline function instead of a CPP macro.  Patch by Ben Pfaff
95557         <blp@cs.stanford.edu>.
95559 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95561         * lib/arpa_inet.in.h: New file.
95563         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
95564         (Makefile.am): Sed in substitute header file.
95566         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
95567         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
95569         * modules/inet_ntop (configure.ac): Use
95570         gl_ARPA_INET_MODULE_INDICATOR.
95572         * modules/inet_pton (configure.ac): Use
95573         gl_ARPA_INET_MODULE_INDICATOR.
95575 2008-04-22  Jim Meyering  <meyering@redhat.com>
95577         * modules/verify (License): Re-license as LGPLv2+.
95579 2008-04-22  Simon Josefsson  <simon@josefsson.org>
95581         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
95582         parameter to void* as per POSIX standard (MinGW uses char*).
95584 2008-04-21  Bruno Haible  <bruno@clisp.org>
95586         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
95587         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
95588         Define to replacements if REPLACE_ISWCNTRL is 1.
95589         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
95590         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
95591         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
95592         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
95593         what it fixes.
95594         * doc/posix-functions/iswalpha.texi: Likewise.
95595         * doc/posix-functions/iswblank.texi: Likewise.
95596         * doc/posix-functions/iswcntrl.texi: Likewise.
95597         * doc/posix-functions/iswdigit.texi: Likewise.
95598         * doc/posix-functions/iswgraph.texi: Likewise.
95599         * doc/posix-functions/iswlower.texi: Likewise.
95600         * doc/posix-functions/iswprint.texi: Likewise.
95601         * doc/posix-functions/iswpunct.texi: Likewise.
95602         * doc/posix-functions/iswspace.texi: Likewise.
95603         * doc/posix-functions/iswupper.texi: Likewise.
95604         * doc/posix-functions/iswxdigit.texi: Likewise.
95605         Reported by Alain Guibert.
95607 2008-04-21  Bruno Haible  <bruno@clisp.org>
95609         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
95610         Patch by Alain Guibert.
95612 2008-04-21  Bruno Haible  <bruno@clisp.org>
95614         Fix test failures on mingw.
95615         * tests/test-xstrtol.c (print_no_progname): New function.
95616         (main): Install it in error_print_progname hook.
95617         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
95618         * tests/test-xstrtoimax.sh: Likewise.
95619         * tests/test-xstrtoumax.sh: Likewise.
95621 2008-04-21  Bruno Haible  <bruno@clisp.org>
95623         Fix test failure on mingw.
95624         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
95626 2008-04-21  Bruno Haible  <bruno@clisp.org>
95628         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
95629         Actually assign a value.
95631 2008-04-20  Bruno Haible  <bruno@clisp.org>
95633         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
95634         take 2.
95635         * lib/canonicalize.c (canonicalize_file_name): Elide if the
95636         'canonicalize-lgpl' module is also used.
95637         * lib/canonicalize-lgpl.c: Undo last change.
95638         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
95640 2008-04-20  Bruno Haible  <bruno@clisp.org>
95642         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
95643         config.h. Provide _mkdir based fallback for mingw.
95644         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
95645         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
95646         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
95647         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
95648         rather than defining mkdir in config.h.
95649         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
95650         (gl_SYS_STAT_H_DEFAULTS): New macro.
95651         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
95652         HAVE_IO_H any more.
95653         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
95654         HAVE_DECL_MKDIR and HAVE_IO_H.
95656 2008-04-20  Bruno Haible  <bruno@clisp.org>
95658         * lib/isapipe.c: Port to native Windows platforms.
95660 2008-04-20  Bruno Haible  <bruno@clisp.org>
95662         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
95664 2008-04-21  Eric Blake  <ebb9@byu.net>
95666         Work around preprocessors that don't handle UINTMAX_MAX.
95667         * lib/memchr2.c (memchr2): Avoid embedded #if.
95668         Reported by Alain Guibert, fix suggested by Bruno Haible.
95670 2008-04-21  Simon Josefsson  <simon@josefsson.org>
95672         * doc/posix-functions/strftime.texi (strftime): Explain better
95673         Windows incompatibility.  Suggested by Micah Cowan
95674         <micah@cowan.name>.
95676 2008-04-20  Bruno Haible  <bruno@clisp.org>
95678         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
95679         unistr/u8-mblen.
95681 2008-04-20  Bruno Haible  <bruno@clisp.org>
95683         Fix test failure on platforms with non-GNU iconv.
95684         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
95685         (U_TO_U8): Use it, rather than u16_to_u8.
95686         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
95687         units at the end of the input string.
95688         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
95690 2008-04-20  Bruno Haible  <bruno@clisp.org>
95692         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
95693         when the resulting length is 0.
95694         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
95696 2008-04-20  Bruno Haible  <bruno@clisp.org>
95698         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
95699         works.
95700         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
95702 2008-04-20  Bruno Haible  <bruno@clisp.org>
95704         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
95705         * modules/tsearch-tests (configure.ac): Test for initstate function.
95707 2008-04-20  Bruno Haible  <bruno@clisp.org>
95709         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
95710         for nlink_t if missing.
95711         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
95713 2008-04-19  Bruno Haible  <bruno@clisp.org>
95715         Work around snprintf bug on Linux libc5.
95716         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
95717         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
95718         gl_SNPRINTF_SIZE1.
95719         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
95720         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
95721         that test failed.
95722         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
95723         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
95724         * modules/snprintf (Files): Add m4/printf.m4.
95725         * modules/vsnprintf (Files): Likewise.
95726         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
95727         * doc/posix-functions/vsnprintf.texi: Likewise.
95729 2008-04-19  Bruno Haible  <bruno@clisp.org>
95731         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
95732         from 0.0058 to less than 10^-7.
95734 2008-04-19  Bruno Haible  <bruno@clisp.org>
95736         Fix rounding when a precision is given.
95737         * lib/vasnprintf.c (is_borderline): New function.
95738         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
95739         9...9x.
95740         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
95741         %e, %g.
95742         * tests/test-vasprintf-posix.c (test_function): Likewise.
95743         * tests/test-snprintf-posix.h (test_function): Likewise.
95744         * tests/test-sprintf-posix.h (test_function): Likewise.
95745         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
95746         * tests/test-printf-posix.h (test_function): Likewise.
95747         * tests/test-printf-posix.output: Update.
95748         Reported by John Darrington <john@darrington.wattle.id.au> via
95749         Ben Pfaff <blp@cs.stanford.edu>.
95751 2008-04-18  Simon Josefsson  <simon@josefsson.org>
95753         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
95754         Suggested by Bruno Haible <bruno@clisp.org>.
95756 2008-04-17  Bruno Haible  <bruno@clisp.org>
95758         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
95759         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
95760         implementation.
95761         Patch by Bruce Merry <bmerry@gmail.com>.
95763 2008-04-17  Simon Josefsson  <simon@josefsson.org>
95765         * doc/posix-functions/strftime.texi (strftime): Mention that %e
95766         doesn't work under Windows.
95768 2008-04-16  Bruno Haible  <bruno@clisp.org>
95770         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
95771         New macros.
95772         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
95773         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
95774         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
95775         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
95776         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
95777         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
95778         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
95779         macros.
95780         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
95781         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
95782         Northern Sotho, Uighur.
95784 2008-04-16  Bruno Haible  <bruno@clisp.org>
95786         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
95787         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
95788         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
95789         Reported by Daniel Bergström <daniel@octocode.com>.
95791 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
95792             Bruno Haible  <bruno@clisp.org>
95794         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
95795         function.
95796         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
95797         New functions, mostly extracted from gl_locale_name_default.
95798         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
95800 2008-04-16  Eric Blake  <ebb9@byu.net>
95802         Adjust strtod detection to catch glibc 2.7 bug.
95803         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
95804         Reported by John Gatewood Ham.
95806 2008-04-16  Bruno Haible  <bruno@clisp.org>
95808         Add tentative support for Linux libc5.
95809         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
95810         * lib/fpurge.c (fpurge): Likewise.
95811         * lib/freadable.c (freadable): Likewise.
95812         * lib/freadahead.c (freadahead): Likewise.
95813         * lib/freading.c (freading): Likewise.
95814         * lib/freadptr.c (freadptr): Likewise.
95815         * lib/freadseek.c (freadptrinc): Likewise.
95816         * lib/fseeko.c (rpl_fseeko): Likewise.
95817         * lib/fseterr.c (fseterr): Likewise.
95818         * lib/fwritable.c (fwritable): Likewise.
95819         * lib/fwriting.c (fwriting): Likewise.
95820         Reported by Alain Guibert <alguibert+bts@free.fr>.
95822 2008-04-15  Bruno Haible  <bruno@clisp.org>
95824         * modules/mathl (configure.ac): Define module indicator.
95826 2008-04-15  Bruno Haible  <bruno@clisp.org>
95828         * lib/logl.c (logl): Remove unused variables.
95830 2008-04-15  Bruno Haible  <bruno@clisp.org>
95832         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
95833         fails.
95835 2008-04-15  Bruno Haible  <bruno@clisp.org>
95837         * lib/trim.c (trim2): Fix argument of isspace() macro.
95839 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
95841         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
95842         to 0.
95843         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
95845 2008-04-14  Bruno Haible  <bruno@clisp.org>
95847         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
95848         AC_LANG_PROGRAM argument.
95849         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
95850         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
95851         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
95852         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
95853         * m4/math_h.m4 (gl_MATH_H): Likewise.
95854         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
95855         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
95856         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
95857         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
95858         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
95859         * m4/regex.m4 (gl_REGEX): Likewise.
95860         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
95861         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
95862         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95863         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
95864         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
95865         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95866         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
95867         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
95869 2008-04-14  Jim Meyering  <meyering@redhat.com>
95871         test-strtod: fix typos: s/abs/fabs/
95872         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
95874 2008-04-13  Bruno Haible  <bruno@clisp.org>
95876         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
95877         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
95878         module is also used and while not building the reloc-wrapper.
95880 2008-04-13  Bruno Haible  <bruno@clisp.org>
95882         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
95884 2008-04-13  Bruno Haible  <bruno@clisp.org>
95886         Fix AIX compilation failure introduced on 2008-04-02.
95887         * tests/test-frexp.c (exp): Undefine before redefining.
95888         * tests/test-frexpl.c (exp): Likewise.
95890 2008-04-13  Bruno Haible  <bruno@clisp.org>
95892         Work around a HP-UX stdio bug.
95893         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
95894         * tests/test-ftello.c (main): Likewise.
95895         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
95896         * doc/posix-functions/ftello.texi: Likewise.
95898 2008-04-13  Bruno Haible  <bruno@clisp.org>
95900         Make test-signbit pass on HP-UX/hppa.
95901         * tests/test-signbit.c (minus_zerol): New variable.
95902         (test_signbitl): Use it.
95904 2008-04-13  Bruno Haible  <bruno@clisp.org>
95906         Make truncl work on OSF/1 4.0.
95907         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
95908         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95909         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
95911         HAVE_DECL_TRUNCL.
95912         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
95913         HAVE_DECL_TRUNCL.
95914         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
95916 2008-04-13  Bruno Haible  <bruno@clisp.org>
95918         * lib/unictype.h: Remove trailing comma from enumeration definitions.
95920 2008-04-13  Bruno Haible  <bruno@clisp.org>
95922         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
95923         expression, so as to avoid HP-UX 11 cc compiler bug.
95925 2008-04-13  Bruno Haible  <bruno@clisp.org>
95927         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
95929 2008-04-13  Bruno Haible  <bruno@clisp.org>
95931         * lib/git-merge-changelog.c: Remove empty declaration outside of
95932         functions.
95934 2008-04-13  Bruno Haible  <bruno@clisp.org>
95936         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
95938 2008-04-13  Bruno Haible  <bruno@clisp.org>
95940         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
95941         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
95942         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
95943         also if it exists but lacks definitions of the SHUT_* macros.
95944         * modules/sys_socket (Description): Update.
95945         Reported by Elbert Pol <e.pol@chello.nl>.
95947 2008-04-13  Bruno Haible  <bruno@clisp.org>
95949         * lib/localcharset.c (OS2): Don't redefine if already defined.
95950         Reported by Elbert Pol <e.pol@chello.nl>.
95952 2008-04-13  Bruno Haible  <bruno@clisp.org>
95954         * lib/binary-io.h [__EMX__]: Include <io.h>.
95955         Reported by Elbert Pol <e.pol@chello.nl>.
95957 2008-04-12  Bruno Haible  <bruno@clisp.org>
95959         * lib/fpucw.h: Enable the definitions also for x86_64.
95960         Needed for NetBSD/x86_64.
95961         Reported by Thomas Klausner <tk@giga.or.at>.
95963 2008-04-12  Bruno Haible  <bruno@clisp.org>
95965         * tests/test-strtod.c: Include isnand.h.
95966         (main): Use isnand instead of isnan.
95967         Reported by Jim Meyering.
95969 2008-04-12  Bruno Haible  <bruno@clisp.org>
95971         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
95972         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
95974 2008-04-12  Jim Meyering  <meyering@redhat.com>
95976         * m4/math_h.m4 (gl_MATH_H): Fix typos.
95978 2008-04-12  Bruno Haible  <bruno@clisp.org>
95980         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
95981         Reported by Elbert Pol <e.pol@chello.nl>.
95983 2008-04-12  Eric Blake  <ebb9@byu.net>
95985         Work around Solaris 10 math.h bug.
95986         * m4/math_h.m4 (gl_MATH_H): Check for bug.
95987         (gl_MATH_H_DEFAULTS): Set up default.
95988         * modules/math (Makefile.am): Replace new indicators.
95989         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
95990         * tests/test-math.c (main): Test this.
95991         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
95992         * doc/posix-headers/math.texi (math.h): Mention bug.
95993         Reported by Nelson H. F. Beebe and Jim Meyering.
95995 2008-04-11  Bruno Haible  <bruno@clisp.org>
95997         Adapt to future versions of Apple GCC.
95998         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
95999         Reported by Peter O'Gorman <peter@pogma.com>.
96001 2008-04-11  Bruno Haible  <bruno@clisp.org>
96003         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
96005 2008-04-11  Bruno Haible  <bruno@clisp.org>
96007         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
96009         * modules/getaddrinfo-tests (Makefile.am): Define
96010         test_getaddrinfo_LDADD.
96012 2008-04-11  Bruno Haible  <bruno@clisp.org>
96014         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
96015         (init): Fix syntax error.
96016         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
96017         is declared.
96019 2008-04-11  Bruno Haible  <bruno@clisp.org>
96021         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
96022         * modules/glob (Depends-on): Add stdbool.
96024 2008-04-11  Bruno Haible  <bruno@clisp.org>
96026         * lib/trim.c: Include <string.h>.
96028 2008-04-11  Eric Blake  <ebb9@byu.net>
96030         Avoid compile failure on OS/2.
96031         * lib/regex_internal.h (internal_function): Disable optimization
96032         on OS/2 (__EMX__), where it caused compiler error.
96033         Reported by Elbert Pol.
96035 2008-04-11  Bruno Haible  <bruno@clisp.org>
96037         Flush the standard error stream before aborting. Needed on mingw.
96038         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
96039         * tests/test-array_list.c (ASSERT): Likewise.
96040         * tests/test-array_oset.c (ASSERT): Likewise.
96041         * tests/test-avltree_list.c (ASSERT): Likewise.
96042         * tests/test-avltree_oset.c (ASSERT): Likewise.
96043         * tests/test-avltreehash_list.c (ASSERT): Likewise.
96044         * tests/test-binary-io.c (ASSERT): Likewise.
96045         * tests/test-byteswap.c (ASSERT): Likewise.
96046         * tests/test-c-ctype.c (ASSERT): Likewise.
96047         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
96048         * tests/test-c-strcasestr.c (ASSERT): Likewise.
96049         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
96050         * tests/test-c-strstr.c (ASSERT): Likewise.
96051         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
96052         * tests/test-canonicalize.c (ASSERT): Likewise.
96053         * tests/test-carray_list.c (ASSERT): Likewise.
96054         * tests/test-ceilf1.c (ASSERT): Likewise.
96055         * tests/test-ceilf2.c (ASSERT): Likewise.
96056         * tests/test-ceill.c (ASSERT): Likewise.
96057         * tests/test-count-one-bits.c (ASSERT): Likewise.
96058         * tests/test-fbufmode.c (ASSERT): Likewise.
96059         * tests/test-fflush2.c (ASSERT): Likewise.
96060         * tests/test-floorf1.c (ASSERT): Likewise.
96061         * tests/test-floorf2.c (ASSERT): Likewise.
96062         * tests/test-floorl.c (ASSERT): Likewise.
96063         * tests/test-fopen.c (ASSERT): Likewise.
96064         * tests/test-fpending.c (ASSERT): Likewise.
96065         * tests/test-fprintf-posix.c (ASSERT): Likewise.
96066         * tests/test-fpurge.c (ASSERT): Likewise.
96067         * tests/test-freadable.c (ASSERT): Likewise.
96068         * tests/test-freadahead.c (ASSERT): Likewise.
96069         * tests/test-freading.c (ASSERT): Likewise.
96070         * tests/test-freadptr.c (ASSERT): Likewise.
96071         * tests/test-freadptr2.c (ASSERT): Likewise.
96072         * tests/test-freadseek.c (ASSERT): Likewise.
96073         * tests/test-freopen.c (ASSERT): Likewise.
96074         * tests/test-frexp.c (ASSERT): Likewise.
96075         * tests/test-frexpl.c (ASSERT): Likewise.
96076         * tests/test-fseek.c (ASSERT): Likewise.
96077         * tests/test-fseeko.c (ASSERT): Likewise.
96078         * tests/test-fstrcmp.c (ASSERT): Likewise.
96079         * tests/test-ftell.c (ASSERT): Likewise.
96080         * tests/test-ftello.c (ASSERT): Likewise.
96081         * tests/test-func.c (ASSERT): Likewise.
96082         * tests/test-fwritable.c (ASSERT): Likewise.
96083         * tests/test-fwriting.c (ASSERT): Likewise.
96084         * tests/test-getdelim.c (ASSERT): Likewise.
96085         * tests/test-getline.c (ASSERT): Likewise.
96086         * tests/test-i-ring.c (ASSERT): Likewise.
96087         * tests/test-iconv-utf.c (ASSERT): Likewise.
96088         * tests/test-iconv.c (ASSERT): Likewise.
96089         * tests/test-isfinite.c (ASSERT): Likewise.
96090         * tests/test-isnand.c (ASSERT): Likewise.
96091         * tests/test-isnanf.c (ASSERT): Likewise.
96092         * tests/test-isnanl.h (ASSERT): Likewise.
96093         * tests/test-ldexpl.c (ASSERT): Likewise.
96094         * tests/test-linked_list.c (ASSERT): Likewise.
96095         * tests/test-linkedhash_list.c (ASSERT): Likewise.
96096         * tests/test-localename.c (ASSERT): Likewise.
96097         * tests/test-lseek.c (ASSERT): Likewise.
96098         * tests/test-mbscasecmp.c (ASSERT): Likewise.
96099         * tests/test-mbscasestr1.c (ASSERT): Likewise.
96100         * tests/test-mbscasestr2.c (ASSERT): Likewise.
96101         * tests/test-mbscasestr3.c (ASSERT): Likewise.
96102         * tests/test-mbscasestr4.c (ASSERT): Likewise.
96103         * tests/test-mbschr.c (ASSERT): Likewise.
96104         * tests/test-mbscspn.c (ASSERT): Likewise.
96105         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
96106         * tests/test-mbspbrk.c (ASSERT): Likewise.
96107         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
96108         * tests/test-mbsrchr.c (ASSERT): Likewise.
96109         * tests/test-mbsspn.c (ASSERT): Likewise.
96110         * tests/test-mbsstr1.c (ASSERT): Likewise.
96111         * tests/test-mbsstr2.c (ASSERT): Likewise.
96112         * tests/test-mbsstr3.c (ASSERT): Likewise.
96113         * tests/test-memchr2.c (ASSERT): Likewise.
96114         * tests/test-memmem.c (ASSERT): Likewise.
96115         * tests/test-open.c (ASSERT): Likewise.
96116         * tests/test-printf-frexp.c (ASSERT): Likewise.
96117         * tests/test-printf-frexpl.c (ASSERT): Likewise.
96118         * tests/test-printf-posix.c (ASSERT): Likewise.
96119         * tests/test-quotearg.c (ASSERT): Likewise.
96120         * tests/test-rbtree_list.c (ASSERT): Likewise.
96121         * tests/test-rbtree_oset.c (ASSERT): Likewise.
96122         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
96123         * tests/test-round1.c (ASSERT): Likewise.
96124         * tests/test-roundf1.c (ASSERT): Likewise.
96125         * tests/test-roundl.c (ASSERT): Likewise.
96126         * tests/test-signbit.c (ASSERT): Likewise.
96127         * tests/test-sleep.c (ASSERT): Likewise.
96128         * tests/test-snprintf-posix.c (ASSERT): Likewise.
96129         * tests/test-snprintf.c (ASSERT): Likewise.
96130         * tests/test-sprintf-posix.c (ASSERT): Likewise.
96131         * tests/test-stat-time.c (ASSERT): Likewise.
96132         * tests/test-strcasestr.c (ASSERT): Likewise.
96133         * tests/test-strerror.c (ASSERT): Likewise.
96134         * tests/test-striconv.c (ASSERT): Likewise.
96135         * tests/test-striconveh.c (ASSERT): Likewise.
96136         * tests/test-striconveha.c (ASSERT): Likewise.
96137         * tests/test-strsignal.c (ASSERT): Likewise.
96138         * tests/test-strstr.c (ASSERT): Likewise.
96139         * tests/test-strtod.c (ASSERT): Likewise.
96140         * tests/test-trunc1.c (ASSERT): Likewise.
96141         * tests/test-trunc2.c (ASSERT): Likewise.
96142         * tests/test-truncf1.c (ASSERT): Likewise.
96143         * tests/test-truncf2.c (ASSERT): Likewise.
96144         * tests/test-truncl.c (ASSERT): Likewise.
96145         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
96146         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
96147         * tests/test-vasnprintf.c (ASSERT): Likewise.
96148         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
96149         * tests/test-vasprintf.c (ASSERT): Likewise.
96150         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
96151         * tests/test-vprintf-posix.c (ASSERT): Likewise.
96152         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
96153         * tests/test-vsnprintf.c (ASSERT): Likewise.
96154         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
96155         * tests/test-wcwidth.c (ASSERT): Likewise.
96156         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
96157         * tests/test-xprintf-posix.c (ASSERT): Likewise.
96158         * tests/test-xvasprintf.c (ASSERT): Likewise.
96159         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
96160         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
96161         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
96162         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
96163         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
96164         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
96165         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
96166         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
96167         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
96168         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
96169         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
96170         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
96171         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
96172         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
96173         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
96174         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
96175         * tests/unictype/test-block_list.c (ASSERT): Likewise.
96176         * tests/unictype/test-block_of.c (ASSERT): Likewise.
96177         * tests/unictype/test-block_test.c (ASSERT): Likewise.
96178         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
96179         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
96180         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
96181         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
96182         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
96183         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
96184         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
96185         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
96186         * tests/unictype/test-combining.c (ASSERT): Likewise.
96187         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
96188         * tests/unictype/test-digit.c (ASSERT): Likewise.
96189         * tests/unictype/test-mirror.c (ASSERT): Likewise.
96190         * tests/unictype/test-numeric.c (ASSERT): Likewise.
96191         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
96192         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
96193         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
96194         * tests/unictype/test-scripts.c (ASSERT): Likewise.
96195         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
96196         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
96197         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
96198         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
96199         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
96200         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
96201         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
96202         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
96203         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
96204         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
96205         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
96206         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
96207         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
96208         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
96209         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
96210         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
96211         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
96212         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
96213         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
96214         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
96215         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
96216         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
96217         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
96218         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
96219         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
96220         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
96221         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
96222         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
96223         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
96224         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
96225         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
96226         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
96227         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
96228         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
96229         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
96230         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
96231         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
96232         Reported by Eric Blake.
96234 2008-04-11  Bruno Haible  <bruno@clisp.org>
96236         * lib/wchar.in.h: Tweak comment.
96238 2008-04-11  Bruno Haible  <bruno@clisp.org>
96240         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
96241         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
96242         gl_COMMON.
96243         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
96245 2008-04-11  Bruno Haible  <bruno@clisp.org>
96247         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
96249 2008-04-11  Simon Josefsson  <simon@josefsson.org>
96251         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
96252         of attempting to use non-existing /dev/*random.  Based on patch
96253         from Adam Strzelecki <ono@java.pl> in
96254         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
96256 2008-04-08  Bruno Haible  <bruno@clisp.org>
96258         Add tentative support for emx+gcc.
96259         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
96260         * lib/fpurge.c (fpurge): Likewise.
96261         * lib/freadable.c (freadable): Likewise.
96262         * lib/freadahead.c (freadahead): Likewise.
96263         * lib/freading.c (freading): Likewise.
96264         * lib/freadptr.c (freadptr): Likewise.
96265         * lib/freadseek.c (freadptrinc): Likewise.
96266         * lib/fseeko.c (rpl_fseeko): Likewise.
96267         * lib/fseterr.c (fseterr): Likewise.
96268         * lib/fwritable.c (fwritable): Likewise.
96269         * lib/fwriting.c (fwriting): Likewise.
96270         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
96272 2008-04-09  Eric Blake  <ebb9@byu.net>
96274         Avoid some autoconf warnings.
96275         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
96276         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
96277         * m4/afs.m4 (gl_AFS): Likewise.
96278         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
96279         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
96280         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96281         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
96282         (gl_INTEGER_TYPE_SUFFIX): Likewise.
96283         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
96284         (AC_CHECK_DECLS_ONCE): Likewise.
96285         Rename file...
96286         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
96287         gnulib-tool requires autoconf 2.59 or better.
96288         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
96290 2008-04-08  Eric Blake  <ebb9@byu.net>
96292         Use 'git describe --match' if present (added in git 1.5.5).
96293         * build-aux/git-version-gen: Limit result to tags that match 'v*'
96294         if possible.
96296 2008-04-08  Bruno Haible  <bruno@clisp.org>
96298         Add tentative support for OpenServer.
96299         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
96300         _ptr, _cnt.
96301         * lib/fpurge.c (fpurge): Likewise.
96302         * lib/freadable.c (freadable): Likewise.
96303         * lib/freadahead.c (freadahead): Likewise.
96304         * lib/freading.c (freading): Likewise.
96305         * lib/freadptr.c (freadptr): Likewise.
96306         * lib/freadseek.c (freadptrinc): Likewise.
96307         * lib/fseeko.c (rpl_fseeko): Likewise.
96308         * lib/fseterr.c (fseterr): Likewise.
96309         * lib/fwritable.c (fwritable): Likewise.
96310         * lib/fwriting.c (fwriting): Likewise.
96311         Reported by Roger Cornelius <rac@tenzing.org> and
96312         Brian K. White <brian@aljex.com>.
96314 2008-04-06  Jim Meyering  <meyering@redhat.com>
96316         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
96318 2008-04-06  Bruno Haible  <bruno@clisp.org>
96320         Avoid possible error with non-ASCII bytes in UTF-8 locales.
96321         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
96322         * tests/test-printf-posix.sh: Likewise.
96323         * tests/test-vfprintf-posix.sh: Likewise.
96324         * tests/test-vprintf-posix.sh: Likewise.
96325         * tests/test-xprintf-posix.sh: Likewise.
96327 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96329         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
96330         hide error from 'ls', needed on OS/2.
96331         Report by Elbert Pol <elbert.pol@gmail.com>.
96333 2008-04-04  Eric Blake  <ebb9@byu.net>
96335         Make test-fseeko.c failures meaningful.
96336         * tests/test-fseeko.c: Print line number on failure.
96337         * tests/test-fseek.c: Likewise.
96338         Reported by Nelson H. F. Beebe.
96340         Improve strtod bug detection check.
96341         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
96342         required for Solaris 10.
96343         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
96345 2008-04-04  Bruno Haible  <bruno@clisp.org>
96347         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
96348         by m4/setenv.m4.
96350 2008-04-03  Eric Blake  <ebb9@byu.net>
96352         Ensure sane .version contents.
96353         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
96354         version string.
96355         * build-aux/git-version-gen: Improve documentation.
96357         Make GNU make output nicer.
96358         * top/GNUmakefile [!_have-Makefile]: Add dependency on
96359         MAKECMDGOALS to enforce message for all command line targets.  Set
96360         srcdir for use in maint.mk.
96362         Another maintainer tweak.
96363         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
96364         a target that regenerates version.
96366 2008-04-03  Jim Meyering  <meyering@redhat.com>
96368         vc-list-files: don't cause coreutils "make po-check" failure
96369         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
96371 2008-04-03  Eric Blake  <ebb9@byu.net>
96373         Allow VPATH usage of vc-list-files.
96374         * build-aux/vc-list-files (scriptversion): Add timestamp.
96375         (options): Add --help, --version, -C.
96376         (CVS): Support installed cvsu.
96378 2008-04-02  Bruno Haible  <bruno@clisp.org>
96380         Avoid some "statement with no effect" warnings from gcc.
96381         * tests/test-wctype.c (main): Explicitly ignore unused values.
96382         Reported by Jim Meyering.
96384 2008-04-02  Jim Meyering  <meyering@redhat.com>
96386         Avoid some warnings from "gcc -Wshadow".
96387         * tests/test-frexp.c (exp): Define to a different identifier.
96388         * tests/test-frexpl.c (exp): Likewise.
96390 2008-04-03  Jim Meyering  <meyering@redhat.com>
96392         bootstrap: remove dangling *.[ch] symlinks from lib
96393         * build-aux/bootstrap [dangling symlink removal]: Move find's
96394         -depth option to precede all others, to avoid a warning.
96395         Remove *.[ch] files too, and from "$source_base" (usually lib/).
96397 2008-04-02  Bruno Haible  <bruno@clisp.org>
96399         Avoid some warnings from "gcc -Wshadow".
96400         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
96401         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
96402         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
96403         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
96404         Reported by Jim Meyering.
96406 2008-04-01  Bruno Haible  <bruno@clisp.org>
96408         Fix test to work on IRIX 6.5 with cc.
96409         * tests/test-math.c (numeric_equal): New function.
96410         (main): Use it.
96412 2008-04-01  Bruno Haible  <bruno@clisp.org>
96414         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
96416 2008-04-01  Bruno Haible  <bruno@clisp.org>
96418         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
96419         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96420         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
96421         (Depends-on): Remove math.
96423         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
96424         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96425         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
96426         (Depends-on): Remove math.
96428         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
96429         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96430         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
96431         (Depends-on): Remove math.
96432         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
96433         (Depends-on): Remove math.
96435         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
96436         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96437         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
96438         (Depends-on): Remove math.
96439         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
96440         (Depends-on): Remove math.
96442         * tests/test-round1.c: Include nan.h.
96443         (main): Use NaNd instead of NAN.
96444         * modules/round-tests (Files): Add tests/nan.h.
96446         * tests/test-trunc1.c: Include nan.h.
96447         (main): Use NaNd instead of NAN.
96448         * modules/trunc-tests (Files): Add tests/nan.h.
96450         * tests/test-roundf1.c: Include nan.h.
96451         (main): Use NaNf instead of NAN.
96452         * modules/roundf-tests (Files): Add tests/nan.h.
96454         * tests/test-truncf1.c: Include nan.h.
96455         (main): Use NaNf instead of NAN.
96456         * modules/truncf-tests (Files): Add tests/nan.h.
96458         * tests/test-ceilf1.c: Include nan.h.
96459         (main): Use NaNf instead of NAN.
96460         * modules/ceilf-tests (Files): Add tests/nan.h.
96462         * tests/test-floorf1.c: Include nan.h.
96463         (main): Use NaNf instead of NAN.
96464         * modules/floorf-tests (Files): Add tests/nan.h.
96466         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
96467         (main): Use NaNf instead of NAN.
96468         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
96470         * tests/test-isnand.c: Include nan.h instead of <math.h>.
96471         (main): Use NaNd instead of NAN.
96472         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
96474         * tests/test-frexp.c: Include nan.h.
96475         (main): Use NaNd instead of NAN.
96476         * modules/frexp-tests (Files): Add tests/nan.h.
96478         * lib/isnan.c: Don't include <math.h>.
96479         (FUNC): Don't use NAN macro.
96480         * modules/isnand-nolibm (Depends-on): Remove math.
96481         * modules/isnanf-nolibm (Depends-on): Remove math.
96482         * modules/isnanl (Depends-on): Remove math.
96483         * modules/isnanl-nolibm (Depends-on): Remove math.
96485         * tests/nan.h: New file.
96487 2008-04-01  Eric Blake  <ebb9@byu.net>
96489         Fix typos.
96490         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
96491         values to be the right type.
96493         For now, cater to gnulib strtod inaccuracies.
96494         * tests/test-strtod.c (main): Allow 1-ulp error on expected
96495         fractional results.  While not as nice from a QoI perspective, it
96496         is a quicker patch than correctly implementing decimal to binary
96497         rounding.
96499 2008-03-31  Eric Blake  <ebb9@byu.net>
96501         Guarantee a definition of NAN.
96502         * lib/math.in.h (NAN): Define if missing.
96503         * tests/test-math.c (main): Test it.
96504         * doc/posix-headers/math.texi (math.h): Document this.
96505         * lib/isnan.c (rpl_isnand): Use it.
96506         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
96507         * tests/test-floorf1.c (NaN): Likewise.
96508         * tests/test-frexp.c (NaN): Likewise.
96509         * tests/test-isnand.c (NaN): Likewise.
96510         * tests/test-isnanf.c (NaN): Likewise.
96511         * tests/test-round1.c (NaN): Likewise.
96512         * tests/test-roundf1.c (NaN): Likewise.
96513         * tests/test-snprintf-posix.h (NaN): Likewise.
96514         * tests/test-sprintf-posix.h (NaN): Likewise.
96515         * tests/test-trunc1.c (NaN): Likewise.
96516         * tests/test-truncf1.c (NaN): Likewise.
96517         * tests/test-vasnprintf-posix.c (NaN): Likewise.
96518         * tests/test-vasprintf-posix.c (NaN): Likewise.
96519         * modules/isnand-nolibm (Depends-on): Add math.
96520         * modules/isnanf-nolibm (Depends-on): Likewise.
96521         * modules/isnanl (Depends-on): Likewise.
96522         * modules/isnanl-nolibm (Depends-on): Likewise.
96523         * modules/snprintf-posix-tests (Depends-on): Likewise.
96524         * modules/sprintf-posix-tests (Depends-on): Likewise.
96525         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
96526         * modules/vsprintf-posix-tests (Depends-on): Likewise.
96527         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
96528         * modules/vasprintf-posix-tests (Depends-on): Likewise.
96530 2008-03-31  Bruno Haible  <bruno@clisp.org>
96532         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
96533         * doc/posix-functions/strtod.texi: Likewise.
96535 2008-03-31  Bruno Haible  <bruno@clisp.org>
96537         * tests/test-strtod.c (main): Don't use C99 syntax.
96539 2008-03-31  Bruno Haible  <bruno@clisp.org>
96541         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
96542         Reported by Eric Blake.
96544 2008-03-31  Jim Meyering  <meyering@redhat.com>
96546         Don't compare actual signbit return values.
96547         * tests/test-strtod.c (main): Rather, compare only their
96548         zero/non-zero nature.
96550 2008-03-31  Eric Blake  <ebb9@byu.net>
96552         More strtod documentation.
96553         * doc/posix-functions/strtod.texi (strtod): Interpret more test
96554         failures as distinct bugs.
96556 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
96558         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
96559         Problem reported by Erik Benada in
96560         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
96562 2008-03-30  Bruno Haible  <bruno@clisp.org>
96564         * tests/test-strtod.c: Add comments about which assertion fails on which
96565         platform.
96566         * doc/posix-functions/strtod.texi: Add info about many more platforms.
96568 2008-03-30  Eric Blake  <ebb9@byu.net>
96570         Test signbit behavior on zeros.
96571         * tests/test-signbit.c (test_signbitf): Add tests for zero.
96572         (test_signbitd, test_signbitl): Likewise.
96574         More strtod touchups.
96575         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
96576         sign of negative underflow, for now.  Use .5, not .1.
96577         * doc/posix-functions/strtod.texi (strtod): Mention these
96578         limitations.
96579         Reported by Jim Meyering.
96581 2008-03-30  Bruno Haible  <bruno@clisp.org>
96583         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
96584         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
96586 2008-03-30  Bruno Haible  <bruno@clisp.org>
96588         Avoid failure when attempting to return empty iconv results on some
96589         platforms.
96590         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
96591         allocation, don't report ENOMEM when the resulting string is empty.
96593 2008-03-30  Bruno Haible  <bruno@clisp.org>
96595         Fix buffer overrun.
96596         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
96597         Don't consider the width for tmp_length. Check count against tmp_length
96598         before doing the padding. Ensure enough allocation during padding.
96600 2008-03-30  Eric Blake  <ebb9@byu.net>
96602         strtod touchups.
96603         * lib/strtod.c (strtod): Avoid compiler warnings.
96604         Reported by Jim Meyering.
96606 2008-03-30  Bruno Haible  <bruno@clisp.org>
96608         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
96609         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
96610         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
96611         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
96612         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
96613         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
96614         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
96615         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
96617         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
96618         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
96619         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
96620         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
96621         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
96622         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
96623         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
96624         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
96626         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
96627         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
96628         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
96629         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
96630         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
96631         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
96632         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
96633         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
96635         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
96636         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
96638         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
96639         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
96641         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
96642         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
96644         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
96645         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
96646         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
96648         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
96649         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
96650         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
96652         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
96653         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
96654         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
96656         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
96657         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
96658         * modules/vasprintf (Depends-on): Add EOVERFLOW.
96660         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
96661         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
96662         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
96663         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
96664         (Depends-on): Add EOVERFLOW.
96665         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
96666         (Depends-on): Add EOVERFLOW.
96667         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96668         (Depends-on): Add EOVERFLOW.
96669         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96670         (Depends-on): Add EOVERFLOW.
96671         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96672         (Depends-on): Add EOVERFLOW.
96673         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96674         (Depends-on): Add EOVERFLOW.
96675         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96676         (Depends-on): Add EOVERFLOW.
96677         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96678         (Depends-on): Add EOVERFLOW.
96680         * lib/sprintf.c (EOVERFLOW): Remove fallback.
96681         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
96682         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
96684         * lib/snprintf.c (EOVERFLOW): Remove fallback.
96685         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
96686         * modules/snprintf (Depends-on): Add EOVERFLOW.
96688         * lib/poll.c (EOVERFLOW): Remove fallback.
96689         * modules/poll (Depends-on): Add EOVERFLOW.
96691         * lib/getugroups.c (EOVERFLOW): Remove fallback.
96692         * modules/getugroups (Depends-on): Add EOVERFLOW.
96694         * lib/getdelim.c (EOVERFLOW): Remove fallback.
96695         * modules/getdelim (Depends-on): Add EOVERFLOW.
96697         * lib/ftell.c (EOVERFLOW): Remove fallback.
96698         * modules/ftell (Depends-on): Add EOVERFLOW.
96700         * lib/fprintf.c (EOVERFLOW): Remove fallback.
96701         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
96702         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
96704         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
96706         * modules/EOVERFLOW-tests: New file.
96707         * tests/test-EOVERFLOW.c: New file.
96709         * modules/EOVERFLOW: New file.
96710         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
96712 2008-03-30  Bruno Haible  <bruno@clisp.org>
96714         Fix bug introduced on 2007-06-10.
96715         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
96716         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
96718 2008-03-30  Bruno Haible  <bruno@clisp.org>
96720         Improve freadseek's efficiency after ungetc.
96721         * lib/freadseek.c: Include freadahead.h.
96722         (freadptrinc): New function, extracted from freadseek.
96723         (freadseek): Use it in a loop. Use freadahead to determine the number
96724         of loop iterations.
96725         * modules/freadseek (Depends-on): Add freadahead.
96726         (configure.ac): Require AC_C_INLINE.
96728 2008-03-30  Bruno Haible  <bruno@clisp.org>
96730         * lib/freadseek.c (freadseek): Don't ignore the return value of
96731         freadptr.
96733 2008-03-29  Eric Blake  <ebb9@byu.net>
96735         Add hex float support.
96736         * modules/strtod (Depends-on): Add c-ctype.
96737         (Link): Mention POW_LIB.
96738         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
96739         whitespace between 'e' and exponent.
96740         * tests/test-strtod.c (main): Enable hex float tests.
96741         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
96742         now provides.
96744         Document various strtod bugs, with some fixes.
96745         * doc/posix-functions/strtod.texi (strtod): Document bugs with
96746         "-0x", "inf", "nan", and hex constants.
96747         * doc/posix-functions/atof.texi (atof): Likewise.
96748         * modules/stdlib (Makefile.am): Support strtod.
96749         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
96750         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
96751         detect additional strtod bugs.
96752         * lib/stdlib.in.h (rpl_strtod): Add declarations.
96753         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
96754         bool where appropriate.  Parse 'inf' and 'nan'.
96755         * tests/test-strtod.c: New file.
96756         * modules/strtod (Depends-on): Add stdbool, stdlib.
96757         (configure.ac): Turn on module indicator.
96758         * modules/strtod-tests: New module.
96760 2008-03-29  Eric Blake  <ebb9@byu.net>
96762         Fix ftell on mingw.
96763         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
96764         * modules/ftell-tests (Depends-on): Add binary-io.
96765         * modules/ftello-tests (Depends-on): Likewise.
96766         * tests/test-ftell.c (main): Enhance test to cover behavior after
96767         ungetc.  Enforce binary mode.
96768         * tests/test-ftello.c (main): Likewise.
96770         Pass test-freadseek on cygwin.
96771         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
96772         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
96773         ungetc buffer.
96775         * tests/test-fflush2.c (main): Fix typo.
96777 2008-03-29  Bruno Haible  <bruno@clisp.org>
96779         * tests/test-fflush2.c (main): Temporarily disable the contents of
96780         this test.
96781         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
96782         Reported by Eric Blake.
96784 2008-03-28  Simon Josefsson  <simon@josefsson.org>
96786         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
96787         (GC_SHA224_DIGEST_SIZE): Add.
96789         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
96790         (gc_hash_digest_length): Likewise.
96791         (gc_hash_buffer): Likewise.
96793 2008-03-25  Bruno Haible  <bruno@clisp.org>
96795         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
96796         detail which gettext release to use.
96797         Reported by Simon Josefsson.
96799 2008-03-26  Jim Meyering  <meyering@redhat.com>
96801         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
96802         * modules/gnumakefile (clean-GNUmakefile): Also, use
96803         test ... && ... || : syntax rather than if-then ... fi.
96805         gnumakefile: Don't double-quote-expand $(VPATH) value.
96806         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
96808 2008-03-24  Eric Blake  <ebb9@byu.net>
96810         Alter GNUmakefile to install into top directory.
96811         * modules/maintainer-makefile: Split, and add dependency...
96812         * modules/gnumakefile: to this new module.
96813         * build-aux/GNUmakefile: Move...
96814         * top/GNUmakefile: ...here.
96815         * build-aux/maint.mk: Move...
96816         * top/maint.mk: ...here.
96817         * MODULES.html.sh (Support for maintaining...): Document new
96818         module.
96820 2008-03-23  Bruno Haible  <bruno@clisp.org>
96822         * gnulib-tool: New options --vc-files, --no-vc-files.
96823         (func_usage): Document them.
96824         (vc_files): New variable.
96825         (func_import): Consider vc_files.
96826         (func_create_testdir): Set vc_files to empty.
96827         Suggested by Jim Meyering and Karl Berry.
96829 2008-03-23  Bruno Haible  <bruno@clisp.org>
96831         Fix regex compilation error on HP-UX 11.
96832         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
96833         * modules/regex (Files): Add m4/mbstate_t.m4.
96834         Reported by Ton Voon <ton.voon@altinity.com>.
96836 2008-03-23  Bruno Haible  <bruno@clisp.org>
96838         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
96840 2008-03-23  Eric Blake  <ebb9@byu.net>
96841             Bruno Haible  <bruno@clisp.org>
96843         Install files from top/ in the destination directory.
96844         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
96845         augmentation also for the files from top/.
96846         (func_import, func_create_testdir): Rewrite file names:
96847         top/filename -> filename.
96849 2008-03-23  Bruno Haible  <bruno@clisp.org>
96851         Tweak "gnulib --version" output.
96852         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
96854 2008-03-23  Bruno Haible  <bruno@clisp.org>
96856         Tweak "gnulib --version" output.
96857         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
96858         rather than contents of ChangeLog, when possible.
96860 2008-03-21  Eric Blake  <ebb9@byu.net>
96862         More --version tweaks.
96863         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
96864         date of last ChangeLog entry.
96866 2008-03-21  Jim Meyering  <meyering@redhat.com>
96868         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
96870 2008-03-20  Eric Blake  <ebb9@byu.net>
96872         VPATH fix.
96873         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
96875 2008-03-20  Simon Josefsson  <simon@josefsson.org>
96877         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
96878         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
96880 2008-03-20  Eric Blake  <ebb9@byu.net>
96882         Sync GNUmakefile with coreutils.
96883         * build-aux/GNUmakefile (have-Makefile): Rename...
96884         (_have-Makefile): ...to this, for namespace consideration.
96885         (GNUmakefile.cfg): Include, if present.
96886         (_autoreconf): Define a default.
96887         (_is-dist-target): New rule for rebuilds to pick up intra-release
96888         version.
96889         (maint-cfg.mk): Rename...
96890         (cfg.mk): ...to this.
96892 2008-03-18  Jim Meyering  <meyering@redhat.com>
96894         New script and module: mktempd
96895         * MODULES.html.sh (maint+release support): Add mktempd.
96896         * build-aux/mktempd: New file.
96897         * modules/mktempd: New file.
96899 2008-03-15  Jim Meyering  <meyering@redhat.com>
96901         Undo last change.
96902         * lib/sha1.c, lib/md5.c: 63 != ~63.
96903         Reported by Andreas Schwab.
96905         sha1.c, md5.c: Hoist a redundant expression.
96906         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
96907         "ctx->buflen" only once, before calling *_process_block.
96908         * lib/md5.c (md5_process_bytes): Likewise.
96910 2008-03-14  Eric Blake  <ebb9@byu.net>
96912         Bump copyright year in files generated by gnulib-tool.
96913         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
96914         gnulib-tool, rather than hard-coding it.
96916         Fix 'gnulib-tool --version' output to work with git.
96917         * gnulib-tool (func_gnulib_dir): New function, extracted from...
96918         (startup): ...here.
96919         (func_version): Use it to invoke git-version-gen, rather than
96920         relying on CVS keyword expansion.  Modernize wording.
96921         (cvsdatestamp, last_checkin_date, version): Kill unused
96922         variables.
96924 2008-03-12  Jim Meyering  <meyering@redhat.com>
96926         Recognize optional cast of the argument to free.
96927         * build-aux/useless-if-before-free: Update regexps.
96929         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
96931 2008-03-11  Bruno Haible  <bruno@clisp.org>
96933         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
96934         by a single package.
96935         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
96936         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
96937         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
96938         Reported by Sam Steingold <sds@gnu.org>.
96940 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96942         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
96943         repositories.
96945 2008-03-11  Bruno Haible  <bruno@clisp.org>
96947         Avoid conflicts between local macro definitions.
96948         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
96949         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
96951 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
96952             Bruno Haible  <bruno@clisp.org>
96954         Make va_copy work with some version of xlc on AIX 5.1.
96955         * lib/stdarg.in.h: New file.
96956         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
96957         On AIX, use a <stdarg.h> file substitute.
96958         * modules/stdarg (Files): Add lib/stdarg.in.h.
96959         (Depends-on): Add include_next.
96960         (Makefile.am): Build a stdarg.h substitute if requested.
96961         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
96963 2008-03-10  Bruno Haible  <bruno@clisp.org>
96965         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
96966         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96967         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96969 2008-03-10  Bruno Haible  <bruno@clisp.org>
96971         * modules/stdlib (Depends-on): Add include_next, remove
96972         absolute-header.
96974 2008-03-09  Bruno Haible  <bruno@clisp.org>
96976         * lib/freadahead.h (freadahead): Document more precisely.
96977         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
96978         the sum of both buffer sizes.
96979         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
96980         * NEWS: Document the change.
96982 2008-03-09  Bruno Haible  <bruno@clisp.org>
96984         Extend freadptr to return also the buffer size.
96985         * lib/freadptr.h (freadptr): Add sizep argument.
96986         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
96987         (freadptr): Add sizep argument. Determine buffer size like freadahead
96988         does.
96989         * tests/test-freadptr.c: Don't include freadahead.h.
96990         (main): Adapt for new calling convention of freadptr.
96991         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
96992         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
96993         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
96994         tests/test-freadptr2.sh.
96995         (Depends): Remove freadahead.
96996         (TESTS): Add test-freadptr2.sh.
96997         (check_PROGRAMS): Add test-freadptr2.
96999 2008-03-09  Bruno Haible  <bruno@clisp.org>
97001         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
97002         Report and solution by Simon Josefsson.
97004 2008-03-06  Bruno Haible  <bruno@clisp.org>
97006         Make fflush after ungetc work on BSD platforms.
97007         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
97008         * tests/test-fflush2.c: New file.
97009         * tests/test-fflush2.sh: New file.
97010         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
97011         tests/test-fflush2.c.
97012         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
97013         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
97015 2008-03-06  Eric Blake  <ebb9@byu.net>
97017         Likewise for ftello.
97018         * modules/ftello (Dependencies): Add extensions.
97019         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
97021 2008-03-06  Bruno Haible  <bruno@clisp.org>
97023         * modules/fseeko (Dependencies): Add extensions.
97024         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
97025         Needed on glibc systems.
97027 2008-03-06  Bruno Haible  <bruno@clisp.org>
97029         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
97030         email address.
97031         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97033 2008-03-06  Bruno Haible  <bruno@clisp.org>
97035         * users.txt: Add libgnupdf.
97037 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
97039         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
97040         (Header File Substitutes, Function Substitutes,
97041         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
97042         (Build robot for gnulib): Fix typo.
97044 2008-03-06  Bruno Haible  <bruno@clisp.org>
97046         * doc/gnulib-tool.texi (VCS Issues): Small updates.
97047         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
97049 2008-03-06  Bruno Haible  <bruno@clisp.org>
97051         * doc/func.texi: New file, extracted from doc/gnulib.texi.
97052         * doc/gnulib.texi: Include it.
97054 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97056         * modules/func (License): Change license to unlimited; there was
97057         no LGPL parts in the module anyway.
97059 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97061         * modules/__func__: Renamed to modules/func.
97062         * modules/__func__-tests: Renamed to modules/func-tests.
97063         * tests/test-__func__.c: Renamed to tests/test-func.c.
97064         * m4/__func__.m4: Renamed to m4/func.m4.
97065         * doc/gnulib.texi (__func__): Section renamed to func.
97066         Suggested by Eric Blake <ebb9@byu.net>.
97068 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97070         * doc/gnulib.texi (__func__): Use C99 terminology when talking
97071         about __func__.  Make example self-contained.  Suggested by Eric
97072         Blake <ebb9@byu.net>.
97074         * tests/test-__func__.c (main): Avoid extraneous () around __func.
97075         Suggested by Eric Blake <ebb9@byu.net>.
97077 2008-03-06  Simon Josefsson  <simon@josefsson.org>
97079         * modules/__func__: New file.
97080         * modules/__func__-tests: New file.
97081         * tests/test-__func__.c: New file.
97082         * m4/__func__.m4: New file.
97083         * doc/gnulib.texi (__func__): Document __func__ module.
97085 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97087         * modules/byteswap (License): Re-license as LGPLv2+.
97089 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97091         * doc/Makefile: Add pdf target.
97093 2008-03-05  Simon Josefsson  <simon@josefsson.org>
97095         * modules/inline (License): Use 'unlimited', since there are only
97096         *.m4 files in this module.
97098 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97099             Bruno Haible  <bruno@clisp.org>
97101         Add support for HP C 7.1 on OpenVMS 8.3.
97102         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
97104 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
97106         Update VMS specifics.
97107         * lib/getopt.c [VMS]: Remove include of unixlib.h.
97109 2008-03-02  Jim Meyering  <meyering@redhat.com>
97111         Remove the last dependency on the "free" module.
97112         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
97113         Reported by Bob Proulx.
97115         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
97117         Remove useless "if" tests before free.  Deprecate "free" module.
97118         * doc/posix-functions/free.texi: Mention that this
97119         module is no longer useful.
97120         * modules/free (Notice): Say this module is obsolete.
97121         * modules/readutmp (Depends-on): Remove free.
97122         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
97123         * lib/putenv.c (putenv): Likewise.
97124         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
97125         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
97126         * tests/test-c-strcasestr.c (main): Likewise.
97127         * tests/test-c-strstr.c (main): Likewise.
97128         * tests/test-mbscasestr1.c (main): Likewise.
97129         * tests/test-mbscasestr2.c (main): Likewise.
97130         * tests/test-mbsstr1.c (main): Likewise.
97131         * tests/test-mbsstr2.c (main): Likewise.
97132         * tests/test-memmem.c (main): Likewise.
97133         * tests/test-strcasestr.c (main): Likewise.
97134         * tests/test-striconv.c (main): Likewise.
97135         * tests/test-striconveh.c (main): Likewise.
97136         * tests/test-striconveha.c (main): Likewise.
97137         * tests/test-strstr.c (main): Likewise.
97139         * build-aux/git-version-gen: Adjust a comment and the Usage string.
97141         bootstrap: sync from coreutils again
97142         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
97144 2008-03-01  Jim Meyering  <meyering@redhat.com>
97146         bootstrap: sync from coreutils
97147         * build-aux/bootstrap (update_po_files): Copy a .po file into place
97148         also when the target doesn't exist.
97150 2008-03-01  Eric Blake  <ebb9@byu.net>
97152         Fix bugs in last patch.
97153         * lib/memchr2.c (memchr2): Fix typo.
97154         * tests/test-memchr2.c: Test previous bug, and don't use GNU
97155         extension.
97156         Reported by Bruce Korb.
97158         New module 'memchr2'.
97159         * modules/memchr2: New file.
97160         * modules/memchr2-tests: Likewise.
97161         * lib/memchr2.h: Likewise.
97162         * lib/memchr2.c: Likewise, based on memchr.c.
97163         * tests/test-memchr2.c: New test.
97164         * MODULES.html.sh (String handling): Add memchr2.
97166 2008-02-29  Bruno Haible  <bruno@clisp.org>
97168         * modules/freadseek-tests: New file.
97169         * tests/test-freadseek.sh: New file.
97170         * tests/test-freadseek.c: New file.
97172         New module 'freadseek'.
97173         * modules/freadseek: New file.
97174         * lib/freadseek.h: New file.
97175         * lib/freadseek.c: New file.
97176         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
97178 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
97180         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
97181         wydawca.
97183         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
97184         program_invocation_name and program_invocation_short_name are
97185         present.
97187 2008-02-28  Bruno Haible  <bruno@clisp.org>
97189         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
97190         * tests/test-freadptr.sh: Also test non-seekable stdin.
97192 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
97194         * build-aux/bootstrap (source_base, m4_base)
97195         (doc_base, tests_base): New variables.
97196         (gnulib_tool_options): Do not hardcode base directories, use
97197         the above variables instead.
97199 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
97201         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
97203 2008-02-28  Bruno Haible  <bruno@clisp.org>
97205         * modules/freadptr-tests: New file.
97206         * tests/test-freadptr.sh: New file.
97207         * tests/test-freadptr.c: New file.
97209         New module 'freadptr'.
97210         * modules/freadptr: New file.
97211         * lib/freadptr.h: New file.
97212         * lib/freadptr.c: New file.
97213         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
97215 2008-02-26  Karl Berry  <karl@freefriends.org>
97217         Sync from Libtool:
97218         * libltdl/argz.c (argz_add, argz_count): New functions.
97219         * libltdl/argz.in.h: Declare them.
97220         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
97222 2008-02-22  Bruno Haible  <bruno@clisp.org>
97224         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
97225         is a pointer type.  Needed for HP-UX 10.
97226         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
97227         * doc/posix-functions/gmtime_r.texi: Likewise.
97228         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97230 2008-02-24  Bruno Haible  <bruno@clisp.org>
97232         * modules/environ-tests: New file.
97233         * tests/test-environ.c: New file.
97235         New module 'environ'.
97236         * modules/environ: New file.
97237         * lib/unistd.in.h (environ): New declaration.
97238         * m4/environ.m4: New file.
97239         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
97240         after use.
97241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
97242         HAVE_DECL_ENVIRON.
97243         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
97244         HAVE_DECL_ENVIRON.
97245         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
97246         wrong claim that 'environ' is missing on some systems.
97247         * modules/execute (Depends-on): Add environ.
97248         * lib/execute.c (environ): Remove fallback declaration.
97249         * modules/pipe (Depends-on): Add environ.
97250         * lib/pipe.c (environ): Remove fallback declaration.
97251         * modules/setenv (Depends-on): Add environ.
97252         * lib/setenv.c (environ): Remove fallback declaration.
97253         * modules/unsetenv (Depends-on): Add environ.
97254         * lib/unsetenv.c (environ): Remove fallback declaration.
97255         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
97256         m4/environ.m4.
97257         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
97258         (gl_PREREQ_UNSETENV): Likewise.
97260 2008-02-24  Bruno Haible  <bruno@clisp.org>
97262         * doc/posix-functions/environ.texi: Document the MacOS X problem.
97264 2008-02-20  Bob Proulx  <bob@proulx.com>
97266         Enable use of older two part flavor 'git describe'.
97267         * build-aux/git-version-gen: If using the older two part flavor of
97268         git version then recreate the third part now present in the
97269         newer three part flavor of git describe.
97271 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
97273         * lib/fts.c (fts_build): Typo correction to comment.
97275 2008-02-17  Bruno Haible  <bruno@clisp.org>
97277         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
97278         generating no-op conflicts.
97280 2008-02-17  Bruno Haible  <bruno@clisp.org>
97282         Speed up by 10%.
97283         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
97284         result_entries, rather than an index-based loop.
97286 2008-02-17  Bruno Haible  <bruno@clisp.org>
97288         Speed up by 25%.
97289         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
97290         'hashcode_cached'.
97291         (entry_create): New function.
97292         (entry_hashcode): Use the cached hashcode if possible.
97293         (read_changelog_file, try_split_merged_entry): Use entry_create.
97295 2008-02-17  Bruno Haible  <bruno@clisp.org>
97297         Speed up from O(n^2) to O(n) for long ChangeLog files.
97298         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
97299         (read_changelog_file): Change implementation of entries_reversed list
97300         to rbtreehash.
97301         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
97303 2008-02-17  Bruno Haible  <bruno@clisp.org>
97305         New option --split-merged-entry.
97306         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
97307         (find_paragraph_end, try_split_merged_entry): New functions.
97308         (long_options): Add option --split-merged-entry.
97309         (usage): Document option --split-merged-entry.
97310         (main): Implement option --split-merged-entry.
97311         Reported by Eric Blake.
97313 2008-02-17  Bruno Haible  <bruno@clisp.org>
97315         * lib/git-merge-changelog.c: Include c-strstr.h.
97316         (main): Support the "git pull --rebase" situation.
97317         * modules/git-merge-changelog (Depends-on): Add c-strstr.
97318         Reported by Eric Blake.
97320 2008-02-16  Eric Blake  <ebb9@byu.net>
97322         Avoid doubling \ in common case of "c-maybe" quoting style.
97323         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
97324         eliding outer quotes.
97325         * lib/quotearg.h: Document this.
97326         * tests/test-quotearg.c (result_strings, inputs, results_g)
97327         (flag_results, locale_results): Test it by adding a new string to
97328         each test group.
97329         (compare_strings): Test new string.
97331 2008-02-13  Eric Blake  <ebb9@byu.net>
97333         Avoid trigraph quoting in default output.
97334         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
97335         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
97336         unless explicitly requested.
97337         * tests/test-quotearg.c (flag_results, main): Add additional tests.
97339 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
97341         Don't rely on signed integer overflowing to negative value.
97342         * lib/getugroups.c (getugroups): Include <limits.h>.
97343         Instead, compare against INT_MAX, and increment only if the test passes.
97345 2008-02-13  Jim Meyering  <meyering@redhat.com>
97346         and Eric Blake  <ebb9@byu.net>
97348         Avoid shadowing warning and compile errors on Linux.
97349         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
97350         forwarding macros on Linux.
97351         (dcgettext): Define a stub, for Linux.
97352         (results_g, main): Avoid warnings.
97354 2008-02-12  Eric Blake  <ebb9@byu.net>
97356         Silence warning in last patch.
97357         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
97359         Quotearg part 4: add tests, fix c-maybe colon quoting.
97360         * lib/quotearg.h: Improve documentation.
97361         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
97362         escapes when adding outer quotes.  When quoting trigraphs, use
97363         valid C notation.  When quoting NUL, omit extra characters if next
97364         character is not digit.  Alter prototype.
97365         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
97366         callers.
97367         * modules/quotearg-tests: New module.
97368         * tests/test-quotearg.c: New test.
97370 2008-02-07  Eric Blake  <ebb9@byu.net>
97372         Quotearg part 3: add flag to control outer quote elision.
97373         * lib/quotearg.h (c_maybe_quoting_style): New style.
97374         (enum quoting_flags): Better documentation of flags.
97375         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
97376         c-maybe style.
97377         (quotearg_buffer_restyled): Handle new flag to elide outer
97378         quotes.
97380         Quotearg part 2: add flag that can control NUL elision.
97381         * lib/quotearg.h (set_quoting_flags): New prototype.
97382         * lib/quotearg.c (struct quoting_options): Add flag field.
97383         (set_quoting_flags): New function.
97384         (quotearg_buffer_restyled): Add flags parameter.
97385         (quotearg_alloc_mem): Set the flag if length cannot be returned.
97386         (quotearg_n_options): Set the flag, since length cannot be
97387         returned.
97388         (quoting_options_from_style): Default flags correctly.
97390         Quotearg part 1: more wrappers, restore quotearg_char state.
97391         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
97392         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
97393         (quotearg_colon_mem): New wrappers.
97394         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
97395         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
97396         functions.
97397         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
97398         (quotearg_colon_mem): New functions.
97400 2008-02-11  Bruno Haible  <bruno@clisp.org>
97402         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
97403         library in the current directory: it does not work with parallel make.
97404         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97406 2008-02-11  Bruno Haible  <bruno@clisp.org>
97408         * .gitattributes: New file.
97410 2008-02-11  Jim Meyering  <meyering@redhat.com>
97412         useless-if-before-free: Fix reversed exit values.
97413         * build-aux/useless-if-before-free: Use correct values
97414         for EXIT_MATCH and EXIT_NO_MATCH.
97416         * build-aux/useless-if-before-free: Close stdout carefully.
97418 2008-02-10  Bruno Haible  <bruno@clisp.org>
97420         New module 'git-merge-changelog'.
97421         * modules/git-merge-changelog: New file.
97422         * lib/git-merge-changelog.c: New file.
97424 2008-02-10  Jim Meyering  <meyering@redhat.com>
97426         useless-if-before-free: New option: --list (-l).
97428         useless-if-before-free: Don't exit immediately upon open failure.
97429         * build-aux/useless-if-before-free: Exit 2 for errors.
97430         Upon failure to open a file, don't exit immediately.
97431         Rather, just warn and continue with any remaining files.
97433 2008-02-10  Bruno Haible  <bruno@clisp.org>
97435         New abstract list operation 'node_set_value'.
97436         * lib/gl_list.h (gl_list_node_set_value): New function.
97437         (struct gl_list_implementation): New field node_set_value.
97438         * lib/gl_list.c (gl_list_node_set_value): New function.
97439         * lib/gl_array_list.c (gl_array_node_set_value): New function.
97440         (gl_array_list_implementation): Update.
97441         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
97442         (gl_carray_list_implementation): Update.
97443         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
97444         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
97445         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
97446         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
97447         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
97448         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
97449         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
97450         Update.
97451         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
97452         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
97453         (gl_sublist_list_implementation): Update.
97455 2008-02-10  Bruno Haible  <bruno@clisp.org>
97457         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
97458         Needed when ELEMENT is #defined to 'some_type *'.
97460 2008-02-10  Jim Meyering  <meyering@redhat.com>
97462         New script and module: useless-if-before-free
97463         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
97464         * build-aux/useless-if-before-free: New file.
97465         * modules/useless-if-before-free: New file.
97467         * build-aux/gitlog-to-changelog: Use committer date, not author date.
97469         xstrtol_error: Fix typo.
97470         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
97471         s/exit_failure/exit_status/.
97473 2008-02-09  Jim Meyering  <meyering@redhat.com>
97475         New script and module: gitlog-to-changelog
97476         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
97477         * modules/gitlog-to-changelog: New file.
97478         * build-aux/gitlog-to-changelog: New file.
97480 2008-02-08  Jim Meyering  <meyering@redhat.com>
97482         Avoid two "parameter unused" warnings.
97483         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
97484         Mark "st" as used.
97486         Use "git COMMAND", not "git-COMMAND".
97487         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
97488         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
97489         * build-aux/git-version-gen: Use "git status", not "git-status".
97491 2008-02-07  Bruno Haible  <bruno@clisp.org>
97493         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
97494         Avoids a crash on Windows Vista.
97495         Reported by Adam Strzelecki <ono@java.pl> via
97496         Simon Josefsson <simon@josefsson.org>.
97498 2008-02-06  Bruno Haible  <bruno@clisp.org>
97500         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
97501         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
97502         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
97503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
97504         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97505         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97506         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
97507         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
97508         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97509         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97510         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97511         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97512         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97513         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97514         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97515         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
97516         left-adjust flag.
97517         * tests/test-snprintf-posix.h (test_function): Likewise.
97518         * tests/test-sprintf-posix.h (test_function): Likewise.
97519         * tests/test-vasprintf-posix.c (test_function): Likewise.
97520         * doc/posix-functions/fprintf.texi: Update.
97521         * doc/posix-functions/printf.texi: Update.
97522         * doc/posix-functions/snprintf.texi: Update.
97523         * doc/posix-functions/sprintf.texi: Update.
97524         * doc/posix-functions/vfprintf.texi: Update.
97525         * doc/posix-functions/vprintf.texi: Update.
97526         * doc/posix-functions/vsnprintf.texi: Update.
97527         * doc/posix-functions/vsprintf.texi: Update.
97528         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97530 2008-02-06  Bruno Haible  <bruno@clisp.org>
97532         Fix bug introduced on 2008-01-26.
97533         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
97535 2008-02-06  Bruno Haible  <bruno@clisp.org>
97537         Fix bug introduced on 2007-06-10.
97538         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
97539         !NEED_PRINTF_FLAG_ZERO.
97541 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
97543         getloadavg: use libperfstat on AIX5
97544         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
97546 2008-02-03  Bruno Haible  <bruno@clisp.org>
97548         * lib/diffseq.h: Add comments about required #includes.
97549         Reported by Michael Biggs <gnulib@doubleplum.net>.
97551 2008-02-01  Bruno Haible  <bruno@clisp.org>
97553         * users.txt: Add gnuit.
97555 2008-01-31  Bruno Haible  <bruno@clisp.org>
97557         * lib/md4.c (set_uint32): Mark as inline.
97558         * lib/md5.c (set_uint32): Likewise.
97559         * lib/sha1.c (set_uint32): Likewise.
97560         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
97561         * m4/md5.m4 (gl_MD5): Likewise.
97562         * m4/sha1.m4 (gl_SHA1): Likewise.
97564 2008-01-31  Jim Meyering  <meyering@redhat.com>
97566         Use "sizeof VAR", rather than a literal "4".
97567         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
97568         * lib/md4.c (md4_read_ctx): Likewise.
97569         * lib/sha1.c (sha1_read_ctx): Likewise.
97571 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97573         * tests/test-sha1.c: New file, based on test-md5.c.
97575         * modules/crypto/sha1-tests: New file.
97577 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97579         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
97581 2008-01-31  Jim Meyering  <meyering@redhat.com>
97583         Prefer "sizeof v" over the equivalent "4".
97584         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
97585         * lib/md5.c (set_uint32): Likewise.
97586         * lib/sha1.c (set_uint32): Likewise.
97588 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97590         * lib/sha1.c (set_uint32): Mark function as static.
97592 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97594         md2: clarify comments to say that alignment is not required.
97595         * lib/md2.h: Remove warning about alignment in comment.
97596         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
97597         never been required.
97599 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97601         md4: adapt alignment constraint fix from sha1.
97602         * lib/md4.c (set_uint32): New function, from sha1.c
97603         (md4_read_ctx): Use it.
97604         (md4_finish_ctx): Doc fix.
97605         * lib/md4.h: Doc fix.
97607 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97609         md5: adapt alignment constraint fix from sha1.
97610         * lib/md5.c (set_uint32): New function, from sha1.c
97611         (md5_read_ctx): Use it.
97612         (md5_finish_ctx): Doc fix.
97613         * lib/md5.h: Doc fix.
97615 2008-01-30  Peter Palfrader  <weasel@debian.org>
97617         sha1: remove the result buffer alignment constraint
97618         * lib/sha1.c (set_uint32): New function.
97619         (sha1_read_ctx): Rewrite to remove the result buffer alignment
97620         constraint.
97621         (sha1_finish_ctx): Remove comment warning about alignment constraint.
97622         * lib/sha1.h: Likewise.
97624 2008-01-30  Andreas Schwab  <schwab@suse.de>
97625             Bruno Haible  <bruno@clisp.org>
97627         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
97628         correct definition of LDBL_MIN_EXP.
97630 2008-01-30  Karl Berry  <karl@gnu.org>
97632         * config/srclist-update: try to preserve x bit on updates.
97633         * config/srclistvars.sh: update for karl.
97635 2008-01-29  Jim Meyering  <meyering@redhat.com>
97637         vasnprintf.c: Avoid warning about unused label
97638         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
97639         "overflow" label definition and associated code with the
97640         same cpp condition that guards the sole use of that label.
97642 2008-01-26  Bruno Haible  <bruno@clisp.org>
97644         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
97645         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
97646         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
97647         * lib/isnanl-nolibm.h (isnanl): Likewise.
97648         Reported by Paul Eggert <eggert@cs.ucla.edu>.
97650 2008-01-26  Bruno Haible  <bruno@clisp.org>
97652         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
97653         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
97655 2008-01-26  Bruno Haible  <bruno@clisp.org>
97657         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
97658         GCC >= 4.0 built-in.
97659         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
97661 2008-01-26  Bruno Haible  <bruno@clisp.org>
97663         Rename isnan, applicable to 'double' only, to isnand.
97664         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
97665         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
97666         (configure.ac): Update.
97667         (Include): Replace "isnan.h" with "isnand.h".
97668         * m4/isnand.m4: Renamed from m4/isnan.m4.
97669         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
97670         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
97671         instead of isnan.c.
97672         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
97673         instead of HAVE_ISNAN_IN_LIBC.
97674         (isnand): Renamed from isnan.
97675         * lib/isnand.c: New file.
97676         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
97677         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
97678         (Makefile.am): Update.
97679         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
97680         Include isnand.h instead of isnan.h.
97681         (main): Test isnand instead of isnan.
97682         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
97683         isnan-nolibm.
97684         * modules/frexp (Depends-on): Likewise.
97685         * modules/frexp-tests (Depends-on): Likewise.
97686         * modules/frexp-nolibm (Depends-on): Likewise.
97687         * modules/frexp-nolibm-tests (Depends-on): Likewise.
97688         * modules/isfinite (Depends-on): Likewise.
97689         * modules/round-tests (Depends-on): Likewise.
97690         * modules/signbit (Depends-on): Likewise.
97691         * modules/signbit-tests (Depends-on): Likewise.
97692         * modules/snprintf-posix (Depends-on): Likewise.
97693         * modules/sprintf-posix (Depends-on): Likewise.
97694         * modules/trunc-tests (Depends-on): Likewise.
97695         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
97696         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
97697         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
97698         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
97699         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
97700         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
97701         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
97702         * modules/vasnprintf-posix (Depends-on): Likewise.
97703         * modules/vasprintf-posix (Depends-on): Likewise.
97704         * modules/vfprintf-posix (Depends-on): Likewise.
97705         * modules/vsnprintf-posix (Depends-on): Likewise.
97706         * modules/vsprintf-posix (Depends-on): Likewise.
97707         * lib/frexp.c: Include isnand.h instead of isnan.h.
97708         (ISNAN): Set to isnand instead of isnan.
97709         * lib/isfinite.c: Include isnand.h instead of isnan.h.
97710         (gl_isfinited): Use isnand instead of isnan.
97711         * lib/signbitd.c: Include isnand.h instead of isnan.h.
97712         (gl_signbitd): Use isnand instead of isnan.
97713         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
97714         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
97715         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
97716         (main): Use isnand instead of isnan.
97717         * tests/test-round1.c: Include isnand.h.
97718         (main): Use isnand instead of isnan.
97719         * tests/test-round2.c: Include isnand.h instead of isnan.h.
97720         (ISNAN): Set to isnand instead of isnan.
97721         * tests/test-trunc1.c: Include isnand.h.
97722         (main): Use isnand instead of isnan.
97723         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
97724         (equal): Use isnand instead of isnan.
97725         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
97726         isnand-nolibm.
97727         * NEWS: Mention the change.
97729 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
97730             Bruno Haible  <bruno@clisp.org>
97732         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
97733         the GCC builtins for signbits are present and set
97734         REPLACE_SIGNBIT_USING_GCC if so.
97735         * lib/math.in.h (signbit): Define using GCC builtins if
97736         REPLACE_SIGNBIT_USING_GCC is set.
97737         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
97738         REPLACE_SIGNBIT_USING_GCC.
97739         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
97741 2008-01-25  Jim Meyering  <meyering@redhat.com>
97743         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
97744         * lib/poll.c: Include <config.h>, not "config.h".
97745         * tests/test-getaddrinfo.c: Likewise.
97747 2008-01-25  Simon Josefsson  <simon@josefsson.org>
97749         * modules/sockets-tests: New file.
97751 2008-01-24  Simon Josefsson  <simon@josefsson.org>
97753         * modules/sockets: New module, can be used to call WSA_Startup and
97754         WSA_Cleanup when needed.
97756         * lib/sockets.h, lib/sockets.c: New files.
97758         * m4/sockets.m4: New file.
97760         * tests/test-sockets.c: New file.
97762 2008-01-19  Bruno Haible  <bruno@clisp.org>
97764         * doc/posix-headers: Renamed from doc/headers.
97765         * doc/posix-functions: Renamed from doc/functions.
97766         * doc/gnulib.texi: Update.
97768 2008-01-19  Bruno Haible  <bruno@clisp.org>
97770         * doc/glibc-functions/strcasestr.texi: Include contents of
97771         doc/functions/strcasestr.texi, fixing the list of platforms.
97772         * doc/functions/strcasestr.texi: Remove file.
97774 2008-01-19  Bruno Haible  <bruno@clisp.org>
97776         * doc/glibc-functions/memmem.texi: Include contents of
97777         doc/functions/memmem.texi.
97778         * doc/functions/memmem.texi: Remove file.
97780 2008-01-18  Bruno Haible  <bruno@clisp.org>
97782         * doc/glibc-functions/*.texi: New files.
97783         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
97784         to use the new files.
97786 2008-01-17  Bruno Haible  <bruno@clisp.org>
97788         * tests/test-gethostname.c (main): Fix printf statement.
97790 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97792         * modules/gethostname-tests: New file.
97794         * tests/test-gethostname.c: New file.
97796 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97798         * lib/gethostname.c: Include string.h unconditionally, strncpy is
97799         used by the UNAME case.  Reported by Bruno Haible
97800         <bruno@clisp.org>.
97802 2008-01-17  Eric Blake  <ebb9@byu.net>
97804         Convert c-strcasestr to be more efficient.
97805         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
97806         (Depends-on): Add c-strcase, remove malloca, strnlen.
97807         * tests/test-c-strcasestr.c (main): Enhance test.
97808         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
97810 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
97812         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
97813         Use it in creating po/Makevars.
97815 2008-01-15  Simon Josefsson  <simon@josefsson.org>
97817         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
97818         Applications that requires it should initialize libgcrypt
97819         manually.
97821 2008-01-16  Simon Josefsson  <simon@josefsson.org>
97823         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
97825 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
97827         Fix problem with getdate on mingw32 reported by Simon Josefsson
97828         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
97829         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
97830         tzname", when deciding whether to declare tzname.
97831         * lib/strftime.c (tzname): Likewise.
97833 2008-01-15  Bruno Haible  <bruno@clisp.org>
97835         Work around a MacOS X 10.5 bug in frexpl().
97836         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
97837         * doc/functions/frexpl.texi: Document the bug.
97838         Reported by Elias Pipping <pipping@gentoo.org>.
97840 2008-01-14  Eric Blake  <ebb9@byu.net>
97842         Touch up previous patch.
97843         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
97844         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
97846         Convert strcasestr module to use Two-Way algorithm.
97847         * modules/strcasestr-simple: New module, based on the old
97848         strcasestr, but with Two-Way rather than KMP.
97849         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
97850         * lib/string.in.h (rpl_strcasestr): Declare.
97851         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
97852         performance.
97853         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
97854         * modules/string (Makefile.am): Support strcasestr.
97855         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
97856         * modules/strcasestr-tests (Depends-on): Check for alarm.
97857         * tests/test-strcasestr.c: Augment test.
97858         * lib/str-two-way.h: Clean up stray macro.
97859         * NEWS: Document new module.
97860         * MODULES.html.sh (string handling): Likewise.
97861         * doc/functions/strcasestr.texi: New file.
97862         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
97863         here, since it is not a POSIX function.
97865 2008-01-14  Colin Watson  <cjwatson@debian.org>
97866             Bruno Haible  <bruno@clisp.org>
97868         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
97869         works fine; if not, set REPLACE_STRSIGNAL.
97870         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
97871         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97872         REPLACE_STRSIGNAL.
97873         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
97874         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
97875         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
97877 2008-01-14  Bruno Haible  <bruno@clisp.org>
97879         * modules/strsignal (Include): Change to <string.h>.
97881 2008-01-14  Colin Watson  <cjwatson@debian.org>
97883         * modules/argp (Notice): Add a notice recommending to change
97884         XGETTEXT_OPTIONS.
97885         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
97887 2008-01-13  Colin Watson  <cjwatson@debian.org>
97889         * modules/strsignal-tests: New file.
97890         * tests/test-strsignal.c: New file.
97892         * lib/strsignal.c: New file, from glibc with modifications.
97893         * lib/siglist.h: New file, from glibc with modifications.
97894         * lib/string.in.h (strsignal): New declaration.
97895         * m4/strsignal.m4: New file.
97896         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97897         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
97898         * modules/strsignal: New file.
97899         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
97900         HAVE_DECL_STRSIGNAL.
97902 2008-01-13  Bruno Haible  <bruno@clisp.org>
97904         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
97905         locale encoding is not ASCII. Needed for OpenBSD 4.0.
97906         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
97907         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
97909 2008-01-13  Bruno Haible  <bruno@clisp.org>
97911         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
97912         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
97913         * lib/argp.h (__attribute__): Likewise.
97914         * lib/c-stack.c (__attribute__): Likewise.
97915         * lib/error.h (__attribute__): Likewise.
97916         * lib/fts.c (__attribute__): Likewise.
97917         * lib/openat.h (__attribute__): Likewise.
97918         * lib/stdio.in.h (__attribute__): Likewise.
97919         * lib/string.in.h (__attribute__): Likewise.
97920         * lib/utimens.c (__attribute__): Likewise.
97921         * lib/vasnprintf.h (__attribute__): Likewise.
97922         * lib/xalloc.h (__attribute__): Likewise.
97923         * lib/xprintf.h (__attribute__): Likewise.
97924         * lib/xstrtol.h (__attribute__): Likewise.
97925         * lib/xvasprintf.h (__attribute__): Likewise.
97927 2008-01-12  Bruno Haible  <bruno@clisp.org>
97929         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
97930         * doc/glibc-headers/a.out.texi: New file.
97931         * doc/glibc-headers/aliases.texi: New file.
97932         * doc/glibc-headers/alloca.texi: New file.
97933         * doc/glibc-headers/ar.texi: New file.
97934         * doc/glibc-headers/argp.texi: New file.
97935         * doc/glibc-headers/argz.texi: New file.
97936         * doc/glibc-headers/byteswap.texi: New file.
97937         * doc/glibc-headers/crypt.texi: New file.
97938         * doc/glibc-headers/endian.texi: New file.
97939         * doc/glibc-headers/envz.texi: New file.
97940         * doc/glibc-headers/err.texi: New file.
97941         * doc/glibc-headers/error.texi: New file.
97942         * doc/glibc-headers/execinfo.texi: New file.
97943         * doc/glibc-headers/fpu_control.texi: New file.
97944         * doc/glibc-headers/fstab.texi: New file.
97945         * doc/glibc-headers/fts.texi: New file.
97946         * doc/glibc-headers/getopt.texi: New file.
97947         * doc/glibc-headers/ieee754.texi: New file.
97948         * doc/glibc-headers/ifaddrs.texi: New file.
97949         * doc/glibc-headers/libintl.texi: New file.
97950         * doc/glibc-headers/mcheck.texi: New file.
97951         * doc/glibc-headers/mntent.texi: New file.
97952         * doc/glibc-headers/obstack.texi: New file.
97953         * doc/glibc-headers/paths.texi: New file.
97954         * doc/glibc-headers/printf.texi: New file.
97955         * doc/glibc-headers/pty.texi: New file.
97956         * doc/glibc-headers/resolv.texi: New file.
97957         * doc/glibc-headers/shadow.texi: New file.
97958         * doc/glibc-headers/sysexits.texi: New file.
97959         * doc/glibc-headers/ttyent.texi: New file.
97961 2008-01-12  Jim Meyering  <meyering@redhat.com>
97963         announce-gen: emit Gnulib's git-based version string.
97964         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
97965         New option --gnulib-version=V, where V is expected to be
97966         the output of running git describe in the gnulib directory.
97967         (get_tool_versions): Request feedback on xdelta.  I suspect it's
97968         not useful, and plan to stop publishing an xdelta file with each
97969         coreutils release.
97971         * build-aux/announce-gen: Also check for lzma-compressed files.
97973 2008-01-11  Bruno Haible  <bruno@clisp.org>
97975         * tests/test-memmem.c (main): Increase maximum allowed time.
97976         * tests/test-strstr.c (main): Likewise.
97978 2008-01-11  Bruno Haible  <bruno@clisp.org>
97980         * doc/functions/memmem.texi: Add more precisions about platforms.
97981         * doc/functions/strstr.texi: Likewise.
97983 2008-01-10  Eric Blake  <ebb9@byu.net>
97985         * m4/strstr.m4: Delete cruft from copy-n-paste.
97986         Reported by Bruno Haible.
97988 2008-01-10  Bruno Haible  <bruno@clisp.org>
97990         Make c-strstr rely on strstr.
97991         * lib/c-strstr.c: Don't include str-kmp.h.
97992         (c_strstr): Define in terms of strstr.
97993         * modules/c-strstr (Files): Remove lib/str-kmp.h.
97994         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
97996 2008-01-10  Bruno Haible  <bruno@clisp.org>
97998         * doc/gnulib.texi (String Functions in C Locale): New section.
97999         * doc/c-ctype.texi: New file.
98000         * doc/c-strcase.texi: New file.
98001         * doc/c-strcaseeq.texi: New file.
98002         * doc/c-strcasestr.texi: New file.
98003         * doc/c-strstr.texi: New file.
98004         * doc/c-strtod.texi: New file.
98005         * doc/c-strtold.texi: New file.
98007 2008-01-10  Eric Blake  <ebb9@byu.net>
98009         * lib/relocatable.h: Fix a comment.
98011 2008-01-10  Eric Blake  <ebb9@byu.net>
98013         Share two-way algorithm.
98014         * lib/str-two-way.h: New file, merged from...
98015         * lib/memmem.c: ...here...
98016         * lib/strstr.c: ...and here.
98017         * modules/memmem (Files): Use it.
98018         * modules/strstr (Files): Likewise.
98020         Avoid quadratic strstr implementations.
98021         * lib/strstr.c: New file.
98022         * m4/strstr.m4: Likewise.
98023         * modules/strstr: Likewise.
98024         * modules/strstr-tests: Likewise.
98025         * tests/test-strstr.c: Likewise.
98026         * lib/string.in.h (rpl_strstr): Declare.
98027         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
98028         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
98029         * modules/string (Makefile.am): Likewise.
98030         * MODULES.html.sh (string handling): Mention new module.
98031         * doc/functions/strstr.texi (strstr): Document the bug.
98033 2008-01-10  Bruno Haible  <bruno@clisp.org>
98035         * lib/relocatable.h (relocate): State whether result is freshly
98036         allocated or not.
98037         * lib/relocatable.c (relocate): Return a freshly allocated string
98038         instead of a pointer to a privately held string.
98039         Reported by Sylvain Beucler <beuc@gnu.org>.
98041 2008-01-10  Colin Watson  <cjwatson@debian.org>
98043         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
98044         s/S_ISNLK/S_ISLNK/.
98046 2008-01-09  Bruno Haible  <bruno@clisp.org>
98048         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
98049         and other files.
98050         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
98051         if it's only a guess.
98052         * modules/memmem: Simplify by depending on memmem-simple.
98054 2008-01-09  Bruno Haible  <bruno@clisp.org>
98056         Work around OpenBSD 4.0 tdelete() bug.
98057         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
98058         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
98059         macros and don't redefine the enum values.
98060         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
98061         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
98062         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
98064 2008-01-09  Bruno Haible  <bruno@clisp.org>
98066         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
98067         (main): Don't perform the tests if setlocale did not install a UTF-8
98068         locale. Needed on OpenBSD 4.0.
98069         * modules/wcwidth-tests (Depends-on): Add localcharset.
98071 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
98073         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
98074         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
98075         * NEWS: announce this.
98076         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
98078 2008-01-09  Simon Josefsson  <simon@josefsson.org>
98079         and Eric Blake  <ebb9@byu.net>
98081         Add memmem-simple module.
98082         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
98083         (gl_FUNC_MEMMEM): Separate performance from presence checks.
98084         * modules/memmem-simple: New file.
98085         * modules/memmem (Description): Tweak.
98086         * MODULES.html.sh (string handling): Mention new module.
98087         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
98088         addressed by memmem-simple.
98089         * NEWS: Document the difference.
98091 2008-01-09  Eric Blake  <ebb9@byu.net>
98093         Give gcc some memmem optimization hints.
98094         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
98095         (strcasestr): Declare as pure.
98096         * modules/memmem (Maintainer): Claim my implementation.
98098 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98100         Support AIX 6.1 and higher.
98101         * build-aux/config.libpath: Likewise.
98102         * build-aux/config.rpath: Likewise.
98104 2008-01-08  Jim Meyering  <meyering@redhat.com>
98105             Bruno Haible  <bruno@clisp.org>
98107         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
98108         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
98109         Reported by Peter Fales in
98110         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
98112 2008-01-08  Bruno Haible  <bruno@clisp.org>
98114         * modules/unictype/category-of (Depends-on): Add
98115         unictype/category-none.
98116         * modules/unictype/category-and-tests (Depends-on): Add
98117         unictype/category-{L,N,Lu,Nd}.
98118         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
98119         * modules/unictype/category-or-tests (Depends-on): Add
98120         unictype/category-{L,N}.
98121         * modules/unictype/category-name-tests (Depends-on): Add
98122         unictype/category-{Z,Nl}.
98123         Reported by Simon Josefsson.
98125 2008-01-08  Bruno Haible  <bruno@clisp.org>
98127         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
98128         convention better.
98129         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
98130         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
98131         Reported by Peter Miller <millerp@canb.auug.org.au>.
98133 2008-01-08  Eric Blake  <ebb9@byu.net>
98135         Rewrite memmem to guarantee linear complexity without malloc.
98136         * lib/memmem.c (memmem): Use Two-Way rather than
98137         Knuth-Morris-Pratt, to allow O(1) space usage.
98138         (critical_factorization, two_way_short_needle)
98139         (two_way_long_needle): New functions.
98140         (knuth_morris_pratt): Delete.
98141         * modules/memmem (Depends-on): No longer need malloca or stdbool.
98142         Add stdint.
98143         * tests/test-memmem.c (main): Add tests for periodic needle and
98144         sublinear performance.
98145         * doc/functions/memmem.texi (memmem): Document other deficiencies
98146         in cygwin and older glibc.
98148 2008-01-08  Bruno Haible  <bruno@clisp.org>
98150         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
98151         augmentation.
98153 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
98155         Add a configure time option: --disable-acl.
98156         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
98157         AC_ARG_ENABLE(acl).
98159 2008-01-06  Simon Josefsson  <simon@josefsson.org>
98161         * tests/test-localename.c: Don't include obsolete "setenv.h".
98163         * modules/localename-tests (Depends-on): Need unsetenv.
98165 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98167         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
98169 2008-01-06  Colin Watson  <cjwatson@debian.org>
98171         * users.txt: Add man-db.
98173 2008-01-07  Bruno Haible  <bruno@clisp.org>
98175         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
98176         previous section name.
98178 2008-01-07  Bruno Haible  <bruno@clisp.org>
98180         * lib/progname.c (set_program_name): Don't strip off a leading
98181         "lt-" prefix outside a .libs directory.
98182         Suggested by Paul Eggert.
98184 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
98185             Bruno Haible  <bruno@clisp.org>
98187         Improve memory cleanup in 'relocatable' module.
98188         * lib/relocatable.h (compute_curr_prefix): Change return type to
98189         'char *'.
98190         * lib/relocatable.c (compute_curr_prefix): Change return type to
98191         'char *'. Free curr_installdir after use.
98192         (relocate): Free curr_prefix_better after use.
98193         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
98195 2008-01-01  Bruno Haible  <bruno@clisp.org>
98197         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
98198         failure on older glibc systems.
98199         Reported by Peter Fales <psfales@alcatel-lucent.com>.
98201 2008-01-05  Eric Blake  <ebb9@byu.net>
98203         Avoid quadratic system memmem.
98204         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
98205         Reported by Ralf Wildenhues.
98207         Fix memmem test for mingw.
98208         * modules/memmem-tests (configure.ac): Check for alarm.
98209         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
98210         it.
98211         * doc/functions/memmem.texi: New file.
98212         * doc/gnulib.texi (Function Substitutes): Add memmem.
98213         Reported by Bruno Haible.
98215 2008-01-04  Bruno Haible  <bruno@clisp.org>
98217         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
98218         Require gl_HEADER_STRINGS_H_DEFAULTS, not
98219         gl_HEADER_STRING_H_DEFAULTS.
98221 2008-01-04  Eric Blake  <ebb9@byu.net>
98223         Shorten duration of memmem test.
98224         * tests/test-memmem.c (main): Use alarm to declare failure if test
98225         is taking too long.
98226         Reported by Ralf Wildenhues.
98228 2007-12-21  Simon Josefsson  <simon@josefsson.org>
98230         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
98231         string, needed by strerror.
98233 2008-01-03  Colin Watson  <cjwatson@debian.org>
98234             Bruno Haible  <bruno@clisp.org>
98236         * doc/gnulib-tool.texi (Localization): New section.
98238 2008-01-02  Bruno Haible  <bruno@clisp.org>
98240         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
98241         variables to 'unsigned char *' type.
98242         Reported by Paul Eggert.
98244 2008-01-02  Jim Meyering  <jim@meyering.net>
98246         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
98248 2007-12-31  Jim Meyering  <jim@meyering.net>
98250         Avoid use of private FTS type name.
98251         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
98253 2007-12-30  Karl Berry  <karl@gnu.org>
98255         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
98256         work around defect in Texinfo and/or the standalone Info browser.
98258 2007-12-30  Bruno Haible  <bruno@clisp.org>
98260         Unify 5 copies of the KMP code.
98261         * lib/str-kmp.h: New file.
98262         * lib/c-strcasestr.c: Include str-kmp.h.
98263         (knuth_morris_pratt): Remove function.
98264         (c_strcasestr): Update.
98265         * lib/c-strstr.c: Include str-kmp.h.
98266         (knuth_morris_pratt): Remove function.
98267         (c_strcasestr): Update.
98268         * lib/mbscasestr.c: Include str-kmp.h.
98269         (knuth_morris_pratt_unibyte): Remove function.
98270         * lib/mbsstr.c: Include str-kmp.h.
98271         (knuth_morris_pratt_unibyte): Remove function.
98272         * lib/strcasestr.c: Include str-kmp.h.
98273         (knuth_morris_pratt): Remove function.
98274         (strcasestr): Update.
98275         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
98276         * modules/c-strstr (Files): Likewise.
98277         * modules/mbscasestr (Files): Likewise.
98278         * modules/mbsstr (Files): Likewise.
98279         * modules/strcasestr (Files): Likewise.
98280         Suggested by Paul Eggert.
98282 2007-12-30  Bruno Haible  <bruno@clisp.org>
98284         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
98285         defined.
98287 2007-12-30  Bruno Haible  <bruno@clisp.org>
98289         * lib/xmalloca.h: Include xalloc.h.
98290         (xnmalloca): New macro.
98292 2007-12-30  Bruno Haible  <bruno@clisp.org>
98294         * lib/malloca.h (nmalloca): New macro.
98295         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
98296         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
98297         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
98298         knuth_morris_pratt_multibyte): Likewise.
98299         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
98300         knuth_morris_pratt_multibyte): Likewise.
98301         * lib/memmem.c (knuth_morris_pratt): Likewise.
98302         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
98304 2007-12-25  Bruno Haible  <bruno@clisp.org>
98306         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
98307         * lib/glob.c: Don't include openat.h.
98308         (link_exists2_p): Add back the code that deals with the
98309         !GLOB_ALTDIRFUNC case.
98310         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
98311         let it do the filename concatenation.
98312         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
98313         * modules/glob (Depends-on): Remove openat.
98315 2007-12-31  Bruno Haible  <bruno@clisp.org>
98317         * modules/dirfd (License): Change to LGPLv2+.
98318         Approved by Jim Meyering.
98320 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
98322         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
98323         when multiplying M by sizeof (size_t).
98325 2007-12-10  Martin Lambers  <marlam@marlam.de>
98327         Override getpagesize on mingw.
98328         * lib/getpagesize.c: New file.
98329         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
98330         * modules/getpagesize (Files): Add lib/getpagesize.c.
98331         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
98332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
98333         REPLACE_GETPAGESIZE.
98334         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
98336 2007-12-25  Bruno Haible  <bruno@clisp.org>
98338         * modules/localcharset (Notice): New field.
98339         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
98340         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
98342 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
98343             Bruno Haible  <bruno@clisp.org>
98345         Avoid using the syntax symbol() in formatted documentation.
98346         * MODULES.html.sh (func_module): When replacing symbol() with a
98347         hyperlink, remove the parentheses. Show an error if some remain.
98348         Recognize and render the '...' syntax.
98349         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
98350         Rework. Add paragraph about GCC's inlining.
98351         * doc/alloca.texi: Likewise.
98352         * doc/error.texi: Remove parentheses from symbol reference.
98353         * doc/gnulib-intro.texi: Likewise.
98354         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
98355         * modules/fnmatch (Description): Reword to say "the ... function".
98356         * modules/full-read (Description): Likewise.
98357         * modules/full-write (Description): Likewise.
98358         * modules/safe-read (Description): Likewise.
98359         * modules/safe-write (Description): Likewise.
98360         * modules/strchrnul (Description): Likewise.
98361         * modules/trim (Description): Likewise.
98362         * modules/error (Description): Remove parentheses from symbol
98363         references.
98364         * modules/verror (Description): Likewise.
98365         Reported by Karl Berry.
98367 2007-12-25  Bruno Haible  <bruno@clisp.org>
98369         Fixup after 2007-10-16 commit.
98370         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
98372 2007-12-24  Bruno Haible  <bruno@clisp.org>
98374         Make --enable-relocatable work with DESTDIR.
98375         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
98376         to compute installdir from destprog.
98377         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
98378         also set the RELOC_DESTDIR variable.
98379         Reported by Левашев Иван <octagram@bluebottle.com>.
98381 2007-12-24  Bruno Haible  <bruno@clisp.org>
98383         Fix link error due to xalloc_die().
98384         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
98385         of xreadlink.
98386         * lib/relocwrapper.c: Update comments.
98387         * build-aux/install-reloc: Remove xreadlink.c from file list.
98388         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
98389         xreadlink.c.
98390         Reported by Левашев Иван <octagram@bluebottle.com>.
98392 2007-12-24  Bruno Haible  <bruno@clisp.org>
98394         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
98395         * lib/setenv.h: Remove file.
98396         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
98397         lib/setenv.h.
98398         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
98399         (Depends-on): Add stdlib.
98400         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
98401         gl_FUNC_UNSETENV.
98402         (Include): Replace setenv.h with <stdlib.h>.
98403         * modules/unsetenv: New file.
98404         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
98405         * lib/unsetenv.c: Include <stdlib.h> first.
98406         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
98407         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
98408         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
98409         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
98410         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
98411         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98412         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
98413         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98414         * doc/functions/unsetenv.texi: Update.
98415         * modules/xsetenv (Depends-on): Add unsetenv.
98416         * modules/getdate (Depends-on): Likewise.
98417         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
98418         * lib/xsetenv.c: Don't include setenv.h.
98419         * lib/getdate.y: Likewise.
98420         * lib/relocwrapper.c: Likewise.
98421         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
98422         (Depends-on): Add stdlib.
98423         * NEWS: Mention the changes.
98424         Reported by Левашев Иван <octagram@bluebottle.com>.
98426 2007-12-23  Bruno Haible  <bruno@clisp.org>
98428         * lib/memmem.c (memmem): Use lowercase variable names. Tab
98429         indentation.
98431 2007-12-23  Bruno Haible  <bruno@clisp.org>
98433         * lib/c-strcasestr.c: Add more comments.
98434         * lib/c-strstr.c: Likewise.
98435         * lib/mbscasestr.c: Likewise.
98436         * lib/mbsstr.c: Likewise.
98437         * lib/strcasestr.c: Likewise.
98438         * lib/memmem.c: Likewise.
98440 2007-12-23  Bruno Haible  <bruno@clisp.org>
98442         * tests/test-memmem.c: Include <string.h> first.
98444 2007-12-22  Bruno Haible  <bruno@clisp.org>
98446         * gnulib-tool (func_create_testdir): Change $auxdir while generating
98447         the contents of $testsbase.
98448         Reported by Ralf Wildenhues.
98450 2007-12-22  Bruno Haible  <bruno@clisp.org>
98452         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
98453         two variables local_ldadd_before, local_ldadd_last.
98455 2007-12-20  Eric Blake  <ebb9@byu.net>
98457         Work around circular library issue when cross-compiling.
98458         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
98459         that progname.o does not need to pull in rpl_memcmp.
98461 2007-12-19  Eric Blake  <ebb9@byu.net>
98463         Fix memmem to avoid O(n^2) worst-case complexity.
98464         * lib/memmem.c (knuth_morris_pratt): New function.
98465         (memmem): Use it if first few naive iterations fail.
98466         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
98467         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
98468         * modules/memchr (License): Likewise.
98469         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
98470         malloca.
98471         * tests/test-memmem.c: Rewrite, borrowing ideas from
98472         test-mbsstr1.c; the old version wouldn't even compile!
98473         * modules/memmem-tests: New file.
98474         * lib/string.in.h (rpl_memmem): Add declaration.
98475         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
98476         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
98477         REPLACE_MEMMEM.
98479 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
98481         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
98482         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
98483         before any system include files, and undef after them all.  This
98484         should fix a problem on VMS reported by John E. Malmberg in
98485         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
98487 2007-12-17  Eric Blake  <ebb9@byu.net>
98489         Revert addition of verify, for BSD/OS.
98490         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
98491         can't handle large files, for the sake of obsolete platforms.
98492         * modules/fseeko (Depends-on): Remove verify.
98493         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
98494         * doc/functions/ftello.texi (ftello): Likewise.
98495         * doc/functions/fgetpos.texi (fgetpos): Likewise.
98496         Reported by Larry Jones.
98498 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
98500         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
98501         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
98503 2007-12-17  Jim Meyering  <meyering@redhat.com>
98505         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
98506         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
98507         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
98508         * modules/getcwd (Depends-on): Add openat.
98509         Reported by Petr Salinger.
98511 2007-12-17  Bruno Haible  <bruno@clisp.org>
98513         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
98514         avoid a segmentation fault of the configure test on x86_64 systems.
98516 2007-12-15  Jim Meyering  <meyering@redhat.com>
98518         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
98520 2007-12-13  Eric Blake  <ebb9@byu.net>
98522         Another fseek test.
98523         * tests/test-fseek.c (main): Also test ungetc handling.
98524         * tests/test-fseeko.c (main): Likewise.
98525         * modules/fseeko (Depends-on): Add verify.
98526         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
98527         large.
98528         Reported by Larry Jones.
98530         Fix fseeko on mingw.
98531         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
98532         seek.
98534         Beef up fseek tests.
98535         * tests/test-fseek.c (main): Also test eof handling.
98536         * tests/test-fseeko.c (main): Likewise.
98537         Reported by Larry Jones.
98539 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
98541         Fix fseeko on BSD-based platforms.
98542         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
98543         successful seek.
98545 2007-12-12  Eric Blake  <ebb9@byu.net>
98547         Allow circular dependency of separate libtests.a
98548         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
98549         when use_libtests.
98551 2007-12-11  Eric Blake  <ebb9@byu.net>
98553         Fix bug with -0.0L in previous patch.
98554         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
98555         * tests/test-isnan.c (main): Also test on zeroes.
98556         * tests/test-isnanf.c (main): Likewise.
98557         * tests/test-isnanl.h (main): Likewise.
98559         Detect pseudo-denormals on x86 even when cross-compiling.
98560         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
98561         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
98562         invalid bit patterns that happen to satisfy ==.
98564         Avoid link failures with separate libtests.a.
98565         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
98566         last, to satisfy circular dependencies.
98568 2007-12-11  Eric Blake  <ebb9@byu.net>
98569         and Bruno Haible  <bruno@clisp.org>
98571         Fix OpenBSD 4.0 <float.h> handling of long double.
98572         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
98573         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
98574         * doc/headers/float.texi (float.h): Document OpenBSD bug.
98576 2007-12-11  Jim Meyering  <meyering@redhat.com>
98578         * users.txt: Add libvirt.
98580         Support versions of autoconf prior to 2.59c.
98581         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
98582         if it is not already defined.
98584 2007-12-09  Bruno Haible  <bruno@clisp.org>
98586         Let 'gnulib-tool --import' collect sources needed for the tests in
98587         tests/ rather than in lib/.
98588         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
98589         argument. If true, add rules to generate libtests.a, and put libtests.a
98590         into $(LDADD). Consider source files in subdirectories and set
98591         uses_subdirs.
98592         (func_emit_initmacro_start, func_emit_initmacro_end,
98593         func_emit_initmacro_done): Pass all arguments explicitly.
98594         (func_import): Determine two module lists main_modules,
98595         testsrelated_modules. Determine use_libtests. Determine two variables
98596         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
98597         instead of just sed_transform_lib_file. Determine two variables
98598         main_files and testsrelated_files. Compute 'files' as the union of
98599         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
98600         func_add_or_update. In the generated gnulib-comp.m4, collect the
98601         object files for tests/ in different variables than those for lib/.
98602         Substitute LIBTESTS_LIBDEPS.
98603         (func_create_testdir): Combine the uses_subdirs results from
98604         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
98606 2007-12-09  Bruno Haible  <bruno@clisp.org>
98608         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
98609         the build-aux directory.
98611 2007-12-09  Bruno Haible  <bruno@clisp.org>
98613         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
98614         introduced on 2006-09-09.
98616 2007-12-07  Jim Meyering  <meyering@redhat.com>
98618         Let these macros work also with autoconf-2.59.
98619         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
98620         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
98621         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
98623 2007-12-06  Jim Meyering  <meyering@redhat.com>
98625         Avoid a configure-time syntax error in gl_FUNC_ACL.
98626         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
98627         function in each branch, before testing the cache variable.
98629 2007-12-04  Eric Blake  <ebb9@byu.net>
98631         Make scripts executable.
98632         * build-aux/config.guess: Add execute permissions.
98633         * build-aux/config.sub: Likewise.
98634         * build-aux/gendocs.sh: Likewise.
98636         Fix frexp on mingw.
98637         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
98638         cross-compiling.
98639         * doc/functions/frexp.texi (frexp): Document the bug.
98641         Make cygwin fseeko check more reliable.
98642         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
98643         version numbers, rather than unrelated feature check.
98644         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
98645         * doc/functions/ftello.texi (ftello): Likewise.
98646         Reported by Bruno Haible.
98648         * m4/strerror.m4: Bump version number.
98650 2007-12-03  Bruno Haible  <bruno@clisp.org>
98652         * doc/functions/mprotect.texi: Mention the mingw problem.
98654 2007-12-03  Eric Blake  <ebb9@byu.net>
98656         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
98657         REPLACE_STRERROR is initialized before this macro.
98659 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
98661         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
98662         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
98663         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
98664         put -lsec in even for programs other than 'ls'.  This fixes a problem
98665         for gettext reported by Bruno Haible in
98666         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
98667         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
98668         Add support for Solaris 10.  This isn't efficient, but should get the
98669         job done for now.
98671 2007-12-03  James Youngman  <jay@gnu.org>
98673         * doc/regexprops-generic.texi: change "an close-group" to "a
98674         close-group" and "illegal" to "not allowed".
98676 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98678         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
98679         pr_byname.h. Needed for the rare case when the maintainer has done
98680         "make maintainer-clean" in the source directory and then attempts a
98681         build outside the source directory.
98682         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
98683         scripts_byname.h.
98685 2007-12-02  Martin Lambers  <marlam@marlam.de>
98686             Bruno Haible  <bruno@clisp.org>
98688         * lib/getpagesize.h: Remove file.
98689         * lib/unistd.in.h: Include declaration of getpagesize here.
98690         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
98691         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
98692         HAVE_SYS_PARAM_H.
98693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
98694         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
98695         * modules/getpagesize (Files): Remove lib/getpagesize.h.
98696         (Depends-on): Add unistd.
98697         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98698         (Include): Use <unistd.h> instead of getpagesize.h.
98699         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
98700         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
98701         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
98702         gl_GETPAGESIZE invocation, already handled by module dependency.
98703         * lib/pagealign_alloc.c: Don't include getpagesize.h.
98705 2007-12-02  Bruno Haible  <bruno@clisp.org>
98707         * modules/strings-tests: New file.
98708         * tests/test-strings.c: New file.
98710         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
98711         * lib/strings.in.h: New file.
98712         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
98713         * m4/strings_h.m4: New file.
98714         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
98715         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
98716         * modules/strings: New file.
98717         * modules/string (Makefile.am): Update.
98718         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
98719         Reported by Karl Berry.
98721 2007-12-01  Eric Blake  <ebb9@byu.net>
98723         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
98724         accommodate fix in cygwin 1.5.25.
98726 2007-12-01  Jim Meyering  <meyering@redhat.com>
98728         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
98729         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
98730         that would inhibit utf8-optimization of a regexp containing line-
98731         or buffer-anchors, e.g., `^', `$'.
98733 2007-11-30  Bruno Haible  <bruno@clisp.org>
98735         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
98736         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
98737         glthread_recursive_lock_init.
98738         * lib/lock.c (glthread_recursive_lock_init)
98739         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
98740         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98742 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
98744         New function qset_acl, like set_acl but with syscall semantics.
98745         * lib/acl.h (qset_acl): New decl.
98746         * lib/acl.c (qset_acl): New function.
98747         (set_acl): Use new function.  Use more-consistent diagnostics.
98749 2007-11-28  Jim Meyering  <meyering@redhat.com>
98751         * modules/physmem (License): Change from GPL to LGPLv2+.
98753 2007-11-26  Bruno Haible  <bruno@clisp.org>
98755         * lib/vasnprintf.c (decode_long_double): Don't abort if the
98756         'long double' type has excess precision.
98757         Reported by Jim Meyering in
98758         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
98760 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98762         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
98763         Sync from <http://gnu.org/licenses>.
98764         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
98765         with license text from same location.
98766         * doc/maintain.texi, doc/standards.texi:  Sync from
98767         <http://savannah.gnu.org/projects/gnustandards>.
98769 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
98770         and Jim Meyering  <meyering@redhat.com>
98772         Adjust getdate' grammar to accept a slightly more regular language.
98773         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
98774         Before, the former was rejected.
98775         * lib/getdate.y (digits_to_date_time): New function, factored
98776         out of ...
98777         (number): ...here.  Just call digits_to_date_time.
98778         (hybrid): New non-terminal to handle an <unsigned number,
98779         signed relative offset> sequence consistently.
98781 2007-11-18  Jim Meyering  <meyering@redhat.com>
98783         Pull my changes from coreutils:
98784         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
98785         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
98786         use of $gnulib_tool_option_extras, so that it's separated from the
98787         preceding argument.
98789         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
98790         * build-aux/bootstrap (cp_mark_as_generated): Create any required
98791         parent destination directories before copying a file into place.
98793 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
98795         bootstrap: work also with 4-argument variant of AC_INIT
98796         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
98798 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
98800         Port test-getaddrinfo to Solaris.
98801         Problem reported by Bruno Haible in
98802         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
98803         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
98804         explanation of setting 'hints'.
98805         Don't reject an implementation merely because it returns EAI_SERVICE.
98806         (EAI_SERVICE): Define to 0 if not defined.
98808 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
98810         The license of gnu-make and posix-shell is now "GPLed build tool".
98811         * modules/gnu-make (License): Likewise.
98812         * modules/posix-shell (License): Likewise.
98814         New module posix-shell, for determining a POSIX shell
98815         or perhaps something that is close enough to a POSIX shell.
98816         * m4/posix-shell.m4: New file.
98817         * modules/posix-shell: New file.
98819         * MODULES.html.sh: Mention new module.
98821         New module gnu-make, for determining whether we're using GNU Make.
98822         * m4/gnu-make.m4: New file.
98823         * modules/gnu-make: New file.
98824         * MODULES.html.sh: Mention new module.
98826 2007-11-14  Jim Meyering  <meyering@redhat.com>
98828         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
98829         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
98830         use this macro to create a function _definition_.
98831         Remove useless "#undef ARGMATCH_DIE".
98833 2007-11-14  Bruno Haible  <bruno@clisp.org>
98835         * lib/config.charset: Update for OpenBSD 4.1.
98836         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
98838 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
98840         Document 64-bit #if problems in stdint.texi.
98841         * doc/headers/stdint.texi (stdint.h): Mention problems with
98842         64-bit-#if, and how to work around them.
98844         Don't insist on 'long long int' support in the preprocessor.  It
98845         breaks too many things.  For example, PRIdMAX still uses a 'long
98846         long int' format with the latest Sun compiler, even though
98847         HAVE_LONG_LONG_INT isn't defined due to that compiler's
98848         preprocessor problem.  This causes the latest coreutils to dump
98849         core on Solaris 10 sparc with the Sun C compiler.
98850         Instead, fix the 2007-10-16 problem in a different way, by evaluating
98851         the troublesome expressions at configure-time, not at #if-time.
98852         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
98853         preprocessor.
98854         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
98855         compile-time C checks, done at 'configure'-time.
98856         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
98857         * modules/inttypes (Makefile): Substitute the new symbols that
98858         gl_INTTYPES_H now generates.
98859         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
98861 2007-11-12  Bruno Haible  <bruno@clisp.org>
98863         Tests for Unicode character classification functions.
98865         * modules/unictype/bidicategory-byname-tests: New file.
98866         * modules/unictype/bidicategory-name-tests: New file.
98867         * modules/unictype/bidicategory-of-tests: New file.
98868         * modules/unictype/bidicategory-test-tests: New file.
98869         * modules/unictype/block-list-tests: New file.
98870         * modules/unictype/block-of-tests: New file.
98871         * modules/unictype/block-test-tests: New file.
98872         * modules/unictype/category-C-tests: New file.
98873         * modules/unictype/category-Cc-tests: New file.
98874         * modules/unictype/category-Cf-tests: New file.
98875         * modules/unictype/category-Cn-tests: New file.
98876         * modules/unictype/category-Co-tests: New file.
98877         * modules/unictype/category-Cs-tests: New file.
98878         * modules/unictype/category-L-tests: New file.
98879         * modules/unictype/category-Ll-tests: New file.
98880         * modules/unictype/category-Lm-tests: New file.
98881         * modules/unictype/category-Lo-tests: New file.
98882         * modules/unictype/category-Lt-tests: New file.
98883         * modules/unictype/category-Lu-tests: New file.
98884         * modules/unictype/category-M-tests: New file.
98885         * modules/unictype/category-Mc-tests: New file.
98886         * modules/unictype/category-Me-tests: New file.
98887         * modules/unictype/category-Mn-tests: New file.
98888         * modules/unictype/category-N-tests: New file.
98889         * modules/unictype/category-Nd-tests: New file.
98890         * modules/unictype/category-Nl-tests: New file.
98891         * modules/unictype/category-No-tests: New file.
98892         * modules/unictype/category-P-tests: New file.
98893         * modules/unictype/category-Pc-tests: New file.
98894         * modules/unictype/category-Pd-tests: New file.
98895         * modules/unictype/category-Pe-tests: New file.
98896         * modules/unictype/category-Pf-tests: New file.
98897         * modules/unictype/category-Pi-tests: New file.
98898         * modules/unictype/category-Po-tests: New file.
98899         * modules/unictype/category-Ps-tests: New file.
98900         * modules/unictype/category-S-tests: New file.
98901         * modules/unictype/category-Sc-tests: New file.
98902         * modules/unictype/category-Sk-tests: New file.
98903         * modules/unictype/category-Sm-tests: New file.
98904         * modules/unictype/category-So-tests: New file.
98905         * modules/unictype/category-Z-tests: New file.
98906         * modules/unictype/category-Zl-tests: New file.
98907         * modules/unictype/category-Zp-tests: New file.
98908         * modules/unictype/category-Zs-tests: New file.
98909         * modules/unictype/category-and-not-tests: New file.
98910         * modules/unictype/category-and-tests: New file.
98911         * modules/unictype/category-byname-tests: New file.
98912         * modules/unictype/category-name-tests: New file.
98913         * modules/unictype/category-none-tests: New file.
98914         * modules/unictype/category-of-tests: New file.
98915         * modules/unictype/category-or-tests: New file.
98916         * modules/unictype/category-test-withtable-tests: New file.
98917         * modules/unictype/combining-class-tests: New file.
98918         * modules/unictype/ctype-alnum-tests: New file.
98919         * modules/unictype/ctype-alpha-tests: New file.
98920         * modules/unictype/ctype-blank-tests: New file.
98921         * modules/unictype/ctype-cntrl-tests: New file.
98922         * modules/unictype/ctype-digit-tests: New file.
98923         * modules/unictype/ctype-graph-tests: New file.
98924         * modules/unictype/ctype-lower-tests: New file.
98925         * modules/unictype/ctype-print-tests: New file.
98926         * modules/unictype/ctype-punct-tests: New file.
98927         * modules/unictype/ctype-space-tests: New file.
98928         * modules/unictype/ctype-upper-tests: New file.
98929         * modules/unictype/ctype-xdigit-tests: New file.
98930         * modules/unictype/decimal-digit-tests: New file.
98931         * modules/unictype/digit-tests: New file.
98932         * modules/unictype/mirror-tests: New file.
98933         * modules/unictype/numeric-tests: New file.
98934         * modules/unictype/property-alphabetic-tests: New file.
98935         * modules/unictype/property-ascii-hex-digit-tests: New file.
98936         * modules/unictype/property-bidi-arabic-digit-tests: New file.
98937         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
98938         * modules/unictype/property-bidi-block-separator-tests: New file.
98939         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
98940         * modules/unictype/property-bidi-common-separator-tests: New file.
98941         * modules/unictype/property-bidi-control-tests: New file.
98942         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
98943         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
98944         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
98945         * modules/unictype/property-bidi-european-digit-tests: New file.
98946         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
98947         * modules/unictype/property-bidi-left-to-right-tests: New file.
98948         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
98949         * modules/unictype/property-bidi-other-neutral-tests: New file.
98950         * modules/unictype/property-bidi-pdf-tests: New file.
98951         * modules/unictype/property-bidi-segment-separator-tests: New file.
98952         * modules/unictype/property-bidi-whitespace-tests: New file.
98953         * modules/unictype/property-byname-tests: New file.
98954         * modules/unictype/property-combining-tests: New file.
98955         * modules/unictype/property-composite-tests: New file.
98956         * modules/unictype/property-currency-symbol-tests: New file.
98957         * modules/unictype/property-dash-tests: New file.
98958         * modules/unictype/property-decimal-digit-tests: New file.
98959         * modules/unictype/property-default-ignorable-code-point-tests: New file.
98960         * modules/unictype/property-deprecated-tests: New file.
98961         * modules/unictype/property-diacritic-tests: New file.
98962         * modules/unictype/property-extender-tests: New file.
98963         * modules/unictype/property-format-control-tests: New file.
98964         * modules/unictype/property-grapheme-base-tests: New file.
98965         * modules/unictype/property-grapheme-extend-tests: New file.
98966         * modules/unictype/property-grapheme-link-tests: New file.
98967         * modules/unictype/property-hex-digit-tests: New file.
98968         * modules/unictype/property-hyphen-tests: New file.
98969         * modules/unictype/property-id-continue-tests: New file.
98970         * modules/unictype/property-id-start-tests: New file.
98971         * modules/unictype/property-ideographic-tests: New file.
98972         * modules/unictype/property-ids-binary-operator-tests: New file.
98973         * modules/unictype/property-ids-trinary-operator-tests: New file.
98974         * modules/unictype/property-ignorable-control-tests: New file.
98975         * modules/unictype/property-iso-control-tests: New file.
98976         * modules/unictype/property-join-control-tests: New file.
98977         * modules/unictype/property-left-of-pair-tests: New file.
98978         * modules/unictype/property-line-separator-tests: New file.
98979         * modules/unictype/property-logical-order-exception-tests: New file.
98980         * modules/unictype/property-lowercase-tests: New file.
98981         * modules/unictype/property-math-tests: New file.
98982         * modules/unictype/property-non-break-tests: New file.
98983         * modules/unictype/property-not-a-character-tests: New file.
98984         * modules/unictype/property-numeric-tests: New file.
98985         * modules/unictype/property-other-alphabetic-tests: New file.
98986         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
98987         * modules/unictype/property-other-grapheme-extend-tests: New file.
98988         * modules/unictype/property-other-id-continue-tests: New file.
98989         * modules/unictype/property-other-id-start-tests: New file.
98990         * modules/unictype/property-other-lowercase-tests: New file.
98991         * modules/unictype/property-other-math-tests: New file.
98992         * modules/unictype/property-other-uppercase-tests: New file.
98993         * modules/unictype/property-paired-punctuation-tests: New file.
98994         * modules/unictype/property-paragraph-separator-tests: New file.
98995         * modules/unictype/property-pattern-syntax-tests: New file.
98996         * modules/unictype/property-pattern-white-space-tests: New file.
98997         * modules/unictype/property-private-use-tests: New file.
98998         * modules/unictype/property-punctuation-tests: New file.
98999         * modules/unictype/property-quotation-mark-tests: New file.
99000         * modules/unictype/property-radical-tests: New file.
99001         * modules/unictype/property-sentence-terminal-tests: New file.
99002         * modules/unictype/property-soft-dotted-tests: New file.
99003         * modules/unictype/property-space-tests: New file.
99004         * modules/unictype/property-terminal-punctuation-tests: New file.
99005         * modules/unictype/property-test-tests: New file.
99006         * modules/unictype/property-titlecase-tests: New file.
99007         * modules/unictype/property-unassigned-code-value-tests: New file.
99008         * modules/unictype/property-unified-ideograph-tests: New file.
99009         * modules/unictype/property-uppercase-tests: New file.
99010         * modules/unictype/property-variation-selector-tests: New file.
99011         * modules/unictype/property-white-space-tests: New file.
99012         * modules/unictype/property-xid-continue-tests: New file.
99013         * modules/unictype/property-xid-start-tests: New file.
99014         * modules/unictype/property-zero-width-tests: New file.
99015         * modules/unictype/scripts-tests: New file.
99016         * modules/unictype/syntax-c-ident-tests: New file.
99017         * modules/unictype/syntax-c-whitespace-tests: New file.
99018         * modules/unictype/syntax-java-ident-tests: New file.
99019         * modules/unictype/syntax-java-whitespace-tests: New file.
99020         * tests/unictype/test-bidi_byname.c: New file.
99021         * tests/unictype/test-bidi_name.c: New file.
99022         * tests/unictype/test-bidi_of.c: New file.
99023         * tests/unictype/test-bidi_test.c: New file.
99024         * tests/unictype/test-block_list.c: New file.
99025         * tests/unictype/test-block_of.c: New file.
99026         * tests/unictype/test-block_test.c: New file.
99027         * tests/unictype/test-categ_and.c: New file.
99028         * tests/unictype/test-categ_and_not.c: New file.
99029         * tests/unictype/test-categ_byname.c: New file.
99030         * tests/unictype/test-categ_name.c: New file.
99031         * tests/unictype/test-categ_none.c: New file.
99032         * tests/unictype/test-categ_of.c: New file.
99033         * tests/unictype/test-categ_or.c: New file.
99034         * tests/unictype/test-categ_test_withtable.c: New file.
99035         * tests/unictype/test-combining.c: New file.
99036         * tests/unictype/test-decdigit.c: New file.
99037         * tests/unictype/test-digit.c: New file.
99038         * tests/unictype/test-mirror.c: New file.
99039         * tests/unictype/test-numeric.c: New file.
99040         * tests/unictype/test-pr_byname.c: New file.
99041         * tests/unictype/test-pr_test.c: New file.
99042         * tests/unictype/test-predicate-part1.h: New file.
99043         * tests/unictype/test-predicate-part2.h: New file.
99044         * tests/unictype/test-scripts.c: New file.
99045         * tests/unictype/test-sy_c_ident.c: New file.
99046         * tests/unictype/test-sy_java_ident.c: New file.
99048         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
99049         for Unicode 5.0.0.
99050         * tests/unictype/test-categ_Cc.c: Likewise.
99051         * tests/unictype/test-categ_Cf.c: Likewise.
99052         * tests/unictype/test-categ_Cn.c: Likewise.
99053         * tests/unictype/test-categ_Co.c: Likewise.
99054         * tests/unictype/test-categ_Cs.c: Likewise.
99055         * tests/unictype/test-categ_L.c: Likewise.
99056         * tests/unictype/test-categ_Ll.c: Likewise.
99057         * tests/unictype/test-categ_Lm.c: Likewise.
99058         * tests/unictype/test-categ_Lo.c: Likewise.
99059         * tests/unictype/test-categ_Lt.c: Likewise.
99060         * tests/unictype/test-categ_Lu.c: Likewise.
99061         * tests/unictype/test-categ_M.c: Likewise.
99062         * tests/unictype/test-categ_Mc.c: Likewise.
99063         * tests/unictype/test-categ_Me.c: Likewise.
99064         * tests/unictype/test-categ_Mn.c: Likewise.
99065         * tests/unictype/test-categ_N.c: Likewise.
99066         * tests/unictype/test-categ_Nd.c: Likewise.
99067         * tests/unictype/test-categ_Nl.c: Likewise.
99068         * tests/unictype/test-categ_No.c: Likewise.
99069         * tests/unictype/test-categ_P.c: Likewise.
99070         * tests/unictype/test-categ_Pc.c: Likewise.
99071         * tests/unictype/test-categ_Pd.c: Likewise.
99072         * tests/unictype/test-categ_Pe.c: Likewise.
99073         * tests/unictype/test-categ_Pf.c: Likewise.
99074         * tests/unictype/test-categ_Pi.c: Likewise.
99075         * tests/unictype/test-categ_Po.c: Likewise.
99076         * tests/unictype/test-categ_Ps.c: Likewise.
99077         * tests/unictype/test-categ_S.c: Likewise.
99078         * tests/unictype/test-categ_Sc.c: Likewise.
99079         * tests/unictype/test-categ_Sk.c: Likewise.
99080         * tests/unictype/test-categ_Sm.c: Likewise.
99081         * tests/unictype/test-categ_So.c: Likewise.
99082         * tests/unictype/test-categ_Z.c: Likewise.
99083         * tests/unictype/test-categ_Zl.c: Likewise.
99084         * tests/unictype/test-categ_Zp.c: Likewise.
99085         * tests/unictype/test-categ_Zs.c: Likewise.
99086         * tests/unictype/test-ctype_alnum.c: Likewise.
99087         * tests/unictype/test-ctype_alpha.c: Likewise.
99088         * tests/unictype/test-ctype_blank.c: Likewise.
99089         * tests/unictype/test-ctype_cntrl.c: Likewise.
99090         * tests/unictype/test-ctype_digit.c: Likewise.
99091         * tests/unictype/test-ctype_graph.c: Likewise.
99092         * tests/unictype/test-ctype_lower.c: Likewise.
99093         * tests/unictype/test-ctype_print.c: Likewise.
99094         * tests/unictype/test-ctype_punct.c: Likewise.
99095         * tests/unictype/test-ctype_space.c: Likewise.
99096         * tests/unictype/test-ctype_upper.c: Likewise.
99097         * tests/unictype/test-ctype_xdigit.c: Likewise.
99098         * tests/unictype/test-decdigit.h: Likewise.
99099         * tests/unictype/test-digit.h: Likewise.
99100         * tests/unictype/test-numeric.h: Likewise.
99101         * tests/unictype/test-pr_alphabetic.c: Likewise.
99102         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
99103         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
99104         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
99105         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
99106         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
99107         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
99108         * tests/unictype/test-pr_bidi_control.c: Likewise.
99109         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
99110         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
99111         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
99112         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
99113         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
99114         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
99115         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
99116         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
99117         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
99118         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
99119         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
99120         * tests/unictype/test-pr_combining.c: Likewise.
99121         * tests/unictype/test-pr_composite.c: Likewise.
99122         * tests/unictype/test-pr_currency_symbol.c: Likewise.
99123         * tests/unictype/test-pr_dash.c: Likewise.
99124         * tests/unictype/test-pr_decimal_digit.c: Likewise.
99125         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
99126         * tests/unictype/test-pr_deprecated.c: Likewise.
99127         * tests/unictype/test-pr_diacritic.c: Likewise.
99128         * tests/unictype/test-pr_extender.c: Likewise.
99129         * tests/unictype/test-pr_format_control.c: Likewise.
99130         * tests/unictype/test-pr_grapheme_base.c: Likewise.
99131         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
99132         * tests/unictype/test-pr_grapheme_link.c: Likewise.
99133         * tests/unictype/test-pr_hex_digit.c: Likewise.
99134         * tests/unictype/test-pr_hyphen.c: Likewise.
99135         * tests/unictype/test-pr_id_continue.c: Likewise.
99136         * tests/unictype/test-pr_id_start.c: Likewise.
99137         * tests/unictype/test-pr_ideographic.c: Likewise.
99138         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
99139         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
99140         * tests/unictype/test-pr_ignorable_control.c: Likewise.
99141         * tests/unictype/test-pr_iso_control.c: Likewise.
99142         * tests/unictype/test-pr_join_control.c: Likewise.
99143         * tests/unictype/test-pr_left_of_pair.c: Likewise.
99144         * tests/unictype/test-pr_line_separator.c: Likewise.
99145         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
99146         * tests/unictype/test-pr_lowercase.c: Likewise.
99147         * tests/unictype/test-pr_math.c: Likewise.
99148         * tests/unictype/test-pr_non_break.c: Likewise.
99149         * tests/unictype/test-pr_not_a_character.c: Likewise.
99150         * tests/unictype/test-pr_numeric.c: Likewise.
99151         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
99152         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
99153         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
99154         * tests/unictype/test-pr_other_id_continue.c: Likewise.
99155         * tests/unictype/test-pr_other_id_start.c: Likewise.
99156         * tests/unictype/test-pr_other_lowercase.c: Likewise.
99157         * tests/unictype/test-pr_other_math.c: Likewise.
99158         * tests/unictype/test-pr_other_uppercase.c: Likewise.
99159         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
99160         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
99161         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
99162         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
99163         * tests/unictype/test-pr_private_use.c: Likewise.
99164         * tests/unictype/test-pr_punctuation.c: Likewise.
99165         * tests/unictype/test-pr_quotation_mark.c: Likewise.
99166         * tests/unictype/test-pr_radical.c: Likewise.
99167         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
99168         * tests/unictype/test-pr_soft_dotted.c: Likewise.
99169         * tests/unictype/test-pr_space.c: Likewise.
99170         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
99171         * tests/unictype/test-pr_titlecase.c: Likewise.
99172         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
99173         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
99174         * tests/unictype/test-pr_uppercase.c: Likewise.
99175         * tests/unictype/test-pr_variation_selector.c: Likewise.
99176         * tests/unictype/test-pr_white_space.c: Likewise.
99177         * tests/unictype/test-pr_xid_continue.c: Likewise.
99178         * tests/unictype/test-pr_xid_start.c: Likewise.
99179         * tests/unictype/test-pr_zero_width.c: Likewise.
99180         * tests/unictype/test-sy_c_whitespace.c: Likewise.
99181         * tests/unictype/test-sy_java_whitespace.c: Likewise.
99183 2007-11-12  Bruno Haible  <bruno@clisp.org>
99185         Unicode character classification functions.
99186         * lib/unictype.h: New file.
99187         * modules/unictype/base: New file.
99188         * modules/unictype/category-L: New file.
99189         * modules/unictype/category-Lu: New file.
99190         * modules/unictype/category-Ll: New file.
99191         * modules/unictype/category-Lt: New file.
99192         * modules/unictype/category-Lm: New file.
99193         * modules/unictype/category-Lo: New file.
99194         * modules/unictype/category-M: New file.
99195         * modules/unictype/category-Mn: New file.
99196         * modules/unictype/category-Mc: New file.
99197         * modules/unictype/category-Me: New file.
99198         * modules/unictype/category-N: New file.
99199         * modules/unictype/category-Nd: New file.
99200         * modules/unictype/category-Nl: New file.
99201         * modules/unictype/category-No: New file.
99202         * modules/unictype/category-P: New file.
99203         * modules/unictype/category-Pc: New file.
99204         * modules/unictype/category-Pd: New file.
99205         * modules/unictype/category-Ps: New file.
99206         * modules/unictype/category-Pe: New file.
99207         * modules/unictype/category-Pi: New file.
99208         * modules/unictype/category-Pf: New file.
99209         * modules/unictype/category-Po: New file.
99210         * modules/unictype/category-S: New file.
99211         * modules/unictype/category-Sm: New file.
99212         * modules/unictype/category-Sc: New file.
99213         * modules/unictype/category-Sk: New file.
99214         * modules/unictype/category-So: New file.
99215         * modules/unictype/category-Z: New file.
99216         * modules/unictype/category-Zs: New file.
99217         * modules/unictype/category-Zl: New file.
99218         * modules/unictype/category-Zp: New file.
99219         * modules/unictype/category-C: New file.
99220         * modules/unictype/category-Cc: New file.
99221         * modules/unictype/category-Cf: New file.
99222         * modules/unictype/category-Cs: New file.
99223         * modules/unictype/category-Co: New file.
99224         * modules/unictype/category-Cn: New file.
99225         * modules/unictype/category-or: New file.
99226         * modules/unictype/category-of: New file.
99227         * modules/unictype/category-test: New file.
99228         * modules/unictype/category-test-withtable: New file.
99229         * modules/unictype/category-byname: New file.
99230         * modules/unictype/category-none: New file.
99231         * modules/unictype/category-and: New file.
99232         * modules/unictype/category-and-not: New file.
99233         * modules/unictype/category-name: New file.
99234         * modules/unictype/combining-class: New file.
99235         * modules/unictype/category-all: New file.
99236         * modules/unictype/bidicategory-all: New file.
99237         * modules/unictype/bidicategory-byname: New file.
99238         * modules/unictype/bidicategory-name: New file.
99239         * modules/unictype/bidicategory-of: New file.
99240         * modules/unictype/bidicategory-test: New file.
99241         * modules/unictype/decimal-digit: New file.
99242         * modules/unictype/digit: New file.
99243         * modules/unictype/numeric: New file.
99244         * modules/unictype/mirror: New file.
99245         * modules/unictype/property-white-space: New file.
99246         * modules/unictype/property-alphabetic: New file.
99247         * modules/unictype/property-other-alphabetic: New file.
99248         * modules/unictype/property-not-a-character: New file.
99249         * modules/unictype/property-default-ignorable-code-point: New file.
99250         * modules/unictype/property-other-default-ignorable-code-point: New
99251         file.
99252         * modules/unictype/property-deprecated: New file.
99253         * modules/unictype/property-logical-order-exception: New file.
99254         * modules/unictype/property-variation-selector: New file.
99255         * modules/unictype/property-private-use: New file.
99256         * modules/unictype/property-unassigned-code-value: New file.
99257         * modules/unictype/property-uppercase: New file.
99258         * modules/unictype/property-other-uppercase: New file.
99259         * modules/unictype/property-lowercase: New file.
99260         * modules/unictype/property-other-lowercase: New file.
99261         * modules/unictype/property-titlecase: New file.
99262         * modules/unictype/property-soft-dotted: New file.
99263         * modules/unictype/property-id-start: New file.
99264         * modules/unictype/property-other-id-start: New file.
99265         * modules/unictype/property-id-continue: New file.
99266         * modules/unictype/property-other-id-continue: New file.
99267         * modules/unictype/property-xid-start: New file.
99268         * modules/unictype/property-xid-continue: New file.
99269         * modules/unictype/property-pattern-white-space: New file.
99270         * modules/unictype/property-pattern-syntax: New file.
99271         * modules/unictype/property-join-control: New file.
99272         * modules/unictype/property-grapheme-base: New file.
99273         * modules/unictype/property-grapheme-extend: New file.
99274         * modules/unictype/property-other-grapheme-extend: New file.
99275         * modules/unictype/property-grapheme-link: New file.
99276         * modules/unictype/property-bidi-control: New file.
99277         * modules/unictype/property-bidi-left-to-right: New file.
99278         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
99279         * modules/unictype/property-bidi-arabic-right-to-left: New file.
99280         * modules/unictype/property-bidi-european-digit: New file.
99281         * modules/unictype/property-bidi-eur-num-separator: New file.
99282         * modules/unictype/property-bidi-eur-num-terminator: New file.
99283         * modules/unictype/property-bidi-arabic-digit: New file.
99284         * modules/unictype/property-bidi-common-separator: New file.
99285         * modules/unictype/property-bidi-block-separator: New file.
99286         * modules/unictype/property-bidi-segment-separator: New file.
99287         * modules/unictype/property-bidi-whitespace: New file.
99288         * modules/unictype/property-bidi-non-spacing-mark: New file.
99289         * modules/unictype/property-bidi-boundary-neutral: New file.
99290         * modules/unictype/property-bidi-pdf: New file.
99291         * modules/unictype/property-bidi-embedding-or-override: New file.
99292         * modules/unictype/property-bidi-other-neutral: New file.
99293         * modules/unictype/property-hex-digit: New file.
99294         * modules/unictype/property-ascii-hex-digit: New file.
99295         * modules/unictype/property-ideographic: New file.
99296         * modules/unictype/property-unified-ideograph: New file.
99297         * modules/unictype/property-radical: New file.
99298         * modules/unictype/property-ids-binary-operator: New file.
99299         * modules/unictype/property-ids-trinary-operator: New file.
99300         * modules/unictype/property-zero-width: New file.
99301         * modules/unictype/property-space: New file.
99302         * modules/unictype/property-non-break: New file.
99303         * modules/unictype/property-iso-control: New file.
99304         * modules/unictype/property-format-control: New file.
99305         * modules/unictype/property-dash: New file.
99306         * modules/unictype/property-hyphen: New file.
99307         * modules/unictype/property-punctuation: New file.
99308         * modules/unictype/property-line-separator: New file.
99309         * modules/unictype/property-paragraph-separator: New file.
99310         * modules/unictype/property-quotation-mark: New file.
99311         * modules/unictype/property-sentence-terminal: New file.
99312         * modules/unictype/property-terminal-punctuation: New file.
99313         * modules/unictype/property-currency-symbol: New file.
99314         * modules/unictype/property-math: New file.
99315         * modules/unictype/property-other-math: New file.
99316         * modules/unictype/property-paired-punctuation: New file.
99317         * modules/unictype/property-left-of-pair: New file.
99318         * modules/unictype/property-combining: New file.
99319         * modules/unictype/property-composite: New file.
99320         * modules/unictype/property-decimal-digit: New file.
99321         * modules/unictype/property-numeric: New file.
99322         * modules/unictype/property-diacritic: New file.
99323         * modules/unictype/property-extender: New file.
99324         * modules/unictype/property-ignorable-control: New file.
99325         * modules/unictype/property-test: New file.
99326         * modules/unictype/property-byname: New file.
99327         * modules/unictype/property-all: New file.
99328         * modules/unictype/scripts: New file.
99329         * modules/unictype/scripts-all: New file.
99330         * modules/unictype/block-of: New file.
99331         * modules/unictype/block-test: New file.
99332         * modules/unictype/block-list: New file.
99333         * modules/unictype/block-all: New file.
99334         * modules/unictype/syntax-c-whitespace: New file.
99335         * modules/unictype/syntax-java-whitespace: New file.
99336         * modules/unictype/syntax-c-ident: New file.
99337         * modules/unictype/syntax-java-ident: New file.
99338         * modules/unictype/ctype-alnum: New file.
99339         * modules/unictype/ctype-alpha: New file.
99340         * modules/unictype/ctype-cntrl: New file.
99341         * modules/unictype/ctype-digit: New file.
99342         * modules/unictype/ctype-graph: New file.
99343         * modules/unictype/ctype-lower: New file.
99344         * modules/unictype/ctype-print: New file.
99345         * modules/unictype/ctype-punct: New file.
99346         * modules/unictype/ctype-space: New file.
99347         * modules/unictype/ctype-upper: New file.
99348         * modules/unictype/ctype-xdigit: New file.
99349         * modules/unictype/ctype-blank: New file.
99350         * lib/unictype/bidi_byname.c: New file.
99351         * lib/unictype/bidi_name.c: New file.
99352         * lib/unictype/bidi_of.c: New file.
99353         * lib/unictype/bidi_test.c: New file.
99354         * lib/unictype/bitmap.h: New file.
99355         * lib/unictype/block_test.c: New file.
99356         * lib/unictype/blocks.c: New file.
99357         * lib/unictype/categ_C.c: New file.
99358         * lib/unictype/categ_Cc.c: New file.
99359         * lib/unictype/categ_Cf.c: New file.
99360         * lib/unictype/categ_Cn.c: New file.
99361         * lib/unictype/categ_Co.c: New file.
99362         * lib/unictype/categ_Cs.c: New file.
99363         * lib/unictype/categ_L.c: New file.
99364         * lib/unictype/categ_Ll.c: New file.
99365         * lib/unictype/categ_Lm.c: New file.
99366         * lib/unictype/categ_Lo.c: New file.
99367         * lib/unictype/categ_Lt.c: New file.
99368         * lib/unictype/categ_Lu.c: New file.
99369         * lib/unictype/categ_M.c: New file.
99370         * lib/unictype/categ_Mc.c: New file.
99371         * lib/unictype/categ_Me.c: New file.
99372         * lib/unictype/categ_Mn.c: New file.
99373         * lib/unictype/categ_N.c: New file.
99374         * lib/unictype/categ_Nd.c: New file.
99375         * lib/unictype/categ_Nl.c: New file.
99376         * lib/unictype/categ_No.c: New file.
99377         * lib/unictype/categ_P.c: New file.
99378         * lib/unictype/categ_Pc.c: New file.
99379         * lib/unictype/categ_Pd.c: New file.
99380         * lib/unictype/categ_Pe.c: New file.
99381         * lib/unictype/categ_Pf.c: New file.
99382         * lib/unictype/categ_Pi.c: New file.
99383         * lib/unictype/categ_Po.c: New file.
99384         * lib/unictype/categ_Ps.c: New file.
99385         * lib/unictype/categ_S.c: New file.
99386         * lib/unictype/categ_Sc.c: New file.
99387         * lib/unictype/categ_Sk.c: New file.
99388         * lib/unictype/categ_Sm.c: New file.
99389         * lib/unictype/categ_So.c: New file.
99390         * lib/unictype/categ_Z.c: New file.
99391         * lib/unictype/categ_Zl.c: New file.
99392         * lib/unictype/categ_Zp.c: New file.
99393         * lib/unictype/categ_Zs.c: New file.
99394         * lib/unictype/categ_and.c: New file.
99395         * lib/unictype/categ_and_not.c: New file.
99396         * lib/unictype/categ_byname.c: New file.
99397         * lib/unictype/categ_name.c: New file.
99398         * lib/unictype/categ_none.c: New file.
99399         * lib/unictype/categ_of.c: New file.
99400         * lib/unictype/categ_or.c: New file.
99401         * lib/unictype/categ_test.c: New file.
99402         * lib/unictype/combining.c: New file.
99403         * lib/unictype/ctype_alnum.c: New file.
99404         * lib/unictype/ctype_alpha.c: New file.
99405         * lib/unictype/ctype_blank.c: New file.
99406         * lib/unictype/ctype_cntrl.c: New file.
99407         * lib/unictype/ctype_digit.c: New file.
99408         * lib/unictype/ctype_graph.c: New file.
99409         * lib/unictype/ctype_lower.c: New file.
99410         * lib/unictype/ctype_print.c: New file.
99411         * lib/unictype/ctype_punct.c: New file.
99412         * lib/unictype/ctype_space.c: New file.
99413         * lib/unictype/ctype_upper.c: New file.
99414         * lib/unictype/ctype_xdigit.c: New file.
99415         * lib/unictype/decdigit.c: New file.
99416         * lib/unictype/digit.c: New file.
99417         * lib/unictype/identsyntaxmap.h: New file.
99418         * lib/unictype/mirror.c: New file.
99419         * lib/unictype/numeric.c: New file.
99420         * lib/unictype/pr_alphabetic.c: New file.
99421         * lib/unictype/pr_ascii_hex_digit.c: New file.
99422         * lib/unictype/pr_bidi_arabic_digit.c: New file.
99423         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
99424         * lib/unictype/pr_bidi_block_separator.c: New file.
99425         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
99426         * lib/unictype/pr_bidi_common_separator.c: New file.
99427         * lib/unictype/pr_bidi_control.c: New file.
99428         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
99429         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
99430         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
99431         * lib/unictype/pr_bidi_european_digit.c: New file.
99432         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
99433         * lib/unictype/pr_bidi_left_to_right.c: New file.
99434         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
99435         * lib/unictype/pr_bidi_other_neutral.c: New file.
99436         * lib/unictype/pr_bidi_pdf.c: New file.
99437         * lib/unictype/pr_bidi_segment_separator.c: New file.
99438         * lib/unictype/pr_bidi_whitespace.c: New file.
99439         * lib/unictype/pr_byname.c: New file.
99440         * lib/unictype/pr_byname.gperf: New file.
99441         * lib/unictype/pr_combining.c: New file.
99442         * lib/unictype/pr_composite.c: New file.
99443         * lib/unictype/pr_currency_symbol.c: New file.
99444         * lib/unictype/pr_dash.c: New file.
99445         * lib/unictype/pr_decimal_digit.c: New file.
99446         * lib/unictype/pr_default_ignorable_code_point.c: New file.
99447         * lib/unictype/pr_deprecated.c: New file.
99448         * lib/unictype/pr_diacritic.c: New file.
99449         * lib/unictype/pr_extender.c: New file.
99450         * lib/unictype/pr_format_control.c: New file.
99451         * lib/unictype/pr_grapheme_base.c: New file.
99452         * lib/unictype/pr_grapheme_extend.c: New file.
99453         * lib/unictype/pr_grapheme_link.c: New file.
99454         * lib/unictype/pr_hex_digit.c: New file.
99455         * lib/unictype/pr_hyphen.c: New file.
99456         * lib/unictype/pr_id_continue.c: New file.
99457         * lib/unictype/pr_id_start.c: New file.
99458         * lib/unictype/pr_ideographic.c: New file.
99459         * lib/unictype/pr_ids_binary_operator.c: New file.
99460         * lib/unictype/pr_ids_trinary_operator.c: New file.
99461         * lib/unictype/pr_ignorable_control.c: New file.
99462         * lib/unictype/pr_iso_control.c: New file.
99463         * lib/unictype/pr_join_control.c: New file.
99464         * lib/unictype/pr_left_of_pair.c: New file.
99465         * lib/unictype/pr_line_separator.c: New file.
99466         * lib/unictype/pr_logical_order_exception.c: New file.
99467         * lib/unictype/pr_lowercase.c: New file.
99468         * lib/unictype/pr_math.c: New file.
99469         * lib/unictype/pr_non_break.c: New file.
99470         * lib/unictype/pr_not_a_character.c: New file.
99471         * lib/unictype/pr_numeric.c: New file.
99472         * lib/unictype/pr_other_alphabetic.c: New file.
99473         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
99474         * lib/unictype/pr_other_grapheme_extend.c: New file.
99475         * lib/unictype/pr_other_id_continue.c: New file.
99476         * lib/unictype/pr_other_id_start.c: New file.
99477         * lib/unictype/pr_other_lowercase.c: New file.
99478         * lib/unictype/pr_other_math.c: New file.
99479         * lib/unictype/pr_other_uppercase.c: New file.
99480         * lib/unictype/pr_paired_punctuation.c: New file.
99481         * lib/unictype/pr_paragraph_separator.c: New file.
99482         * lib/unictype/pr_pattern_syntax.c: New file.
99483         * lib/unictype/pr_pattern_white_space.c: New file.
99484         * lib/unictype/pr_private_use.c: New file.
99485         * lib/unictype/pr_punctuation.c: New file.
99486         * lib/unictype/pr_quotation_mark.c: New file.
99487         * lib/unictype/pr_radical.c: New file.
99488         * lib/unictype/pr_sentence_terminal.c: New file.
99489         * lib/unictype/pr_soft_dotted.c: New file.
99490         * lib/unictype/pr_space.c: New file.
99491         * lib/unictype/pr_terminal_punctuation.c: New file.
99492         * lib/unictype/pr_test.c: New file.
99493         * lib/unictype/pr_titlecase.c: New file.
99494         * lib/unictype/pr_unassigned_code_value.c: New file.
99495         * lib/unictype/pr_unified_ideograph.c: New file.
99496         * lib/unictype/pr_uppercase.c: New file.
99497         * lib/unictype/pr_variation_selector.c: New file.
99498         * lib/unictype/pr_white_space.c: New file.
99499         * lib/unictype/pr_xid_continue.c: New file.
99500         * lib/unictype/pr_xid_start.c: New file.
99501         * lib/unictype/pr_zero_width.c: New file.
99502         * lib/unictype/scripts.c: New file.
99503         * lib/unictype/sy_c_ident.c: New file.
99504         * lib/unictype/sy_c_whitespace.c: New file.
99505         * lib/unictype/sy_java_ident.c: New file.
99506         * lib/unictype/sy_java_whitespace.c: New file.
99508         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
99509         Unicode 5.0.0.
99510         * lib/unictype/blocks.h: Likewise.
99511         * lib/unictype/categ_C.h: Likewise.
99512         * lib/unictype/categ_Cc.h: Likewise.
99513         * lib/unictype/categ_Cf.h: Likewise.
99514         * lib/unictype/categ_Cn.h: Likewise.
99515         * lib/unictype/categ_Co.h: Likewise.
99516         * lib/unictype/categ_Cs.h: Likewise.
99517         * lib/unictype/categ_L.h: Likewise.
99518         * lib/unictype/categ_Ll.h: Likewise.
99519         * lib/unictype/categ_Lm.h: Likewise.
99520         * lib/unictype/categ_Lo.h: Likewise.
99521         * lib/unictype/categ_Lt.h: Likewise.
99522         * lib/unictype/categ_Lu.h: Likewise.
99523         * lib/unictype/categ_M.h: Likewise.
99524         * lib/unictype/categ_Mc.h: Likewise.
99525         * lib/unictype/categ_Me.h: Likewise.
99526         * lib/unictype/categ_Mn.h: Likewise.
99527         * lib/unictype/categ_N.h: Likewise.
99528         * lib/unictype/categ_Nd.h: Likewise.
99529         * lib/unictype/categ_Nl.h: Likewise.
99530         * lib/unictype/categ_No.h: Likewise.
99531         * lib/unictype/categ_P.h: Likewise.
99532         * lib/unictype/categ_Pc.h: Likewise.
99533         * lib/unictype/categ_Pd.h: Likewise.
99534         * lib/unictype/categ_Pe.h: Likewise.
99535         * lib/unictype/categ_Pf.h: Likewise.
99536         * lib/unictype/categ_Pi.h: Likewise.
99537         * lib/unictype/categ_Po.h: Likewise.
99538         * lib/unictype/categ_Ps.h: Likewise.
99539         * lib/unictype/categ_S.h: Likewise.
99540         * lib/unictype/categ_Sc.h: Likewise.
99541         * lib/unictype/categ_Sk.h: Likewise.
99542         * lib/unictype/categ_Sm.h: Likewise.
99543         * lib/unictype/categ_So.h: Likewise.
99544         * lib/unictype/categ_Z.h: Likewise.
99545         * lib/unictype/categ_Zl.h: Likewise.
99546         * lib/unictype/categ_Zp.h: Likewise.
99547         * lib/unictype/categ_Zs.h: Likewise.
99548         * lib/unictype/categ_of.h: Likewise.
99549         * lib/unictype/combining.h: Likewise.
99550         * lib/unictype/ctype_alnum.h: Likewise.
99551         * lib/unictype/ctype_alpha.h: Likewise.
99552         * lib/unictype/ctype_blank.h: Likewise.
99553         * lib/unictype/ctype_cntrl.h: Likewise.
99554         * lib/unictype/ctype_digit.h: Likewise.
99555         * lib/unictype/ctype_graph.h: Likewise.
99556         * lib/unictype/ctype_lower.h: Likewise.
99557         * lib/unictype/ctype_print.h: Likewise.
99558         * lib/unictype/ctype_punct.h: Likewise.
99559         * lib/unictype/ctype_space.h: Likewise.
99560         * lib/unictype/ctype_upper.h: Likewise.
99561         * lib/unictype/ctype_xdigit.h: Likewise.
99562         * lib/unictype/decdigit.h: Likewise.
99563         * lib/unictype/digit.h: Likewise.
99564         * lib/unictype/mirror.h: Likewise.
99565         * lib/unictype/numeric.h: Likewise.
99566         * lib/unictype/pr_alphabetic.h: Likewise.
99567         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
99568         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
99569         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
99570         * lib/unictype/pr_bidi_block_separator.h: Likewise.
99571         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
99572         * lib/unictype/pr_bidi_common_separator.h: Likewise.
99573         * lib/unictype/pr_bidi_control.h: Likewise.
99574         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
99575         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
99576         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
99577         * lib/unictype/pr_bidi_european_digit.h: Likewise.
99578         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
99579         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
99580         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
99581         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
99582         * lib/unictype/pr_bidi_pdf.h: Likewise.
99583         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
99584         * lib/unictype/pr_bidi_whitespace.h: Likewise.
99585         * lib/unictype/pr_combining.h: Likewise.
99586         * lib/unictype/pr_composite.h: Likewise.
99587         * lib/unictype/pr_currency_symbol.h: Likewise.
99588         * lib/unictype/pr_dash.h: Likewise.
99589         * lib/unictype/pr_decimal_digit.h: Likewise.
99590         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
99591         * lib/unictype/pr_deprecated.h: Likewise.
99592         * lib/unictype/pr_diacritic.h: Likewise.
99593         * lib/unictype/pr_extender.h: Likewise.
99594         * lib/unictype/pr_format_control.h: Likewise.
99595         * lib/unictype/pr_grapheme_base.h: Likewise.
99596         * lib/unictype/pr_grapheme_extend.h: Likewise.
99597         * lib/unictype/pr_grapheme_link.h: Likewise.
99598         * lib/unictype/pr_hex_digit.h: Likewise.
99599         * lib/unictype/pr_hyphen.h: Likewise.
99600         * lib/unictype/pr_id_continue.h: Likewise.
99601         * lib/unictype/pr_id_start.h: Likewise.
99602         * lib/unictype/pr_ideographic.h: Likewise.
99603         * lib/unictype/pr_ids_binary_operator.h: Likewise.
99604         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
99605         * lib/unictype/pr_ignorable_control.h: Likewise.
99606         * lib/unictype/pr_iso_control.h: Likewise.
99607         * lib/unictype/pr_join_control.h: Likewise.
99608         * lib/unictype/pr_left_of_pair.h: Likewise.
99609         * lib/unictype/pr_line_separator.h: Likewise.
99610         * lib/unictype/pr_logical_order_exception.h: Likewise.
99611         * lib/unictype/pr_lowercase.h: Likewise.
99612         * lib/unictype/pr_math.h: Likewise.
99613         * lib/unictype/pr_non_break.h: Likewise.
99614         * lib/unictype/pr_not_a_character.h: Likewise.
99615         * lib/unictype/pr_numeric.h: Likewise.
99616         * lib/unictype/pr_other_alphabetic.h: Likewise.
99617         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
99618         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
99619         * lib/unictype/pr_other_id_continue.h: Likewise.
99620         * lib/unictype/pr_other_id_start.h: Likewise.
99621         * lib/unictype/pr_other_lowercase.h: Likewise.
99622         * lib/unictype/pr_other_math.h: Likewise.
99623         * lib/unictype/pr_other_uppercase.h: Likewise.
99624         * lib/unictype/pr_paired_punctuation.h: Likewise.
99625         * lib/unictype/pr_paragraph_separator.h: Likewise.
99626         * lib/unictype/pr_pattern_syntax.h: Likewise.
99627         * lib/unictype/pr_pattern_white_space.h: Likewise.
99628         * lib/unictype/pr_private_use.h: Likewise.
99629         * lib/unictype/pr_punctuation.h: Likewise.
99630         * lib/unictype/pr_quotation_mark.h: Likewise.
99631         * lib/unictype/pr_radical.h: Likewise.
99632         * lib/unictype/pr_sentence_terminal.h: Likewise.
99633         * lib/unictype/pr_soft_dotted.h: Likewise.
99634         * lib/unictype/pr_space.h: Likewise.
99635         * lib/unictype/pr_terminal_punctuation.h: Likewise.
99636         * lib/unictype/pr_titlecase.h: Likewise.
99637         * lib/unictype/pr_unassigned_code_value.h: Likewise.
99638         * lib/unictype/pr_unified_ideograph.h: Likewise.
99639         * lib/unictype/pr_uppercase.h: Likewise.
99640         * lib/unictype/pr_variation_selector.h: Likewise.
99641         * lib/unictype/pr_white_space.h: Likewise.
99642         * lib/unictype/pr_xid_continue.h: Likewise.
99643         * lib/unictype/pr_xid_start.h: Likewise.
99644         * lib/unictype/pr_zero_width.h: Likewise.
99645         * lib/unictype/scripts.h: Likewise.
99646         * lib/unictype/scripts_byname.gperf: Likewise.
99647         * lib/unictype/sy_c_ident.h: Likewise.
99648         * lib/unictype/sy_c_whitespace.h: Likewise.
99649         * lib/unictype/sy_java_ident.h: Likewise.
99650         * lib/unictype/sy_java_whitespace.h: Likewise.
99652         * lib/unictype/Makefile: New file.
99653         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
99654         glibc.
99655         * lib/unictype/3level.h: New file, copied from glibc.
99656         * lib/unictype/3levelbit.h: New file.
99658 2007-11-11  Bruno Haible  <bruno@clisp.org>
99660         * modules/gperf: New file.
99661         * modules/iconv_open (Depends-on): Add it.
99662         (Makefile.am): Remove the GPERF definition.
99664 2007-11-11  Bruno Haible  <bruno@clisp.org>
99666         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
99667         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
99669 2007-11-11  Bruno Haible  <bruno@clisp.org>
99671         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
99672         (usage): Remove function.
99674 2007-11-11  Bruno Haible  <bruno@clisp.org>
99676         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
99677         gl_FUNC_CEILF_LIBS.
99678         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
99679         gl_FUNC_CEIL_LIBS.
99680         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
99681         gl_FUNC_CEILL_LIBS.
99682         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
99683         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
99684         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
99686 2007-11-11  Bruno Haible  <bruno@clisp.org>
99688         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
99689         roundf were declared but do not exist on functions.
99690         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
99691         roundl were declared but do not exist on functions.
99692         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
99693         HAVE_FLOORL_AND_CEILL, respectively.
99694         Needed for Sun C on Solaris 10.
99696 2007-11-11  Bruno Haible  <bruno@clisp.org>
99698         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
99699         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
99700         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
99701         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
99702         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
99703         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
99704         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
99705         HAVE_DECL_ROUNDF.
99706         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
99707         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
99708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
99709         of HAVE_DECL_ROUND*.
99710         * modules/math (Makefile.am): Update.
99712 2007-11-10  Bruno Haible  <bruno@clisp.org>
99714         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
99715         ptrdiff_t as m4/intl.m4.
99717 2007-11-10  Jim Meyering  <meyering@redhat.com>
99719         Avoid link failure for the argmatch test.
99720         * tests/test-argmatch.c (usage): Define function to avoid a link
99721         failure: argmatch_die requires a usage function.
99723 2007-11-09  Bruno Haible  <bruno@clisp.org>
99725         * doc/functions/snprintf.texi: Mention BeOS deficiency.
99726         * doc/functions/vsnprintf.texi: Likewise.
99727         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
99728         with a size argument < 2.
99730 2007-11-09  Bruno Haible  <bruno@clisp.org>
99732         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
99733         buffer. Fixes an inefficiency introduced on 2007-11-03.
99735 2007-11-09  Bruno Haible  <bruno@clisp.org>
99737         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
99738         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
99740 2007-11-08  Jim Meyering  <meyering@redhat.com>
99742         Change cache variable name prefix "jm_" to "gl_" everywhere.
99743         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
99744         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
99745         * m4/uptime.m4: s/gl_/jm_/
99747 2007-11-07  Bruno Haible  <bruno@clisp.org>
99749         Update to GNU gettext 0.17.
99750         * m4/intl.m4: Update to GNU gettext 0.17.
99751         * m4/po.m4: Likewise.
99752         * modules/gettext (Files): Remove m4/ulonglong.m4.
99753         (configure.ac): Require gettext infrastructure from version 0.17.
99755 2007-11-06  Bruno Haible  <bruno@clisp.org>
99757         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
99758         symbolic values are not defined in a public header.
99759         * lib/freadable.c (freadable) [QNX]: Likewise.
99760         * lib/freadahead.c (freadahead) [QNX]: Likewise.
99761         * lib/freading.c (freading) [QNX]: Likewise.
99762         * lib/fseterr.c (fseterr) [QNX]: Likewise.
99763         * lib/fwritable.c (fwritable) [QNX]: Likewise.
99764         * lib/fwriting.c (fwriting) [QNX]: Likewise.
99765         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
99766         Reported by Alain Magloire.
99768         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
99770 2007-11-05  Bruno Haible  <bruno@clisp.org>
99772         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
99773         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
99774         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
99775         Reported by Eric Blake.
99777 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99778             Bruno Haible  <bruno@clisp.org>
99780         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
99781         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
99782         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
99783         (malloc): Undefine also before including <stdlib.h>.
99784         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
99785         Needed on OSF/1 4.0.
99787 2007-11-05  Jim Meyering  <meyering@redhat.com>
99789         git-version-gen: sync from coreutils.
99790         * build-aux/git-version-gen: Add comments.
99791         Change the first '-' to '.' in the snapshot version string,
99792         e.g., 6.9-377-08144 -> 6.9.377-08144
99793         Remove first parameter.
99794         Don't declare a version "-dirty" merely because a time
99795         stamp has changed.
99797 2007-11-04  Bruno Haible  <bruno@clisp.org>
99799         * lib/lock.h: Protect all macro definitions containing an 'if'
99800         statement through a "do { ... } while (0)".
99801         * lib/tls.h: Likewise.
99803 2007-11-04  Bruno Haible  <bruno@clisp.org>
99805         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
99807 2007-11-04  Bruno Haible  <bruno@clisp.org>
99809         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
99810         * modules/fprintf-posix (Depends-on): Add nocrash.
99811         * modules/snprintf-posix (Depends-on): Likewise.
99812         * modules/sprintf-posix (Depends-on): Likewise.
99813         * modules/vasnprintf-posix (Depends-on): Likewise.
99814         * modules/vasprintf-posix (Depends-on): Likewise.
99815         * modules/vfprintf-posix (Depends-on): Likewise.
99816         * modules/vsnprintf-posix (Depends-on): Likewise.
99817         * modules/vsprintf-posix (Depends-on): Likewise.
99818         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
99819         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
99820         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
99821         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
99822         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
99823         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
99824         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
99826 2007-11-04  Bruno Haible  <bruno@clisp.org>
99828         * modules/nocrash: New file.
99829         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
99830         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
99832 2007-11-04  Bruno Haible  <bruno@clisp.org>
99834         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
99835         precision handling.
99836         * tests/test-vasprintf-posix.c (test_function): Likewise.
99837         * tests/test-snprintf-posix.h (test_function): Likewise.
99838         * tests/test-sprintf-posix.h (test_function): Likewise.
99840         Fix *printf behaviour for large precisions on mingw and BeOS.
99841         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
99842         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
99843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
99844         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99845         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99846         gl_PRINTF_PRECISION and test its result. Invoke
99847         gl_PREREQ_VASNPRINTF_PRECISION.
99848         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99849         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99850         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99851         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99852         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99853         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99854         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99855         * doc/functions/fprintf.texi: Update.
99856         * doc/functions/printf.texi: Update.
99857         * doc/functions/snprintf.texi: Update.
99858         * doc/functions/sprintf.texi: Update.
99859         * doc/functions/vfprintf.texi: Update.
99860         * doc/functions/vprintf.texi: Update.
99861         * doc/functions/vsnprintf.texi: Update.
99862         * doc/functions/vsprintf.texi: Update.
99864 2007-11-04  Bruno Haible  <bruno@clisp.org>
99866         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
99868 2007-11-04  Bruno Haible  <bruno@clisp.org>
99870         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
99871         Reported by Sylvain Beucler <beuc@gnu.org>.
99873 2007-11-03  Bruno Haible  <bruno@clisp.org>
99875         * tests/test-fprintf-posix2.sh: New file.
99876         * tests/test-fprintf-posix2.c: New file.
99877         * modules/fprintf-posix-tests (Files): Add them.
99878         (TESTS): Add test-fprintf-posix2.sh.
99879         (configure.ac): Check for getrlimit and setrlimit.
99880         (check_PROGRAMS): Add test-fprintf-posix2.
99882         * tests/test-printf-posix2.sh: New file.
99883         * tests/test-printf-posix2.c: New file.
99884         * modules/printf-posix-tests (Files): Add them.
99885         (TESTS): Add test-printf-posix2.sh.
99886         (configure.ac): Check for getrlimit and setrlimit.
99887         (check_PROGRAMS): Add test-printf-posix2.
99889         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
99890         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
99891         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
99892         (decode_double): New function, copied from decode_long_double.
99893         (scale10_round_decimal_decoded): New function, extracted from
99894         scale10_round_decimal_long_double.
99895         (scale10_round_decimal_long_double): Use it.
99896         (scale10_round_decimal_double): New function.
99897         (floorlog10): New function.
99898         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
99899         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
99900         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99901         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99902         gl_PRINTF_ENOMEM and test its result. Invoke
99903         gl_PREREQ_VASNPRINTF_ENOMEM.
99904         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99905         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99906         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99907         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99908         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99909         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99910         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99911         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
99912         * modules/snprintf-posix (Depends-on): Likewise.
99913         * modules/sprintf-posix (Depends-on): Likewise.
99914         * modules/vasnprintf-posix (Depends-on): Likewise.
99915         * modules/vasprintf-posix (Depends-on): Likewise.
99916         * modules/vfprintf-posix (Depends-on): Likewise.
99917         * modules/vsnprintf-posix (Depends-on): Likewise.
99918         * modules/vsprintf-posix (Depends-on): Likewise.
99919         * doc/functions/fprintf.texi: Update.
99920         * doc/functions/printf.texi: Update.
99921         * doc/functions/snprintf.texi: Update.
99922         * doc/functions/sprintf.texi: Update.
99923         * doc/functions/vfprintf.texi: Update.
99924         * doc/functions/vprintf.texi: Update.
99925         * doc/functions/vsnprintf.texi: Update.
99926         * doc/functions/vsprintf.texi: Update.
99928 2007-11-03  Bruno Haible  <bruno@clisp.org>
99930         * modules/frexp-nolibm-tests: New file.
99932         * modules/frexp-nolibm: New file.
99933         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
99935 2007-11-03  Bruno Haible  <bruno@clisp.org>
99937         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
99938         value is C99 compliant.
99939         Needed for OSF/1 5.1.
99941 2007-11-03  Bruno Haible  <bruno@clisp.org>
99943         Fix out-of-memory handling of vasnprintf.
99944         * lib/printf-parse.c: Include <errno.h>.
99945         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
99946         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
99947         is already set.
99949 2007-11-02  Eric Blake  <ebb9@byu.net>
99951         Fix tests on cygwin.
99952         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
99954 2007-11-01  Bruno Haible  <bruno@clisp.org>
99956         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
99957         warning.
99958         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
99959         needed for POSIX compatibility.
99961 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
99963         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
99964         for compatibility with GNU.
99966 2007-11-01  Bruno Haible  <bruno@clisp.org>
99968         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
99969         (putenv): Renamed from rpl_putenv. Change argument type from
99970         'const char *' to 'char *'.
99971         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
99972         of defining putenv in config.h, just set REPLACE_PUTENV.
99973         * modules/putenv (Depends-on): Add stdlib.
99974         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
99975         (Include): Use <stdlib.h>.
99976         * lib/stdlib.in.h (putenv): New declaration.
99977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
99978         REPLACE_PUTENV.
99979         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
99980         REPLACE_PUTENV.
99981         Needed for MacOS X 10.5.0.
99982         Reported by Peter O'Gorman <peter@pogma.com>.
99984 2007-11-01  Jim Meyering  <meyering@redhat.com>
99986         Treat an empty date string exactly like "0".
99987         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
99988         if the remaining date string (to be parsed) is empty, use "0".
99989         Reported by Mischa Molhoek and discussed in this thread:
99990         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
99992 2007-10-31  Bruno Haible  <bruno@clisp.org>
99994         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
99995         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
99996         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
99997         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
99998         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
99999         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
100001 2007-10-31  Bruno Haible  <bruno@clisp.org>
100003         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
100004         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
100005         (AC_TYPE_LONG_LONG_INT): Use it.
100006         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
100007         it as well.
100008         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
100009         to m4/longlong.m4.
100010         * modules/stdint (Files): Remove m4/ulonglong.m4.
100011         * modules/strtoull (Files): Use m4/longlong.m4 instead of
100012         m4/ulonglong.m4.
100013         * modules/strtoumax (Files): Likewise.
100015 2007-10-30  Bruno Haible  <bruno@clisp.org>
100017         * modules/xvasprintf-posix: New file.
100018         Suggested by Eric Blake.
100020 2007-10-30  Bruno Haible  <bruno@clisp.org>
100022         * modules/xprintf-posix-tests: New file.
100023         * tests/test-xprintf-posix.sh: New file.
100024         * tests/test-xprintf-posix.c: New file.
100025         * tests/test-xfprintf-posix.c: New file.
100027         * modules/xprintf-posix: New file.
100029 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100031         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
100032         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
100033         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
100035 2007-10-29  Bruno Haible  <bruno@clisp.org>
100037         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
100038         contain the special marker '_cv_'.
100039         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
100040         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
100041         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
100042         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
100043         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
100044         Reported by Ralf Wildenhues.
100046 2007-10-29  Bruno Haible  <bruno@clisp.org>
100048         * gnulib-tool (func_import): When --lgpl is not specified, set
100049         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
100050         GPLv3.
100051         Reported by Simon Josefsson.
100053 2007-10-28  Bruno Haible  <bruno@clisp.org>
100055         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
100056         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
100057         HAVE_DECL_ISFINITE.
100058         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100059         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
100060         HAVE_DECL_ISFINITE.
100062 2007-10-28  Bruno Haible  <bruno@clisp.org>
100064         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
100065         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
100067 2007-10-28  Bruno Haible  <bruno@clisp.org>
100069         Fix link errors with Sun C 5.0 on Solaris 10.
100070         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
100071         function is declared but not present in the compiler's libm.
100072         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
100073         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
100074         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
100075         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
100076         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
100077         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
100078         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
100079         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
100080         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
100081         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
100082         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
100083         HAVE_DECL_FLOORL.
100085 2007-10-28  Bruno Haible  <bruno@clisp.org>
100087         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
100088         gl_FUNC_FLOORL. Cache the result.
100089         (gl_FUNC_FLOORL): Use it.
100090         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
100091         gl_FUNC_CEILL. Cache the result.
100092         (gl_FUNC_CEILL): Use it.
100094         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
100095         gl_FUNC_FLOOR. Cache the result.
100096         (gl_FUNC_FLOOR): Use it.
100097         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
100098         gl_FUNC_CEIL. Cache the result.
100099         (gl_FUNC_CEIL): Use it.
100101         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
100102         gl_FUNC_FLOORF. Cache the result.
100103         (gl_FUNC_FLOORF): Use it.
100104         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
100105         gl_FUNC_CEILF. Cache the result.
100106         (gl_FUNC_CEILF): Use it.
100108 2007-10-28  Bruno Haible  <bruno@clisp.org>
100110         * gnulib-tool: Allow specifying the LGPL version number through
100111         --lgpl=2 or --lgpl=3.
100112         (func_usage): Document --lgpl with argument.
100113         Handle --lgpl=... arguments.
100114         (func_import): Recognize also gl_LGPL calls with an argument. When
100115         --lgpl=2 is used and the module's license is just LGPL, report an
100116         error. Set sed_transform_lib_file according to the lgpl variable. In
100117         the generated files, use --lgpl or gl_LGPL invocations with argument,
100118         if necessary.
100119         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
100120         an LGPv2+ license.
100121         * doc/gnulib-tool.texi (Modified imports): Update explanation of
100122         gl_LGPL macro.
100124 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100125             Bruno Haible  <bruno@clisp.org>
100127         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
100128         (u16_uctomb_aux): Likewise.
100129         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
100130         !HAVE_INLINE.
100131         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
100133 2007-10-28  Bruno Haible  <bruno@clisp.org>
100135         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
100136         Invoke AM_GETTEXT_OPTION if it exists.
100137         * modules/vasprintf: Likewise.
100138         * modules/verror: Likewise.
100139         * modules/xprintf: Likewise.
100140         * modules/xvasprintf: Likewise.
100142 2007-10-27  Ben Pfaff  <blp@gnu.org>
100144         * lib/math.in.h: Define isfinite macro and prototypes for
100145         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
100146         implementations.
100147         * m4/math_h.m4: New substitutions for isfinite module.
100148         * lib/isfinite.c: New file.
100149         * m4/isfinite.m4: New file.
100150         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
100151         * modules/isfinite: New file.
100152         * modules/isfinite-tests: New file.
100153         * tests/tests-isfinite.c: New file.
100154         * doc/functions/isfinite.texi: Mention isfinite module.
100155         * MODULES.html.sh: Mention new module.
100157 2007-10-27  Ben Pfaff  <blp@gnu.org>
100159         Ralf Wildenhues reported that Tru64 4.0D declares the round
100160         functions but does not have definitions.
100161         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
100162         cannot be found in any library, set the output variable to
100163         "missing" instead of "".
100164         * m4/round.m4: Also use our substitute if we cannot find round in
100165         any library, even if it is declared.
100166         * m4/roundf.m4: Likewise for roundf.
100167         * m4/roundl.m4: Likewise for roundl.
100168         * lib/math.in.h: Undefine roundf, round, roundl before defining
100169         their replacements, to allow for hypothetical systems where these
100170         may be defined as macros but not available in libraries.
100172 2007-10-27  Bruno Haible  <bruno@clisp.org>
100174         * doc/gnulib.texi: Invoke @firstparagraphindent.
100175         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
100176         changes in gnulib.
100177         (Source changes): New section.
100179 2007-10-26  Bruno Haible  <bruno@clisp.org>
100181         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
100182         borrowed from autoconf.
100184 2007-10-26  Bruno Haible  <bruno@clisp.org>
100186         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
100187         strerror returned the empty string. Needed on HP-UX 11.00.
100189 2007-10-24  Micah Cowan  <micah@cowan.name>
100191         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
100192         * build-aux/bootstrap: Remove support for now-unnecessary option,
100193         --cvs-user, and envvars CVS_USER, CVS_RSH.
100195 2007-10-24  Jim Meyering  <meyering@redhat.com>
100197         Avoid diagnostics from sha1sum when there is no cached checksum.
100198         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
100199         if the po.s1 file hasn't been created yet.
100201         * build-aux/bootstrap: Sync from coreutils:
100202         2007-10-24  Jim Meyering  <meyering@redhat.com>
100203         Get gnulib from the git repository, not from an obsolete cvs one.
100204         * build-aux/bootstrap: Suggestion from Micah Cowan.
100205         2007-10-04  Jim Meyering  <jim@meyering.net>
100206         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
100207         (update_po_files): Work also when there are no .po files in po/.
100209 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
100211         * README: Append ".git" to git and cg examples.
100212         Problem reported by Benoit Sigoure.
100214 2007-10-23  Micah Cowan  <micah@cowan.name>
100216         * users.txt: Add wget.
100218 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100220         Fix linking of some unistdio tests on FreeBSD.
100221         * modules/unistdio/u16-vsnprintf-tests
100222         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
100223         * modules/unistdio/u16-vsprintf-tests
100224         (test_u16_vsnprintf1_LDADD): Likewise.
100225         * modules/unistdio/u32-vsnprintf-tests
100226         (test_u32_vsnprintf1_LDADD): Likewise.
100227         * modules/unistdio/u32-vsprintf-tests
100228         (test_u32_vsprintf1_LDADD): Likewise.
100229         * modules/unistdio/u8-vsnprintf-tests
100230         (test_u8_vsnprintf1_LDADD): Likewise.
100231         * modules/unistdio/u8-vsprintf-tests
100232         (test_u8_vsprintf1_LDADD): Likewise.
100233         * modules/unistdio/ulc-vsnprintf-tests
100234         (test_ulc_vsnprintf1_LDADD): Likewise.
100235         * modules/unistdio/ulc-vsprintf-tests
100236         (test_ulc_vsprintf1_LDADD): Likewise.
100238         Fix linking of some uniconv tests on FreeBSD.
100239         * modules/uniconv/u16-conv-from-enc-tests
100240         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
100241         * modules/uniconv/u16-conv-to-enc-tests
100242         (test_u16_conv_to_enc_LDADD): Likewise.
100243         * modules/uniconv/u16-strconv-from-enc-tests
100244         (test_u16_strconv_from_enc_LDADD): Likewise.
100245         * modules/uniconv/u16-strconv-to-enc-tests
100246         (test_u16_strconv_to_enc_LDADD): Likewise.
100247         * modules/uniconv/u32-conv-from-enc-tests
100248         (test_u32_conv_from_enc_LDADD): Likewise.
100249         * modules/uniconv/u32-conv-to-enc-tests
100250         (test_u32_conv_to_enc_LDADD): Likewise.
100251         * modules/uniconv/u32-strconv-from-enc-tests
100252         (test_u32_strconv_from_enc_LDADD): Likewise.
100253         * modules/uniconv/u32-strconv-to-enc-tests
100254         (test_u32_strconv_to_enc_LDADD): Likewise.
100255         * modules/uniconv/u8-conv-from-enc-tests
100256         (test_u8_conv_from_enc_LDADD): Likewise.
100257         * modules/uniconv/u8-conv-to-enc-tests
100258         (test_u8_conv_to_enc_LDADD): Likewise.
100259         * modules/uniconv/u8-strconv-from-enc-tests
100260         (test_u8_strconv_from_enc_LDADD): Likewise.
100261         * modules/uniconv/u8-strconv-to-enc-tests
100262         (test_u8_strconv_to_enc_LDADD): Likewise.
100264 2007-10-22  Bruno Haible  <bruno@clisp.org>
100266         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
100267         size.
100269 2007-10-22  Eric Blake  <ebb9@byu.net>
100271         Tweak x*printf documentation.
100272         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
100273         variable name and comments.
100274         Suggested by Bruno Haible.
100276 2007-10-22  Bruno Haible  <bruno@clisp.org>
100278         * lib/acl.c (copy_acl): Fix file name in comment.
100280 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100282         Fix Tru64 problem with stdbool.h.
100283         * lib/stdbool.in.h (false, true):
100284         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
100285         Don't declare as an enum in this situation; it runs afoul of Tru64.
100286         Problem reported by Steven M. Schweda in
100287         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
100289 2007-10-22  Eric Blake  <ebb9@byu.net>
100291         Also wrap vf?printf.
100292         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
100293         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
100294         (xvprintf, xvfprintf): New functions.
100296 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100298         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
100299         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
100301         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
100302         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
100304 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100306         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
100307         by Bruno Haible.
100309 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100311         * lib/getloadavg.c
100312         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
100313         Undef `sys' after including sys/table.h, for Tru64 4.0D.
100315         * tests/test-i-ring.c: Work for C89.
100317 2007-10-22  Bruno Haible  <bruno@clisp.org>
100319         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
100320         -1u, in preprocessor expression, so that we don't test for the bug
100321         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
100322         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
100324 2007-10-22  Eric Blake  <ebb9@byu.net>
100326         * tests/test-yesno.sh: Silence stderr during test.
100328 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100330         * modules/crypto/gc-camellia: New file.
100332         * m4/gc-camellia.m4: New file.
100334         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
100336         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
100338 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100340         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
100341         --help to stdout.  Reported by sms@antinode.org (Steven
100342         M. Schweda).
100344 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100346         * users.txt: Fix link to libksba.
100348 2007-10-21  Ben Pfaff  <blp@gnu.org>
100350         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
100351         round.c roundf implementation that depends on floorf and ceilf to
100352         be tested unconditionally.
100354 2007-10-21  Ben Pfaff  <blp@gnu.org>
100356         * m4/check-libm-func.m4: Removed.
100357         * m4/check-math-lib.m4: New file.
100358         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
100359         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
100360         definition and lack of AC_LIBOBJ([roundf]).
100361         * m4/roundl.m4: Ditto, and similarly for roundl.
100362         * modules/round: Reference new m4 file.
100363         * modules/roundf: Ditto.
100364         * modules/roundl: Ditto.
100365         * tests/test-round2.c (main): Use ROUND instead of round.
100366         Bug report from Bruno Haible.
100368 2007-10-21  Bruno Haible  <bruno@clisp.org>
100370         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
100371         context.
100373 2007-10-21  Bruno Haible  <bruno@clisp.org>
100375         * tests/test-wcwidth.c (main): Allow negative result for some control
100376         characters.
100378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
100379         Needed on OSF/1 5.1.
100381 2007-10-21  Bruno Haible  <bruno@clisp.org>
100383         * tests/test-floorf1.c: Include isnanf.h.
100384         (main): Use isnanf() instead of isnan().
100385         * tests/test-ceilf1.c: Include isnanf.h.
100386         (main): Use isnanf() instead of isnan().
100387         * tests/test-truncf1.c: Include isnanf.h.
100388         (main): Use isnanf() instead of isnan().
100389         * tests/test-roundf1.c: Include isnanf.h.
100390         (main): Use isnanf() instead of isnan().
100392 2007-10-21  Eric Blake  <ebb9@byu.net>
100394         * users.txt: Update URL for m4.
100396 2007-10-21  Bruno Haible  <bruno@clisp.org>
100398         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
100400 2007-10-21  Bruno Haible  <bruno@clisp.org>
100402         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
100403         Git's management files if the CVS files are not present.
100405 2007-10-20  Bruno Haible  <bruno@clisp.org>
100407         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
100408         gcc-3.4.x.
100410 2007-10-20  Ben Pfaff  <blp@gnu.org>
100412         * lib/math.in.h: Declare round, roundf, roundl if we are providing
100413         implementations.
100414         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
100415         * lib/round.c: New file.
100416         * lib/roundf.c: New file.
100417         * lib/roundl.c: New file.
100418         * m4/round.m4: New file.
100419         * m4/roundf.m4: New file.
100420         * m4/roundl.m4: New file.
100421         * m4/check-libm-func-m4: New file.
100422         * modules/math: Replace round, roundf, roundl related @VARS@ in
100423         math.in.h.
100424         * modules/round: New file.
100425         * modules/round-tests: New file.
100426         * modules/roundf: New file.
100427         * modules/roundf-tests: New file.
100428         * modules/roundl: New file.
100429         * modules/roundl-tests: New file.
100430         * tests/test-round1.c: New file.
100431         * tests/test-round2.c: New file.
100432         * tests/test-roundf1.c: New file.
100433         * tests/test-roundf2.c: New file.
100434         * tests/test-roundl.c: New file.
100435         * doc/functions/round.texi: Mention round module.
100436         * doc/functions/roundf.texi: Mention roundf module.
100437         * doc/functions/roundl.texi: Mention roundl module.
100438         * MODULES.html.sh: Mention new modules.
100439         Thanks to Bruno Haible for suggestions.
100441 2007-10-20  Jim Meyering  <meyering@redhat.com>
100443         * lib/xprintf.c: Include <config.h> unconditionally.
100445         Change xprintf's license to GPL.
100446         * modules/xprintf (License): s/LGPL/GPL/, since this module
100447         depends on modules (exit and exitfail) which are GPL.
100448         Suggestion from Bruno Haible.
100450         xprintf fixes.
100451         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
100452         Use a clearer diagnostic.
100453         Patch from Bruno Haible.
100455 2007-10-20  Bruno Haible  <bruno@clisp.org>
100457         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
100458         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
100459         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100461 2007-10-20  Bruno Haible  <bruno@clisp.org>
100463         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
100464         precision in the comparison result > x - 1 or similar.
100465         * tests/test-ceilf2.c (correct_result_p): Likewise.
100466         * tests/test-truncf2.c (correct_result_p): Likewise.
100467         * tests/test-trunc2.c (correct_result_p): Likewise.
100468         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100470 2007-10-20  Bruno Haible  <bruno@clisp.org>
100472         * modules/ceil: New file.
100473         * m4/ceil.m4: New file.
100474         * doc/functions/ceil.texi: Mention the 'ceil' module.
100476 2007-10-20  Bruno Haible  <bruno@clisp.org>
100478         * modules/floor: New file.
100479         * m4/floor.m4: New file.
100480         * doc/functions/floor.texi: Mention the 'floor' module.
100482 2007-10-20  Bruno Haible  <bruno@clisp.org>
100484         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
100485         of %a.
100486         * modules/floorf-tests (Depends-on): Likewise.
100487         * modules/truncf-tests (Depends-on): Likewise.
100488         * modules/trunc-tests (Depends-on): Likewise.
100489         Reported by Ben Pfaff.
100491 2007-10-19  Jim Meyering  <meyering@redhat.com>
100493         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
100494         Don't bother testing specific errno values.  Just test ferror.
100496         New module: xprintf
100497         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
100499 2007-10-19  Bruno Haible  <bruno@clisp.org>
100501         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
100502         syntax.
100503         * modules/javaexec (Makefile.am): Likewise.
100504         * modules/relocatable-prog (Makefile.am): Likewise.
100505         Suggested by Jim Meyering.
100507 2007-10-18  Bruno Haible  <bruno@clisp.org>
100509         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
100510         Reported by Jim Meyering.
100512 2007-10-18  Eric Blake  <ebb9@byu.net>
100514         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
100516 2007-10-18  Bruno Haible  <bruno@clisp.org>
100518         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
100519         the format string into writable memory. Needed in Fortify conditions.
100521 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
100522             Bruno Haible  <bruno@clisp.org>
100524         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
100525         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
100526         * modules/trim (Depends-on): Add mbchar.
100527         (configure.ac): Add gl_FUNC_MBRTOWC.
100528         (Makefile.am): Augment lib_SOURCES.
100530 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
100532         Modify glob.c to use fstatat and dirfd, to simplify it.
100533         Suggested by Eric Blake.
100534         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
100535         Don't include <stdbool.h>; not used.
100536         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
100537         (link_exists_p): Simplify implementation, since we can now assume
100538         dirfd and fstatat.
100539         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
100541 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100543         * gnulib-tool (func_get_dependencies): Fix sed script to
100544         match only tests.
100546 2007-10-17  Bruno Haible  <bruno@clisp.org>
100548         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
100549         allow locale names without encoding suffix.
100550         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
100551         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
100553 2007-10-16  Bruno Haible  <bruno@clisp.org>
100555         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
100556         * lib/getgroups.c (getgroups): Likewise.
100557         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
100559 2007-10-16  Bruno Haible  <bruno@clisp.org>
100561         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
100562         * modules/malloc-posix (License): Likewise.
100563         * modules/realloc-posix (License): Likewise.
100564         * modules/calloc-posix (License): Likewise.
100565         * modules/intprops (License): Change from GPL to LGPL, with
100566         Paul Eggert's approval.
100568 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100570         Merge glibc changes into lib/glob.c.
100572         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
100573         2007-10-15 04:59:03 UTC.  Here are the changes:
100575         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
100577         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
100579         * lib/glob.c: Add some branch prediction throughout.
100581         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
100583         [BZ #5103]
100584         * lib/glob.c (glob): Recognize patterns starting \/.
100586         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
100588         [BZ #3996]
100589         * lib/glob.c (attribute_hidden): Define if not defined.
100590         (glob): Unescape dirname, filename or username when needed and not
100591         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
100592         is NULL.  Handle unescaped [ in pattern without closing ].
100593         Don't pass GLOB_CHECK down to recursive glob for directories.
100594         (__glob_pattern_type): New function.
100595         (__glob_pattern_p): Implement using __glob_pattern_type.
100596         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
100597         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
100598         Remove unreachable code.
100600         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
100602         * lib/glob.c (glob_in_dir): Add some comments and asserts to
100603         explain why there are no leaks.
100605         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
100607         [BZ #3253]
100608         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
100609         time, rather allocate increasingly bigger arrays of pointers, if
100610         possible with alloca, if too large with malloc.
100612 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100614         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
100615         Problem reported by H.Merijn Brand in
100616         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
100617         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
100618         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
100620 2007-10-15  Bruno Haible  <bruno@clisp.org>
100622         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
100623         with explicit rpl_ prefix.
100624         * lib/fopen.c (fopen): Likewise.
100625         * lib/freopen.c (freopen): Likewise.
100626         * lib/iconv.c (iconv): Likewise.
100627         * lib/iconv_close.c (iconv_close): Likewise.
100629 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100631         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
100633 2007-10-15  Bruno Haible  <bruno@clisp.org>
100635         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
100636         <stddef.h> instead of <stdlib.h> since we only need NULL.
100637         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100639 2007-10-15  Bruno Haible  <bruno@clisp.org>
100641         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
100642         Replace paragraph talking about LIBOBJS.
100643         Reported by Colin Watson <cjwatson@debian.org>.
100645 2007-10-15  Bruno Haible  <bruno@clisp.org>
100647         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
100648         <stdlib.h> before using NULL.
100650 2007-10-15  Simon Josefsson  <simon@josefsson.org>
100652         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
100653         Reported by Albert Chin <china@thewrittenword.com>.
100655 2007-10-14  Bruno Haible  <bruno@clisp.org>
100657         * modules/iconv_open-utf-tests: New file.
100658         * tests/test-iconv-utf.c: New file.
100660         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
100661         * modules/iconv_open-utf: New file.
100662         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
100663         (iconv, iconv_close): New declarations.
100664         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
100665         be defined.
100666         (iconv_open): Add special handling of conversion between UTF-8 and
100667         UTF-{16,32}{BE,LE}.
100668         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
100669         * lib/iconv_close.c: New file.
100670         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
100671         gl_FUNC_ICONV_OPEN.
100672         (gl_FUNC_ICONV_OPEN): Use it.
100673         (gl_FUNC_ICONV_OPEN_UTF): New macro.
100674         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
100675         and REPLACE_ICONV_UTF.
100676         * modules/iconv_open (Depends-on): Add c-strcase.
100677         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
100678         ICONV_CONST.
100679         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
100681 2007-10-13  Albert Chin  <china@thewrittenword.com>
100682             Bruno Haible  <bruno@clisp.org>
100684         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
100685         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
100687 2007-10-13  Bruno Haible  <bruno@clisp.org>
100689         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
100690         defined, use the ISO C99 inline semantics.
100691         * lib/argp.h (ARGP_EI): Likewise.
100693 2007-10-13  Bruno Haible  <bruno@clisp.org>
100695         Handle 'inline' change in gcc 4.3.0.
100696         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
100697         argp_fmtstream_write, argp_fmtstream_set_lmargin,
100698         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
100699         argp_fmtstream_point): Disable 'extern' declaration if the function
100700         definition is going to be provided inline.
100701         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
100702         semantics, not the ISO C99 inline semantics.
100703         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
100704         'extern' declaration if the function definition is going to be provided
100705         inline.
100706         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
100707         the GNU C inline semantics, not the ISO C99 inline semantics. With
100708         GCC 4.2, avoid a warning.
100710 2007-10-13  Bruno Haible  <bruno@clisp.org>
100712         * lib/freading.h (freading): Enable the use of __freading for
100713         glibc >= 2.7.
100714         * lib/freading.c (freading): Likewise.
100716 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
100718         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
100719         "warning: C99 inline functions are not supported; using GNU89".
100721 2007-10-12  Bruno Haible  <bruno@clisp.org>
100723         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
100724         of 2.
100725         * tests/test-ceilf2.c: New file.
100726         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
100728         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
100729         * modules/ceilf-tests: Update.
100731 2007-10-12  Bruno Haible  <bruno@clisp.org>
100733         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
100734         of 2.
100735         * tests/test-floorf2.c: New file.
100736         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
100738         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
100739         * modules/floorf-tests: Update.
100741 2007-10-12  Bruno Haible  <bruno@clisp.org>
100743         * tests/test-trunc2.c: New file.
100744         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
100746         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
100747         * modules/trunc-tests: Update.
100749 2007-10-12  Bruno Haible  <bruno@clisp.org>
100751         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
100752         of 2.
100753         * tests/test-truncf2.c: New file.
100754         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
100756         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
100757         * modules/truncf-tests: Update.
100759 2007-10-11  Eric Blake  <ebb9@byu.net>
100761         Don't claim strerror is broken on Interix.
100762         * doc/functions/strerror.texi (strerror): Known broken systems are
100763         now Solaris 8, and not Interix.
100764         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
100765         Interix on cross-compile.
100766         Reported by Martin Koeppe in
100767         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
100769 2007-10-11  Bruno Haible  <bruno@clisp.org>
100771         * modules/i-ring-tests: New file.
100772         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
100773         instead of assert.
100775 2007-10-11  Bruno Haible  <bruno@clisp.org>
100777         * modules/filenamecat-tests: New file.
100778         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
100779         * lib/filenamecat.c: Remove test code.
100781 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
100783         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
100785         * lib/strerror.c: Include <string.h> always, to test interface,
100786         and to remove the need for the dummy.
100787         Include intprops.h to compute width instead of doing it ourselves
100788         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
100789         (strerror): Define it to return NULL if there's no system strerror.
100790         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
100791         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
100792         ancient pre-strerror Unix systems well any more.  Saying "unknown
100793         system error" is enough.
100794         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
100795         simpler strerror.c implementation.
100796         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
100797         Simplify the tests to reflect the simpler strerror implementation.
100798         * modules/strerror (Depends-on): Add intprops.
100800 2007-10-09  Eric Blake  <ebb9@byu.net>
100802         Silence test-fpending.
100803         * modules/fpending-tests (Files): Add wrapper script.
100804         * tests/test-fpending.sh: New file.
100806 2007-10-09  Bruno Haible  <bruno@clisp.org>
100808         * MODULES.html.sh (func_module): Don't create a hyperlink for
100809         function names like 'printf_frexp'.
100810         (Misc): Add crc, memxor.
100811         (Characteristics of floating types): New section.
100812         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
100813         isnanf-nolibm, signbit, trunc, truncf, truncl.
100814         (Enhancements for ISO C 99 functions): New subsection Input/output.
100815         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
100816         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
100817         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
100818         (Compatibility checks for POSIX:2001 functions): Add clock-time.
100819         (Enhancements for POSIX:2001 functions): Add chdir-long.
100820         (File system functions): Add areadlink, chdir-safer, read-file.
100821         Remove cycle-check.
100822         (File system as inode set): New section.
100823         (Date and time): Add gethrxtime.
100824         (Multithreading): Add openmp.
100825         (Internationalization functions): Add localename.
100826         (Unicode string functions): Add unistr/u*-mbsnlen.
100827         (Support for maintaining and releasing projects): Add git-version-gen.
100828         (Lone files): Remove directories.
100830 2007-10-08  Ben Pfaff  <blp@gnu.org>
100832         * lib/xmalloca.h: Fix typo in comment.
100834 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
100836         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
100837         when avoiding problems with integer overflow.  Use a portable test
100838         instead.
100840 2007-10-08  Simon Josefsson  <simon@josefsson.org>
100842         * modules/dummy (License): Change to LGPLv2+.
100843         * modules/float (License): Likewise
100844         * modules/realloc (License): Likewise
100845         * modules/stdlib (License): Likewise
100847 2007-10-07  Bruno Haible  <bruno@clisp.org>
100849         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
100850         * floor.c (TWO_MANT_DIG): Likewise.
100851         * ceil.c (TWO_MANT_DIG): Likewise.
100852         Reported by Ben Pfaff.
100854 2007-10-07  Bruno Haible  <bruno@clisp.org>
100856         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
100857         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
100858         * lib/frexp.c (FUNC): Likewise.
100859         * lib/printf-frexp.h (printf_frexp): Likewise.
100860         * lib/printf-frexpl.h (printf_frexpl): Likewise.
100861         * lib/printf-frexp.c (FUNC): Likewise.
100862         Suggested by Jim Meyering.
100864 2007-10-07  Jim Meyering  <meyering@redhat.com>
100866         Make xnanosleep's integer overflow test more robust.
100867         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
100868         so that gcc-4.3.0 doesn't optimize away this test for overflow.
100870 2007-10-07  Bruno Haible  <bruno@clisp.org>
100872         * NEWS: Mention the license change.
100874         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
100875         abbreviations in the modules files.
100877         Change copyright notice from GPLv2+ to GPLv3+.
100878         * README: Change copyright notice.
100879         * MODULES.html.sh: Likewise.
100880         * build-aux/bootstrap.conf: Likewise.
100881         * build-aux/config.libpath: Likewise.
100882         * build-aux/csharpcomp.sh.in: Likewise.
100883         * build-aux/csharpexec.sh.in: Likewise.
100884         * build-aux/install-reloc: Likewise.
100885         * build-aux/javacomp.sh.in: Likewise.
100886         * build-aux/javaexec.sh.in: Likewise.
100887         * build-aux/ldd.sh.in: Likewise.
100888         * build-aux/reloc-ldflags: Likewise.
100889         * build-aux/relocatable.sh.in: Likewise.
100890         * build-aux/x-to-1.in: Likewise.
100891         * check-module: Likewise.
100892         * config/srclistvars.sh: Likewise.
100893         * gnulib-tool: Likewise.
100894         * lib/acl-internal.h: Likewise.
100895         * lib/acl.c: Likewise.
100896         * lib/acl.h: Likewise.
100897         * lib/acl_entries.c: Likewise.
100898         * lib/areadlink-with-size.c: Likewise.
100899         * lib/areadlink.c: Likewise.
100900         * lib/areadlink.h: Likewise.
100901         * lib/argmatch.c: Likewise.
100902         * lib/argmatch.h: Likewise.
100903         * lib/argp-ba.c: Likewise.
100904         * lib/argp-eexst.c: Likewise.
100905         * lib/argp-fmtstream.c: Likewise.
100906         * lib/argp-fmtstream.h: Likewise.
100907         * lib/argp-fs-xinl.c: Likewise.
100908         * lib/argp-help.c: Likewise.
100909         * lib/argp-namefrob.h: Likewise.
100910         * lib/argp-parse.c: Likewise.
100911         * lib/argp-pin.c: Likewise.
100912         * lib/argp-pv.c: Likewise.
100913         * lib/argp-pvh.c: Likewise.
100914         * lib/argp-xinl.c: Likewise.
100915         * lib/argp.h: Likewise.
100916         * lib/at-func.c: Likewise.
100917         * lib/atanl.c: Likewise.
100918         * lib/backupfile.c: Likewise.
100919         * lib/backupfile.h: Likewise.
100920         * lib/basename.c: Likewise.
100921         * lib/binary-io.h: Likewise.
100922         * lib/byteswap.in.h: Likewise.
100923         * lib/c-stack.c: Likewise.
100924         * lib/c-stack.h: Likewise.
100925         * lib/c-strcasestr.c: Likewise.
100926         * lib/c-strcasestr.h: Likewise.
100927         * lib/c-strstr.c: Likewise.
100928         * lib/c-strstr.h: Likewise.
100929         * lib/c-strtod.c: Likewise.
100930         * lib/calloc.c: Likewise.
100931         * lib/canon-host.c: Likewise.
100932         * lib/canon-host.h: Likewise.
100933         * lib/canonicalize-lgpl.c: Likewise.
100934         * lib/canonicalize.c: Likewise.
100935         * lib/canonicalize.h: Likewise.
100936         * lib/ceil.c: Likewise.
100937         * lib/ceilf.c: Likewise.
100938         * lib/ceill.c: Likewise.
100939         * lib/chdir-long.c: Likewise.
100940         * lib/chdir-long.h: Likewise.
100941         * lib/chdir-safer.c: Likewise.
100942         * lib/chdir-safer.h: Likewise.
100943         * lib/chown.c: Likewise.
100944         * lib/classpath.c: Likewise.
100945         * lib/classpath.h: Likewise.
100946         * lib/clean-temp.c: Likewise.
100947         * lib/clean-temp.h: Likewise.
100948         * lib/cloexec.c: Likewise.
100949         * lib/close-stream.c: Likewise.
100950         * lib/closein.c: Likewise.
100951         * lib/closein.h: Likewise.
100952         * lib/closeout.c: Likewise.
100953         * lib/closeout.h: Likewise.
100954         * lib/concat-filename.c: Likewise.
100955         * lib/copy-file.c: Likewise.
100956         * lib/copy-file.h: Likewise.
100957         * lib/count-one-bits.h: Likewise.
100958         * lib/crc.c: Likewise.
100959         * lib/crc.h: Likewise.
100960         * lib/creat-safer.c: Likewise.
100961         * lib/csharpcomp.c: Likewise.
100962         * lib/csharpcomp.h: Likewise.
100963         * lib/csharpexec.c: Likewise.
100964         * lib/csharpexec.h: Likewise.
100965         * lib/cycle-check.c: Likewise.
100966         * lib/cycle-check.h: Likewise.
100967         * lib/diacrit.c: Likewise.
100968         * lib/diacrit.h: Likewise.
100969         * lib/diffseq.h: Likewise.
100970         * lib/dirchownmod.c: Likewise.
100971         * lib/dirent.in.h: Likewise.
100972         * lib/dirfd.c: Likewise.
100973         * lib/dirfd.h: Likewise.
100974         * lib/dirname.c: Likewise.
100975         * lib/dirname.h: Likewise.
100976         * lib/dummy.c: Likewise.
100977         * lib/dup-safer.c: Likewise.
100978         * lib/dup2.c: Likewise.
100979         * lib/eealloc.h: Likewise.
100980         * lib/error.c: Likewise.
100981         * lib/error.h: Likewise.
100982         * lib/euidaccess.c: Likewise.
100983         * lib/exclude.c: Likewise.
100984         * lib/exclude.h: Likewise.
100985         * lib/execute.c: Likewise.
100986         * lib/execute.h: Likewise.
100987         * lib/exitfail.c: Likewise.
100988         * lib/exitfail.h: Likewise.
100989         * lib/expl.c: Likewise.
100990         * lib/fatal-signal.c: Likewise.
100991         * lib/fatal-signal.h: Likewise.
100992         * lib/fbufmode.c: Likewise.
100993         * lib/fbufmode.h: Likewise.
100994         * lib/fchdir.c: Likewise.
100995         * lib/fchmodat.c: Likewise.
100996         * lib/fchownat.c: Likewise.
100997         * lib/fcntl--.h: Likewise.
100998         * lib/fcntl-safer.h: Likewise.
100999         * lib/fcntl.in.h: Likewise.
101000         * lib/fd-safer.c: Likewise.
101001         * lib/fflush.c: Likewise.
101002         * lib/file-has-acl.c: Likewise.
101003         * lib/file-set.c: Likewise.
101004         * lib/file-type.c: Likewise.
101005         * lib/file-type.h: Likewise.
101006         * lib/fileblocks.c: Likewise.
101007         * lib/filemode.c: Likewise.
101008         * lib/filemode.h: Likewise.
101009         * lib/filename.h: Likewise.
101010         * lib/filenamecat.c: Likewise.
101011         * lib/filenamecat.h: Likewise.
101012         * lib/findprog.c: Likewise.
101013         * lib/findprog.h: Likewise.
101014         * lib/float.in.h: Likewise.
101015         * lib/floor.c: Likewise.
101016         * lib/floorf.c: Likewise.
101017         * lib/floorl.c: Likewise.
101018         * lib/fopen-safer.c: Likewise.
101019         * lib/fopen.c: Likewise.
101020         * lib/fpending.c: Likewise.
101021         * lib/fpending.h: Likewise.
101022         * lib/fprintf.c: Likewise.
101023         * lib/fprintftime.h: Likewise.
101024         * lib/fpucw.h: Likewise.
101025         * lib/fpurge.c: Likewise.
101026         * lib/fpurge.h: Likewise.
101027         * lib/freadable.c: Likewise.
101028         * lib/freadable.h: Likewise.
101029         * lib/freadahead.c: Likewise.
101030         * lib/freadahead.h: Likewise.
101031         * lib/freading.c: Likewise.
101032         * lib/freading.h: Likewise.
101033         * lib/free.c: Likewise.
101034         * lib/freopen.c: Likewise.
101035         * lib/frexp.c: Likewise.
101036         * lib/frexpl.c: Likewise.
101037         * lib/fseek.c: Likewise.
101038         * lib/fseterr.c: Likewise.
101039         * lib/fseterr.h: Likewise.
101040         * lib/fstatat.c: Likewise.
101041         * lib/fstrcmp.c: Likewise.
101042         * lib/fstrcmp.h: Likewise.
101043         * lib/fsusage.c: Likewise.
101044         * lib/fsusage.h: Likewise.
101045         * lib/ftell.c: Likewise.
101046         * lib/ftello.c: Likewise.
101047         * lib/fts-cycle.c: Likewise.
101048         * lib/fts.c: Likewise.
101049         * lib/fts_.h: Likewise.
101050         * lib/full-read.c: Likewise.
101051         * lib/full-read.h: Likewise.
101052         * lib/full-write.c: Likewise.
101053         * lib/full-write.h: Likewise.
101054         * lib/fwritable.c: Likewise.
101055         * lib/fwritable.h: Likewise.
101056         * lib/fwriteerror.c: Likewise.
101057         * lib/fwriteerror.h: Likewise.
101058         * lib/fwriting.c: Likewise.
101059         * lib/fwriting.h: Likewise.
101060         * lib/gcd.c: Likewise.
101061         * lib/gcd.h: Likewise.
101062         * lib/getcwd.c: Likewise.
101063         * lib/getdate.h: Likewise.
101064         * lib/getdate.y: Likewise.
101065         * lib/getdomainname.c: Likewise.
101066         * lib/getdomainname.h: Likewise.
101067         * lib/getgroups.c: Likewise.
101068         * lib/gethostname.c: Likewise.
101069         * lib/gethrxtime.c: Likewise.
101070         * lib/gethrxtime.h: Likewise.
101071         * lib/getloadavg.c: Likewise.
101072         * lib/getndelim2.c: Likewise.
101073         * lib/getndelim2.h: Likewise.
101074         * lib/getnline.c: Likewise.
101075         * lib/getnline.h: Likewise.
101076         * lib/getopt.c: Likewise.
101077         * lib/getopt.in.h: Likewise.
101078         * lib/getopt1.c: Likewise.
101079         * lib/getopt_int.h: Likewise.
101080         * lib/getpagesize.h: Likewise.
101081         * lib/getsubopt.c: Likewise.
101082         * lib/gettime.c: Likewise.
101083         * lib/getugroups.c: Likewise.
101084         * lib/getugroups.h: Likewise.
101085         * lib/getusershell.c: Likewise.
101086         * lib/gl_anyavltree_list1.h: Likewise.
101087         * lib/gl_anyavltree_list2.h: Likewise.
101088         * lib/gl_anyhash_list1.h: Likewise.
101089         * lib/gl_anyhash_list2.h: Likewise.
101090         * lib/gl_anylinked_list1.h: Likewise.
101091         * lib/gl_anylinked_list2.h: Likewise.
101092         * lib/gl_anyrbtree_list1.h: Likewise.
101093         * lib/gl_anyrbtree_list2.h: Likewise.
101094         * lib/gl_anytree_list1.h: Likewise.
101095         * lib/gl_anytree_list2.h: Likewise.
101096         * lib/gl_anytree_oset.h: Likewise.
101097         * lib/gl_anytreehash_list1.h: Likewise.
101098         * lib/gl_anytreehash_list2.h: Likewise.
101099         * lib/gl_array_list.c: Likewise.
101100         * lib/gl_array_list.h: Likewise.
101101         * lib/gl_array_oset.c: Likewise.
101102         * lib/gl_array_oset.h: Likewise.
101103         * lib/gl_avltree_list.c: Likewise.
101104         * lib/gl_avltree_list.h: Likewise.
101105         * lib/gl_avltree_oset.c: Likewise.
101106         * lib/gl_avltree_oset.h: Likewise.
101107         * lib/gl_avltreehash_list.c: Likewise.
101108         * lib/gl_avltreehash_list.h: Likewise.
101109         * lib/gl_carray_list.c: Likewise.
101110         * lib/gl_carray_list.h: Likewise.
101111         * lib/gl_linked_list.c: Likewise.
101112         * lib/gl_linked_list.h: Likewise.
101113         * lib/gl_linkedhash_list.c: Likewise.
101114         * lib/gl_linkedhash_list.h: Likewise.
101115         * lib/gl_list.c: Likewise.
101116         * lib/gl_list.h: Likewise.
101117         * lib/gl_oset.c: Likewise.
101118         * lib/gl_oset.h: Likewise.
101119         * lib/gl_rbtree_list.c: Likewise.
101120         * lib/gl_rbtree_list.h: Likewise.
101121         * lib/gl_rbtree_oset.c: Likewise.
101122         * lib/gl_rbtree_oset.h: Likewise.
101123         * lib/gl_rbtreehash_list.c: Likewise.
101124         * lib/gl_rbtreehash_list.h: Likewise.
101125         * lib/gl_sublist.c: Likewise.
101126         * lib/gl_sublist.h: Likewise.
101127         * lib/group-member.c: Likewise.
101128         * lib/group-member.h: Likewise.
101129         * lib/hard-locale.c: Likewise.
101130         * lib/hard-locale.h: Likewise.
101131         * lib/hash-pjw.c: Likewise.
101132         * lib/hash-pjw.h: Likewise.
101133         * lib/hash-triple.c: Likewise.
101134         * lib/hash.c: Likewise.
101135         * lib/hash.h: Likewise.
101136         * lib/human.c: Likewise.
101137         * lib/human.h: Likewise.
101138         * lib/i-ring.c: Likewise.
101139         * lib/i-ring.h: Likewise.
101140         * lib/idcache.c: Likewise.
101141         * lib/imaxabs.c: Likewise.
101142         * lib/imaxdiv.c: Likewise.
101143         * lib/inet_pton.c: Likewise.
101144         * lib/inet_pton.h: Likewise.
101145         * lib/intprops.h: Likewise.
101146         * lib/inttostr.c: Likewise.
101147         * lib/inttostr.h: Likewise.
101148         * lib/inttypes.in.h: Likewise.
101149         * lib/isapipe.c: Likewise.
101150         * lib/isdir.c: Likewise.
101151         * lib/isnan.c: Likewise.
101152         * lib/isnan.h: Likewise.
101153         * lib/isnanf.c: Likewise.
101154         * lib/isnanf.h: Likewise.
101155         * lib/isnanl-nolibm.h: Likewise.
101156         * lib/isnanl.c: Likewise.
101157         * lib/isnanl.h: Likewise.
101158         * lib/javacomp.c: Likewise.
101159         * lib/javacomp.h: Likewise.
101160         * lib/javaexec.c: Likewise.
101161         * lib/javaexec.h: Likewise.
101162         * lib/javaversion.c: Likewise.
101163         * lib/javaversion.h: Likewise.
101164         * lib/javaversion.java: Likewise.
101165         * lib/lbrkprop.h: Likewise.
101166         * lib/lchmod.h: Likewise.
101167         * lib/lchown.c: Likewise.
101168         * lib/ldexpl.c: Likewise.
101169         * lib/linebreak.c: Likewise.
101170         * lib/linebreak.h: Likewise.
101171         * lib/linebuffer.c: Likewise.
101172         * lib/linebuffer.h: Likewise.
101173         * lib/locale.in.h: Likewise.
101174         * lib/logl.c: Likewise.
101175         * lib/long-options.c: Likewise.
101176         * lib/long-options.h: Likewise.
101177         * lib/lstat.c: Likewise.
101178         * lib/lstat.h: Likewise.
101179         * lib/math.in.h: Likewise.
101180         * lib/mbchar.c: Likewise.
101181         * lib/mbchar.h: Likewise.
101182         * lib/mbfile.h: Likewise.
101183         * lib/mbiter.h: Likewise.
101184         * lib/mbscasecmp.c: Likewise.
101185         * lib/mbscasestr.c: Likewise.
101186         * lib/mbschr.c: Likewise.
101187         * lib/mbscspn.c: Likewise.
101188         * lib/mbslen.c: Likewise.
101189         * lib/mbsncasecmp.c: Likewise.
101190         * lib/mbsnlen.c: Likewise.
101191         * lib/mbspbrk.c: Likewise.
101192         * lib/mbspcasecmp.c: Likewise.
101193         * lib/mbsrchr.c: Likewise.
101194         * lib/mbssep.c: Likewise.
101195         * lib/mbsspn.c: Likewise.
101196         * lib/mbsstr.c: Likewise.
101197         * lib/mbstok_r.c: Likewise.
101198         * lib/mbswidth.c: Likewise.
101199         * lib/mbswidth.h: Likewise.
101200         * lib/mbuiter.h: Likewise.
101201         * lib/memcasecmp.c: Likewise.
101202         * lib/memcasecmp.h: Likewise.
101203         * lib/memchr.c: Likewise.
101204         * lib/memcmp.c: Likewise.
101205         * lib/memcoll.c: Likewise.
101206         * lib/memcoll.h: Likewise.
101207         * lib/memcpy.c: Likewise.
101208         * lib/memrchr.c: Likewise.
101209         * lib/mkancesdirs.c: Likewise.
101210         * lib/mkdir-p.c: Likewise.
101211         * lib/mkdir-p.h: Likewise.
101212         * lib/mkdir.c: Likewise.
101213         * lib/mkdirat.c: Likewise.
101214         * lib/mkdtemp.c: Likewise.
101215         * lib/mkstemp-safer.c: Likewise.
101216         * lib/mkstemp.c: Likewise.
101217         * lib/modechange.c: Likewise.
101218         * lib/modechange.h: Likewise.
101219         * lib/mountlist.c: Likewise.
101220         * lib/mountlist.h: Likewise.
101221         * lib/mpsort.c: Likewise.
101222         * lib/nanosleep.c: Likewise.
101223         * lib/obstack.c: Likewise.
101224         * lib/obstack.h: Likewise.
101225         * lib/open-safer.c: Likewise.
101226         * lib/open.c: Likewise.
101227         * lib/openat-die.c: Likewise.
101228         * lib/openat-priv.h: Likewise.
101229         * lib/openat-proc.c: Likewise.
101230         * lib/openat.c: Likewise.
101231         * lib/openat.h: Likewise.
101232         * lib/pagealign_alloc.c: Likewise.
101233         * lib/pagealign_alloc.h: Likewise.
101234         * lib/physmem.c: Likewise.
101235         * lib/physmem.h: Likewise.
101236         * lib/pipe-safer.c: Likewise.
101237         * lib/pipe.c: Likewise.
101238         * lib/pipe.h: Likewise.
101239         * lib/posixtm.c: Likewise.
101240         * lib/posixtm.h: Likewise.
101241         * lib/posixver.c: Likewise.
101242         * lib/printf-frexp.c: Likewise.
101243         * lib/printf-frexp.h: Likewise.
101244         * lib/printf-frexpl.c: Likewise.
101245         * lib/printf-frexpl.h: Likewise.
101246         * lib/printf.c: Likewise.
101247         * lib/progname.c: Likewise.
101248         * lib/progname.h: Likewise.
101249         * lib/progreloc.c: Likewise.
101250         * lib/putenv.c: Likewise.
101251         * lib/quote.c: Likewise.
101252         * lib/quote.h: Likewise.
101253         * lib/quotearg.c: Likewise.
101254         * lib/quotearg.h: Likewise.
101255         * lib/raise.c: Likewise.
101256         * lib/readline.c: Likewise.
101257         * lib/readline.h: Likewise.
101258         * lib/readlink.c: Likewise.
101259         * lib/readtokens.c: Likewise.
101260         * lib/readtokens.h: Likewise.
101261         * lib/readtokens0.c: Likewise.
101262         * lib/readtokens0.h: Likewise.
101263         * lib/readutmp.c: Likewise.
101264         * lib/readutmp.h: Likewise.
101265         * lib/realloc.c: Likewise.
101266         * lib/relocwrapper.c: Likewise.
101267         * lib/rename-dest-slash.c: Likewise.
101268         * lib/rename.c: Likewise.
101269         * lib/rmdir.c: Likewise.
101270         * lib/rpmatch.c: Likewise.
101271         * lib/safe-read.c: Likewise.
101272         * lib/safe-read.h: Likewise.
101273         * lib/safe-write.c: Likewise.
101274         * lib/safe-write.h: Likewise.
101275         * lib/same-inode.h: Likewise.
101276         * lib/same.c: Likewise.
101277         * lib/same.h: Likewise.
101278         * lib/save-cwd.c: Likewise.
101279         * lib/save-cwd.h: Likewise.
101280         * lib/savedir.c: Likewise.
101281         * lib/savedir.h: Likewise.
101282         * lib/savewd.c: Likewise.
101283         * lib/savewd.h: Likewise.
101284         * lib/search.in.h: Likewise.
101285         * lib/setenv.c: Likewise.
101286         * lib/setenv.h: Likewise.
101287         * lib/settime.c: Likewise.
101288         * lib/sh-quote.c: Likewise.
101289         * lib/sh-quote.h: Likewise.
101290         * lib/sig2str.c: Likewise.
101291         * lib/sig2str.h: Likewise.
101292         * lib/signal.in.h: Likewise.
101293         * lib/signbitd.c: Likewise.
101294         * lib/signbitf.c: Likewise.
101295         * lib/signbitl.c: Likewise.
101296         * lib/sigprocmask.c: Likewise.
101297         * lib/sincosl.c: Likewise.
101298         * lib/sleep.c: Likewise.
101299         * lib/sprintf.c: Likewise.
101300         * lib/sqrtl.c: Likewise.
101301         * lib/stat-time.h: Likewise.
101302         * lib/stdio--.h: Likewise.
101303         * lib/stdio-safer.h: Likewise.
101304         * lib/stdlib--.h: Likewise.
101305         * lib/stdlib-safer.h: Likewise.
101306         * lib/stdlib.in.h: Likewise.
101307         * lib/stpcpy.c: Likewise.
101308         * lib/stpncpy.c: Likewise.
101309         * lib/strchrnul.c: Likewise.
101310         * lib/strcspn.c: Likewise.
101311         * lib/strerror.c: Likewise.
101312         * lib/strftime.c: Likewise.
101313         * lib/strftime.h: Likewise.
101314         * lib/striconveh.c: Likewise.
101315         * lib/striconveh.h: Likewise.
101316         * lib/striconveha.c: Likewise.
101317         * lib/striconveha.h: Likewise.
101318         * lib/stripslash.c: Likewise.
101319         * lib/strnlen1.c: Likewise.
101320         * lib/strnlen1.h: Likewise.
101321         * lib/strtod.c: Likewise.
101322         * lib/strtoimax.c: Likewise.
101323         * lib/strtok_r.c: Likewise.
101324         * lib/strtol.c: Likewise.
101325         * lib/strtoll.c: Likewise.
101326         * lib/strtoul.c: Likewise.
101327         * lib/strtoull.c: Likewise.
101328         * lib/sysexits.in.h: Likewise.
101329         * lib/tempname.c: Likewise.
101330         * lib/tempname.h: Likewise.
101331         * lib/timespec.h: Likewise.
101332         * lib/tls.c: Likewise.
101333         * lib/tls.h: Likewise.
101334         * lib/tmpdir.c: Likewise.
101335         * lib/tmpdir.h: Likewise.
101336         * lib/tmpfile-safer.c: Likewise.
101337         * lib/tmpfile.c: Likewise.
101338         * lib/trigl.c: Likewise.
101339         * lib/trigl.h: Likewise.
101340         * lib/trim.c: Likewise.
101341         * lib/trim.h: Likewise.
101342         * lib/trunc.c: Likewise.
101343         * lib/truncf.c: Likewise.
101344         * lib/truncl.c: Likewise.
101345         * lib/tsearch.c: Likewise.
101346         * lib/unicodeio.c: Likewise.
101347         * lib/unicodeio.h: Likewise.
101348         * lib/unistd--.h: Likewise.
101349         * lib/unistd-safer.h: Likewise.
101350         * lib/unistdio/ulc-fprintf.c: Likewise.
101351         * lib/unistdio/ulc-vfprintf.c: Likewise.
101352         * lib/unlinkdir.c: Likewise.
101353         * lib/unlinkdir.h: Likewise.
101354         * lib/unlocked-io.h: Likewise.
101355         * lib/unsetenv.c: Likewise.
101356         * lib/userspec.c: Likewise.
101357         * lib/utime.c: Likewise.
101358         * lib/utimecmp.c: Likewise.
101359         * lib/utimecmp.h: Likewise.
101360         * lib/utimens.c: Likewise.
101361         * lib/verify.h: Likewise.
101362         * lib/verror.c: Likewise.
101363         * lib/verror.h: Likewise.
101364         * lib/version-etc-fsf.c: Likewise.
101365         * lib/version-etc.c: Likewise.
101366         * lib/version-etc.h: Likewise.
101367         * lib/vfprintf.c: Likewise.
101368         * lib/vprintf.c: Likewise.
101369         * lib/vsprintf.c: Likewise.
101370         * lib/w32spawn.h: Likewise.
101371         * lib/wait-process.c: Likewise.
101372         * lib/wait-process.h: Likewise.
101373         * lib/wcwidth.c: Likewise.
101374         * lib/write-any-file.c: Likewise.
101375         * lib/xalloc-die.c: Likewise.
101376         * lib/xalloc.h: Likewise.
101377         * lib/xasprintf.c: Likewise.
101378         * lib/xgetcwd.c: Likewise.
101379         * lib/xgetcwd.h: Likewise.
101380         * lib/xgetdomainname.c: Likewise.
101381         * lib/xgetdomainname.h: Likewise.
101382         * lib/xgethostname.c: Likewise.
101383         * lib/xmalloc.c: Likewise.
101384         * lib/xmalloca.c: Likewise.
101385         * lib/xmalloca.h: Likewise.
101386         * lib/xmemcoll.c: Likewise.
101387         * lib/xnanosleep.c: Likewise.
101388         * lib/xreadlink.c: Likewise.
101389         * lib/xreadlink.h: Likewise.
101390         * lib/xsetenv.c: Likewise.
101391         * lib/xsetenv.h: Likewise.
101392         * lib/xstriconv.c: Likewise.
101393         * lib/xstriconv.h: Likewise.
101394         * lib/xstrndup.c: Likewise.
101395         * lib/xstrndup.h: Likewise.
101396         * lib/xstrtod.c: Likewise.
101397         * lib/xstrtod.h: Likewise.
101398         * lib/xstrtol-error.c: Likewise.
101399         * lib/xstrtol.c: Likewise.
101400         * lib/xstrtol.h: Likewise.
101401         * lib/xtime.h: Likewise.
101402         * lib/xvasprintf.c: Likewise.
101403         * lib/xvasprintf.h: Likewise.
101404         * lib/yesno.c: Likewise.
101405         * lib/yesno.h: Likewise.
101406         * posix-modules: Likewise.
101407         * tests/test-alloca-opt.c: Likewise.
101408         * tests/test-arcfour.c: Likewise.
101409         * tests/test-arctwo.c: Likewise.
101410         * tests/test-argmatch.c: Likewise.
101411         * tests/test-argp-2.sh: Likewise.
101412         * tests/test-argp.c: Likewise.
101413         * tests/test-arpa_inet.c: Likewise.
101414         * tests/test-array_list.c: Likewise.
101415         * tests/test-array_oset.c: Likewise.
101416         * tests/test-atexit.c: Likewise.
101417         * tests/test-avltree_list.c: Likewise.
101418         * tests/test-avltree_oset.c: Likewise.
101419         * tests/test-avltreehash_list.c: Likewise.
101420         * tests/test-base64.c: Likewise.
101421         * tests/test-binary-io.c: Likewise.
101422         * tests/test-byteswap.c: Likewise.
101423         * tests/test-c-ctype.c: Likewise.
101424         * tests/test-c-strcasecmp.c: Likewise.
101425         * tests/test-c-strcasestr.c: Likewise.
101426         * tests/test-c-strncasecmp.c: Likewise.
101427         * tests/test-c-strstr.c: Likewise.
101428         * tests/test-canonicalize-lgpl.c: Likewise.
101429         * tests/test-canonicalize.c: Likewise.
101430         * tests/test-carray_list.c: Likewise.
101431         * tests/test-ceilf.c: Likewise.
101432         * tests/test-ceill.c: Likewise.
101433         * tests/test-count-one-bits.c: Likewise.
101434         * tests/test-crc.c: Likewise.
101435         * tests/test-dirname.c: Likewise.
101436         * tests/test-fbufmode.c: Likewise.
101437         * tests/test-fcntl.c: Likewise.
101438         * tests/test-fflush.c: Likewise.
101439         * tests/test-floorf.c: Likewise.
101440         * tests/test-floorl.c: Likewise.
101441         * tests/test-fopen.c: Likewise.
101442         * tests/test-fprintf-posix.c: Likewise.
101443         * tests/test-fprintf-posix.h: Likewise.
101444         * tests/test-fpurge.c: Likewise.
101445         * tests/test-freadable.c: Likewise.
101446         * tests/test-freadahead.c: Likewise.
101447         * tests/test-freading.c: Likewise.
101448         * tests/test-freopen.c: Likewise.
101449         * tests/test-frexp.c: Likewise.
101450         * tests/test-frexpl.c: Likewise.
101451         * tests/test-fseek.c: Likewise.
101452         * tests/test-fseeko.c: Likewise.
101453         * tests/test-fseterr.c: Likewise.
101454         * tests/test-fstrcmp.c: Likewise.
101455         * tests/test-ftell.c: Likewise.
101456         * tests/test-ftello.c: Likewise.
101457         * tests/test-fwritable.c: Likewise.
101458         * tests/test-fwriting.c: Likewise.
101459         * tests/test-getaddrinfo.c: Likewise.
101460         * tests/test-getpass.c: Likewise.
101461         * tests/test-gettimeofday.c: Likewise.
101462         * tests/test-hmac-md5.c: Likewise.
101463         * tests/test-hmac-sha1.c: Likewise.
101464         * tests/test-iconv.c: Likewise.
101465         * tests/test-iconvme.c: Likewise.
101466         * tests/test-inttypes.c: Likewise.
101467         * tests/test-isnan.c: Likewise.
101468         * tests/test-isnanf.c: Likewise.
101469         * tests/test-isnanl-nolibm.c: Likewise.
101470         * tests/test-isnanl.c: Likewise.
101471         * tests/test-isnanl.h: Likewise.
101472         * tests/test-ldexpl.c: Likewise.
101473         * tests/test-linked_list.c: Likewise.
101474         * tests/test-linkedhash_list.c: Likewise.
101475         * tests/test-locale.c: Likewise.
101476         * tests/test-localename.c: Likewise.
101477         * tests/test-lock.c: Likewise.
101478         * tests/test-lseek.c: Likewise.
101479         * tests/test-malloca.c: Likewise.
101480         * tests/test-math.c: Likewise.
101481         * tests/test-mbscasecmp.c: Likewise.
101482         * tests/test-mbscasestr1.c: Likewise.
101483         * tests/test-mbscasestr2.c: Likewise.
101484         * tests/test-mbscasestr3.c: Likewise.
101485         * tests/test-mbscasestr4.c: Likewise.
101486         * tests/test-mbschr.c: Likewise.
101487         * tests/test-mbscspn.c: Likewise.
101488         * tests/test-mbsncasecmp.c: Likewise.
101489         * tests/test-mbspbrk.c: Likewise.
101490         * tests/test-mbspcasecmp.c: Likewise.
101491         * tests/test-mbsrchr.c: Likewise.
101492         * tests/test-mbsspn.c: Likewise.
101493         * tests/test-mbsstr1.c: Likewise.
101494         * tests/test-mbsstr2.c: Likewise.
101495         * tests/test-mbsstr3.c: Likewise.
101496         * tests/test-md5.c: Likewise.
101497         * tests/test-memmem.c: Likewise.
101498         * tests/test-netinet_in.c: Likewise.
101499         * tests/test-open.c: Likewise.
101500         * tests/test-printf-frexp.c: Likewise.
101501         * tests/test-printf-frexpl.c: Likewise.
101502         * tests/test-printf-posix.c: Likewise.
101503         * tests/test-printf-posix.h: Likewise.
101504         * tests/test-rbtree_list.c: Likewise.
101505         * tests/test-rbtree_oset.c: Likewise.
101506         * tests/test-rbtreehash_list.c: Likewise.
101507         * tests/test-read-file.c: Likewise.
101508         * tests/test-rijndael.c: Likewise.
101509         * tests/test-search.c: Likewise.
101510         * tests/test-signbit.c: Likewise.
101511         * tests/test-sleep.c: Likewise.
101512         * tests/test-snprintf-posix.c: Likewise.
101513         * tests/test-snprintf-posix.h: Likewise.
101514         * tests/test-snprintf.c: Likewise.
101515         * tests/test-sprintf-posix.c: Likewise.
101516         * tests/test-sprintf-posix.h: Likewise.
101517         * tests/test-stat-time.c: Likewise.
101518         * tests/test-stdbool.c: Likewise.
101519         * tests/test-stdint.c: Likewise.
101520         * tests/test-stdio.c: Likewise.
101521         * tests/test-stdlib.c: Likewise.
101522         * tests/test-stpncpy.c: Likewise.
101523         * tests/test-strcasestr.c: Likewise.
101524         * tests/test-striconv.c: Likewise.
101525         * tests/test-striconveh.c: Likewise.
101526         * tests/test-striconveha.c: Likewise.
101527         * tests/test-string.c: Likewise.
101528         * tests/test-sys_select.c: Likewise.
101529         * tests/test-sys_socket.c: Likewise.
101530         * tests/test-sys_stat.c: Likewise.
101531         * tests/test-sys_time.c: Likewise.
101532         * tests/test-sysexits.c: Likewise.
101533         * tests/test-time.c: Likewise.
101534         * tests/test-tls.c: Likewise.
101535         * tests/test-trunc.c: Likewise.
101536         * tests/test-truncf.c: Likewise.
101537         * tests/test-truncl.c: Likewise.
101538         * tests/test-unistd.c: Likewise.
101539         * tests/test-vasnprintf-posix.c: Likewise.
101540         * tests/test-vasnprintf-posix2.c: Likewise.
101541         * tests/test-vasnprintf.c: Likewise.
101542         * tests/test-vasprintf-posix.c: Likewise.
101543         * tests/test-vasprintf.c: Likewise.
101544         * tests/test-verify.c: Likewise.
101545         * tests/test-vfprintf-posix.c: Likewise.
101546         * tests/test-vprintf-posix.c: Likewise.
101547         * tests/test-vsnprintf-posix.c: Likewise.
101548         * tests/test-vsnprintf.c: Likewise.
101549         * tests/test-vsprintf-posix.c: Likewise.
101550         * tests/test-wchar.c: Likewise.
101551         * tests/test-wctype.c: Likewise.
101552         * tests/test-wcwidth.c: Likewise.
101553         * tests/test-xstrtol.c: Likewise.
101554         * tests/test-xvasprintf.c: Likewise.
101555         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
101556         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
101557         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
101558         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
101559         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
101560         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
101561         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
101562         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
101563         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
101564         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
101565         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
101566         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
101567         * tests/uniname/test-uninames.c: Likewise.
101568         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
101569         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
101570         * tests/unistdio/test-u16-printf1.h: Likewise.
101571         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
101572         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
101573         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
101574         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
101575         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
101576         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
101577         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
101578         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
101579         * tests/unistdio/test-u32-printf1.h: Likewise.
101580         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
101581         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
101582         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
101583         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
101584         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
101585         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
101586         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
101587         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
101588         * tests/unistdio/test-u8-printf1.h: Likewise.
101589         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
101590         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
101591         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
101592         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
101593         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
101594         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
101595         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
101596         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
101597         * tests/unistdio/test-ulc-printf1.h: Likewise.
101598         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
101599         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
101600         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
101601         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
101602         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
101603         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
101604         * tests/uniwidth/test-u16-strwidth.c: Likewise.
101605         * tests/uniwidth/test-u16-width.c: Likewise.
101606         * tests/uniwidth/test-u32-strwidth.c: Likewise.
101607         * tests/uniwidth/test-u32-width.c: Likewise.
101608         * tests/uniwidth/test-u8-strwidth.c: Likewise.
101609         * tests/uniwidth/test-u8-width.c: Likewise.
101610         * tests/uniwidth/test-uc_width.c: Likewise.
101611         * config/srclist-update: Likewise.
101612         (fixlicense): Update to GPLv3+.
101614         Change copyright notice from LGPLv2.1+ to LGPLv3+.
101615         * tests/test-tsearch.c: Change copyright notice.
101617         Change copyright notice from LGPLv2.0+ to LGPLv3+.
101618         * lib/c-strcaseeq.h: Change copyright notice.
101619         * lib/streq.h: Likewise.
101620         * lib/uniconv.h: Likewise.
101621         * lib/uniconv/u-conv-from-enc.h: Likewise.
101622         * lib/uniconv/u-conv-to-enc.h: Likewise.
101623         * lib/uniconv/u-strconv-from-enc.h: Likewise.
101624         * lib/uniconv/u-strconv-to-enc.h: Likewise.
101625         * lib/uniconv/u16-conv-from-enc.c: Likewise.
101626         * lib/uniconv/u16-conv-to-enc.c: Likewise.
101627         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
101628         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
101629         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
101630         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
101631         * lib/uniconv/u32-conv-from-enc.c: Likewise.
101632         * lib/uniconv/u32-conv-to-enc.c: Likewise.
101633         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
101634         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
101635         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
101636         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
101637         * lib/uniconv/u8-conv-from-enc.c: Likewise.
101638         * lib/uniconv/u8-conv-to-enc.c: Likewise.
101639         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
101640         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
101641         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
101642         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
101643         * lib/uniname.h: Likewise.
101644         * lib/uniname/uniname.c: Likewise.
101645         * lib/unistdio.h: Likewise.
101646         * lib/unistdio/u-asnprintf.h: Likewise.
101647         * lib/unistdio/u-asprintf.h: Likewise.
101648         * lib/unistdio/u-printf-args.c: Likewise.
101649         * lib/unistdio/u-printf-args.h: Likewise.
101650         * lib/unistdio/u-printf-parse.h: Likewise.
101651         * lib/unistdio/u-snprintf.h: Likewise.
101652         * lib/unistdio/u-sprintf.h: Likewise.
101653         * lib/unistdio/u-vasprintf.h: Likewise.
101654         * lib/unistdio/u-vsnprintf.h: Likewise.
101655         * lib/unistdio/u-vsprintf.h: Likewise.
101656         * lib/unistdio/u16-asnprintf.c: Likewise.
101657         * lib/unistdio/u16-asprintf.c: Likewise.
101658         * lib/unistdio/u16-printf-parse.c: Likewise.
101659         * lib/unistdio/u16-snprintf.c: Likewise.
101660         * lib/unistdio/u16-sprintf.c: Likewise.
101661         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
101662         * lib/unistdio/u16-u16-asprintf.c: Likewise.
101663         * lib/unistdio/u16-u16-snprintf.c: Likewise.
101664         * lib/unistdio/u16-u16-sprintf.c: Likewise.
101665         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
101666         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
101667         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
101668         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
101669         * lib/unistdio/u16-vasnprintf.c: Likewise.
101670         * lib/unistdio/u16-vasprintf.c: Likewise.
101671         * lib/unistdio/u16-vsnprintf.c: Likewise.
101672         * lib/unistdio/u16-vsprintf.c: Likewise.
101673         * lib/unistdio/u32-asnprintf.c: Likewise.
101674         * lib/unistdio/u32-asprintf.c: Likewise.
101675         * lib/unistdio/u32-printf-parse.c: Likewise.
101676         * lib/unistdio/u32-snprintf.c: Likewise.
101677         * lib/unistdio/u32-sprintf.c: Likewise.
101678         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
101679         * lib/unistdio/u32-u32-asprintf.c: Likewise.
101680         * lib/unistdio/u32-u32-snprintf.c: Likewise.
101681         * lib/unistdio/u32-u32-sprintf.c: Likewise.
101682         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
101683         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
101684         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
101685         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
101686         * lib/unistdio/u32-vasnprintf.c: Likewise.
101687         * lib/unistdio/u32-vasprintf.c: Likewise.
101688         * lib/unistdio/u32-vsnprintf.c: Likewise.
101689         * lib/unistdio/u32-vsprintf.c: Likewise.
101690         * lib/unistdio/u8-asnprintf.c: Likewise.
101691         * lib/unistdio/u8-asprintf.c: Likewise.
101692         * lib/unistdio/u8-printf-parse.c: Likewise.
101693         * lib/unistdio/u8-snprintf.c: Likewise.
101694         * lib/unistdio/u8-sprintf.c: Likewise.
101695         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
101696         * lib/unistdio/u8-u8-asprintf.c: Likewise.
101697         * lib/unistdio/u8-u8-snprintf.c: Likewise.
101698         * lib/unistdio/u8-u8-sprintf.c: Likewise.
101699         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
101700         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
101701         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
101702         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
101703         * lib/unistdio/u8-vasnprintf.c: Likewise.
101704         * lib/unistdio/u8-vasprintf.c: Likewise.
101705         * lib/unistdio/u8-vsnprintf.c: Likewise.
101706         * lib/unistdio/u8-vsprintf.c: Likewise.
101707         * lib/unistdio/ulc-asnprintf.c: Likewise.
101708         * lib/unistdio/ulc-asprintf.c: Likewise.
101709         * lib/unistdio/ulc-printf-parse.c: Likewise.
101710         * lib/unistdio/ulc-snprintf.c: Likewise.
101711         * lib/unistdio/ulc-sprintf.c: Likewise.
101712         * lib/unistdio/ulc-vasnprintf.c: Likewise.
101713         * lib/unistdio/ulc-vasprintf.c: Likewise.
101714         * lib/unistdio/ulc-vsnprintf.c: Likewise.
101715         * lib/unistdio/ulc-vsprintf.c: Likewise.
101716         * lib/unistr.h: Likewise.
101717         * lib/unistr/u-cpy-alloc.h: Likewise.
101718         * lib/unistr/u-cpy.h: Likewise.
101719         * lib/unistr/u-endswith.h: Likewise.
101720         * lib/unistr/u-move.h: Likewise.
101721         * lib/unistr/u-set.h: Likewise.
101722         * lib/unistr/u-startswith.h: Likewise.
101723         * lib/unistr/u-stpcpy.h: Likewise.
101724         * lib/unistr/u-stpncpy.h: Likewise.
101725         * lib/unistr/u-strcat.h: Likewise.
101726         * lib/unistr/u-strcpy.h: Likewise.
101727         * lib/unistr/u-strcspn.h: Likewise.
101728         * lib/unistr/u-strdup.h: Likewise.
101729         * lib/unistr/u-strlen.h: Likewise.
101730         * lib/unistr/u-strncat.h: Likewise.
101731         * lib/unistr/u-strncpy.h: Likewise.
101732         * lib/unistr/u-strnlen.h: Likewise.
101733         * lib/unistr/u-strpbrk.h: Likewise.
101734         * lib/unistr/u-strspn.h: Likewise.
101735         * lib/unistr/u-strstr.h: Likewise.
101736         * lib/unistr/u-strtok.h: Likewise.
101737         * lib/unistr/u16-check.c: Likewise.
101738         * lib/unistr/u16-chr.c: Likewise.
101739         * lib/unistr/u16-cmp.c: Likewise.
101740         * lib/unistr/u16-cpy-alloc.c: Likewise.
101741         * lib/unistr/u16-cpy.c: Likewise.
101742         * lib/unistr/u16-endswith.c: Likewise.
101743         * lib/unistr/u16-mblen.c: Likewise.
101744         * lib/unistr/u16-mbsnlen.c: Likewise.
101745         * lib/unistr/u16-mbtouc-aux.c: Likewise.
101746         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
101747         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
101748         * lib/unistr/u16-mbtouc.c: Likewise.
101749         * lib/unistr/u16-mbtoucr.c: Likewise.
101750         * lib/unistr/u16-move.c: Likewise.
101751         * lib/unistr/u16-next.c: Likewise.
101752         * lib/unistr/u16-prev.c: Likewise.
101753         * lib/unistr/u16-set.c: Likewise.
101754         * lib/unistr/u16-startswith.c: Likewise.
101755         * lib/unistr/u16-stpcpy.c: Likewise.
101756         * lib/unistr/u16-stpncpy.c: Likewise.
101757         * lib/unistr/u16-strcat.c: Likewise.
101758         * lib/unistr/u16-strchr.c: Likewise.
101759         * lib/unistr/u16-strcmp.c: Likewise.
101760         * lib/unistr/u16-strcpy.c: Likewise.
101761         * lib/unistr/u16-strcspn.c: Likewise.
101762         * lib/unistr/u16-strdup.c: Likewise.
101763         * lib/unistr/u16-strlen.c: Likewise.
101764         * lib/unistr/u16-strmblen.c: Likewise.
101765         * lib/unistr/u16-strmbtouc.c: Likewise.
101766         * lib/unistr/u16-strncat.c: Likewise.
101767         * lib/unistr/u16-strncmp.c: Likewise.
101768         * lib/unistr/u16-strncpy.c: Likewise.
101769         * lib/unistr/u16-strnlen.c: Likewise.
101770         * lib/unistr/u16-strpbrk.c: Likewise.
101771         * lib/unistr/u16-strrchr.c: Likewise.
101772         * lib/unistr/u16-strspn.c: Likewise.
101773         * lib/unistr/u16-strstr.c: Likewise.
101774         * lib/unistr/u16-strtok.c: Likewise.
101775         * lib/unistr/u16-to-u32.c: Likewise.
101776         * lib/unistr/u16-to-u8.c: Likewise.
101777         * lib/unistr/u16-uctomb-aux.c: Likewise.
101778         * lib/unistr/u16-uctomb.c: Likewise.
101779         * lib/unistr/u32-check.c: Likewise.
101780         * lib/unistr/u32-chr.c: Likewise.
101781         * lib/unistr/u32-cmp.c: Likewise.
101782         * lib/unistr/u32-cpy-alloc.c: Likewise.
101783         * lib/unistr/u32-cpy.c: Likewise.
101784         * lib/unistr/u32-endswith.c: Likewise.
101785         * lib/unistr/u32-mblen.c: Likewise.
101786         * lib/unistr/u32-mbsnlen.c: Likewise.
101787         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
101788         * lib/unistr/u32-mbtouc.c: Likewise.
101789         * lib/unistr/u32-mbtoucr.c: Likewise.
101790         * lib/unistr/u32-move.c: Likewise.
101791         * lib/unistr/u32-next.c: Likewise.
101792         * lib/unistr/u32-prev.c: Likewise.
101793         * lib/unistr/u32-set.c: Likewise.
101794         * lib/unistr/u32-startswith.c: Likewise.
101795         * lib/unistr/u32-stpcpy.c: Likewise.
101796         * lib/unistr/u32-stpncpy.c: Likewise.
101797         * lib/unistr/u32-strcat.c: Likewise.
101798         * lib/unistr/u32-strchr.c: Likewise.
101799         * lib/unistr/u32-strcmp.c: Likewise.
101800         * lib/unistr/u32-strcpy.c: Likewise.
101801         * lib/unistr/u32-strcspn.c: Likewise.
101802         * lib/unistr/u32-strdup.c: Likewise.
101803         * lib/unistr/u32-strlen.c: Likewise.
101804         * lib/unistr/u32-strmblen.c: Likewise.
101805         * lib/unistr/u32-strmbtouc.c: Likewise.
101806         * lib/unistr/u32-strncat.c: Likewise.
101807         * lib/unistr/u32-strncmp.c: Likewise.
101808         * lib/unistr/u32-strncpy.c: Likewise.
101809         * lib/unistr/u32-strnlen.c: Likewise.
101810         * lib/unistr/u32-strpbrk.c: Likewise.
101811         * lib/unistr/u32-strrchr.c: Likewise.
101812         * lib/unistr/u32-strspn.c: Likewise.
101813         * lib/unistr/u32-strstr.c: Likewise.
101814         * lib/unistr/u32-strtok.c: Likewise.
101815         * lib/unistr/u32-to-u16.c: Likewise.
101816         * lib/unistr/u32-to-u8.c: Likewise.
101817         * lib/unistr/u32-uctomb.c: Likewise.
101818         * lib/unistr/u8-check.c: Likewise.
101819         * lib/unistr/u8-chr.c: Likewise.
101820         * lib/unistr/u8-cmp.c: Likewise.
101821         * lib/unistr/u8-cpy-alloc.c: Likewise.
101822         * lib/unistr/u8-cpy.c: Likewise.
101823         * lib/unistr/u8-endswith.c: Likewise.
101824         * lib/unistr/u8-mblen.c: Likewise.
101825         * lib/unistr/u8-mbsnlen.c: Likewise.
101826         * lib/unistr/u8-mbtouc-aux.c: Likewise.
101827         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
101828         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
101829         * lib/unistr/u8-mbtouc.c: Likewise.
101830         * lib/unistr/u8-mbtoucr.c: Likewise.
101831         * lib/unistr/u8-move.c: Likewise.
101832         * lib/unistr/u8-next.c: Likewise.
101833         * lib/unistr/u8-prev.c: Likewise.
101834         * lib/unistr/u8-set.c: Likewise.
101835         * lib/unistr/u8-startswith.c: Likewise.
101836         * lib/unistr/u8-stpcpy.c: Likewise.
101837         * lib/unistr/u8-stpncpy.c: Likewise.
101838         * lib/unistr/u8-strcat.c: Likewise.
101839         * lib/unistr/u8-strchr.c: Likewise.
101840         * lib/unistr/u8-strcmp.c: Likewise.
101841         * lib/unistr/u8-strcpy.c: Likewise.
101842         * lib/unistr/u8-strcspn.c: Likewise.
101843         * lib/unistr/u8-strdup.c: Likewise.
101844         * lib/unistr/u8-strlen.c: Likewise.
101845         * lib/unistr/u8-strmblen.c: Likewise.
101846         * lib/unistr/u8-strmbtouc.c: Likewise.
101847         * lib/unistr/u8-strncat.c: Likewise.
101848         * lib/unistr/u8-strncmp.c: Likewise.
101849         * lib/unistr/u8-strncpy.c: Likewise.
101850         * lib/unistr/u8-strnlen.c: Likewise.
101851         * lib/unistr/u8-strpbrk.c: Likewise.
101852         * lib/unistr/u8-strrchr.c: Likewise.
101853         * lib/unistr/u8-strspn.c: Likewise.
101854         * lib/unistr/u8-strstr.c: Likewise.
101855         * lib/unistr/u8-strtok.c: Likewise.
101856         * lib/unistr/u8-to-u16.c: Likewise.
101857         * lib/unistr/u8-to-u32.c: Likewise.
101858         * lib/unistr/u8-uctomb-aux.c: Likewise.
101859         * lib/unistr/u8-uctomb.c: Likewise.
101860         * lib/unitypes.h: Likewise.
101861         * lib/uniwidth.h: Likewise.
101862         * lib/uniwidth/cjk.h: Likewise.
101863         * lib/uniwidth/u16-strwidth.c: Likewise.
101864         * lib/uniwidth/u16-width.c: Likewise.
101865         * lib/uniwidth/u32-strwidth.c: Likewise.
101866         * lib/uniwidth/u32-width.c: Likewise.
101867         * lib/uniwidth/u8-strwidth.c: Likewise.
101868         * lib/uniwidth/u8-width.c: Likewise.
101869         * lib/uniwidth/width.c: Likewise.
101871 2007-10-07  Bruno Haible  <bruno@clisp.org>
101873         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
101874         The file is still under LGPL (see modules/inttypes).
101876 2007-10-06  Bruno Haible  <bruno@clisp.org>
101878         * modules/trunc (Dependencies): Add 'extensions'.
101879         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
101880         Reported by Ben Pfaff <blp@gnu.org>.
101882 2007-10-06  Bruno Haible  <bruno@clisp.org>
101884         * modules/freopen-tests: New file.
101885         * tests/test-freopen.c: New file.
101887         * modules/fopen-tests: New file.
101888         * tests/test-fopen.c: New file.
101890         * modules/fopen: New file.
101891         * lib/fopen.c: New file.
101892         * m4/fopen.m4: New file.
101893         * modules/freopen: New file.
101894         * lib/freopen.c: New file.
101895         * m4/freopen.m4: New file.
101896         * lib/stdio.in.h (fopen, freopen): New declarations.
101897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
101898         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101899         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
101900         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101901         * doc/functions/fopen.texi: Mention the 'fopen' module.
101902         * doc/functions/freopen.texi: Mention the 'freopen' module.
101904 2007-10-06  Bruno Haible  <bruno@clisp.org>
101906         * modules/open-tests: New file.
101907         * tests/test-open.c: New file.
101909         * modules/open: New file.
101910         * lib/open.c: New file.
101911         * m4/open.m4: New file.
101912         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
101913         lib/open.c does.
101914         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
101915         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
101916         macros.
101917         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
101918         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
101919         REPLACE_OPEN.
101920         * doc/functions/open.texi: Mention the 'open' module.
101922 2007-10-04  Bruno Haible  <bruno@clisp.org>
101924         * modules/ceill-tests: New file.
101925         * tests/test-ceill.c: New file.
101927         * modules/ceill: New file.
101928         * lib/ceill.c: Replace entire file.
101929         * m4/ceill.m4: New file.
101930         * lib/math.in.h (ceill): Replace declaration.
101931         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
101932         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
101933         * doc/functions/ceill.texi: Mention the 'ceill' module.
101934         * modules/mathl (Files): Remove lib/ceill.c.
101935         (Depends-on): Add ceill.
101937 2007-10-04  Bruno Haible  <bruno@clisp.org>
101939         * modules/ceilf-tests: New file.
101940         * tests/test-ceilf.c: New file.
101942         * modules/ceilf: New file.
101943         * lib/ceil.c: New file.
101944         * lib/ceilf.c: New file.
101945         * m4/ceilf.m4: New file.
101946         * lib/math.in.h (ceilf): New declaration.
101947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
101948         HAVE_DECL_CEILF.
101949         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
101950         HAVE_DECL_CEILF.
101951         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
101953 2007-10-04  Bruno Haible  <bruno@clisp.org>
101955         * modules/floorl-tests: New file.
101956         * tests/test-floorl.c: New file.
101958         * modules/floorl: New file.
101959         * lib/floorl.c: Replace entire file.
101960         * m4/floorl.m4: New file.
101961         * lib/math.in.h (floorl): Replace declaration.
101962         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
101963         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
101964         * doc/functions/floorl.texi: Mention the 'floorl' module.
101965         * modules/mathl (Files): Remove lib/floorl.c.
101966         (Depends-on): Add floorl.
101968 2007-10-04  Bruno Haible  <bruno@clisp.org>
101970         * modules/floorf-tests: New file.
101971         * tests/test-floorf.c: New file.
101973         * modules/floorf: New file.
101974         * lib/floor.c: New file.
101975         * lib/floorf.c: New file.
101976         * m4/floorf.m4: New file.
101977         * lib/math.in.h (floorf): New declaration.
101978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
101979         HAVE_DECL_FLOORF.
101980         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
101981         HAVE_DECL_FLOORF.
101982         * doc/functions/floorf.texi: Mention the 'floorf' module.
101984 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
101985             Bruno Haible  <bruno@clisp.org>
101987         Advertise for the Git server instead of the CVS server.
101988         * doc/gnulib-intro.texi (Steady Development): Mention the Git
101989         repository instead of the CVS one.
101990         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
101991         about all VCS systems generically.
101992         * doc/gnulib.texi (Introduction): Capitalize `Git'.
101994 2007-10-04  Bruno Haible  <bruno@clisp.org>
101996         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
101997         means.
101998         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
102000 2007-10-04  Bruno Haible  <bruno@clisp.org>
102002         * modules/truncl-tests: New file.
102003         * tests/test-truncl.c: New file.
102005         * modules/truncl: New file.
102006         * lib/truncl.c: New file.
102007         * m4/truncl.m4: New file.
102008         * lib/math.in.h (truncl): New declaration.
102009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
102010         HAVE_DECL_TRUNCL.
102011         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
102012         HAVE_DECL_TRUNCL.
102013         * doc/functions/truncl.texi: Mention the 'truncl' module.
102015 2007-10-04  Bruno Haible  <bruno@clisp.org>
102017         * modules/truncf-tests: New file.
102018         * tests/test-truncf.c: New file.
102020         * modules/truncf: New file.
102021         * lib/trunc.c: Make paramerizable through USE_* macros.
102022         * lib/truncf.c: New file.
102023         * m4/truncf.m4: New file.
102024         * lib/math.in.h (truncf): New declaration.
102025         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
102026         HAVE_DECL_TRUNCF.
102027         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
102028         HAVE_DECL_TRUNCF.
102029         * doc/functions/truncf.texi: Mention the 'truncf' module.
102031 2007-10-03  Bruno Haible  <bruno@clisp.org>
102033         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
102034         augmentation also for tests modules.
102035         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
102036         * modules/atexit-tests (Makefile.am): Likewise.
102037         * modules/binary-io-tests (Makefile.am): Likewise.
102038         * modules/c-strcase-tests (Makefile.am): Likewise.
102039         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
102040         * modules/canonicalize-tests (Makefile.am): Likewise.
102041         * modules/closein-tests (Makefile.am): Likewise.
102042         * modules/fprintf-posix-tests (Makefile.am): Likewise.
102043         * modules/freadahead-tests (Makefile.am): Likewise.
102044         * modules/fseek-tests (Makefile.am): Likewise.
102045         * modules/fseeko-tests (Makefile.am): Likewise.
102046         * modules/ftell-tests (Makefile.am): Likewise.
102047         * modules/ftello-tests (Makefile.am): Likewise.
102048         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
102049         * modules/isnanl-tests (Makefile.am): Likewise.
102050         * modules/lseek-tests (Makefile.am): Likewise.
102051         * modules/mbscasecmp-tests (Makefile.am): Likewise.
102052         * modules/mbscasestr-tests (Makefile.am): Likewise.
102053         * modules/mbschr-tests (Makefile.am): Likewise.
102054         * modules/mbscspn-tests (Makefile.am): Likewise.
102055         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
102056         * modules/mbspbrk-tests (Makefile.am): Likewise.
102057         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
102058         * modules/mbsrchr-tests (Makefile.am): Likewise.
102059         * modules/mbsspn-tests (Makefile.am): Likewise.
102060         * modules/mbsstr-tests (Makefile.am): Likewise.
102061         * modules/printf-posix-tests (Makefile.am): Likewise.
102062         * modules/snprintf-posix-tests (Makefile.am): Likewise.
102063         * modules/sprintf-posix-tests (Makefile.am): Likewise.
102064         * modules/tsearch-tests (Makefile.am): Likewise.
102065         * modules/uniname/uniname-tests (Makefile.am): Likewise.
102066         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
102067         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
102068         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
102069         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
102070         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
102071         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
102072         * modules/vprintf-posix-tests (Makefile.am): Likewise.
102073         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
102074         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
102075         * modules/xstrtoimax-tests (Makefile.am): Likewise.
102076         * modules/xstrtol-tests (Makefile.am): Likewise.
102077         * modules/xstrtoumax-tests (Makefile.am): Likewise.
102078         * modules/yesno-tests (Makefile.am): Likewise.
102080 2007-10-03  Bruno Haible  <bruno@clisp.org>
102082         * modules/trunc-tests: New file.
102083         * tests/test-trunc.c: New file.
102085         * modules/trunc: New file.
102086         * lib/trunc.c: New file.
102087         * m4/trunc.m4: New file.
102088         * lib/math.in.h (trunc): New declaration.
102089         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
102090         HAVE_DECL_TRUNC.
102091         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
102092         HAVE_DECL_TRUNC.
102093         * doc/functions/trunc.texi: Mention the 'trunc' module.
102095 2007-10-03  Bruno Haible  <bruno@clisp.org>
102097         * tests/test-fpending.c: New file, mostly copied
102098         from coreutils/lib/t-fpending.c.
102099         * modules/fpending-tests: New file.
102101 2007-10-03  Bruno Haible  <bruno@clisp.org>
102103         Port the stdio extensions to QNX (untested).
102104         * lib/fseterr.c (fseterr): Add support for QNX.
102105         * lib/fbufmode.c (fbufmode): Likewise.
102106         * lib/freadable.c (freadable): Likewise.
102107         * lib/fwritable.c (fwritable): Likewise.
102108         * lib/freading.c (freading): Likewise.
102109         * lib/fwriting.c (fwriting): Likewise.
102110         * lib/freadahead.c (freadahed): Likewise.
102111         * lib/fpurge.c (fpurge): Likewise.
102112         * lib/fseeko.c (rpl_fseeko): Likewise.
102114 2007-10-03  Bruno Haible  <bruno@clisp.org>
102115             Jim Meyering  <jim@meyering.net>
102116             Eric Blake  <ebb9@byu.net>
102118         * doc/relocatable.texi: Use @command instead of @program.
102120 2007-10-02  Jim Meyering  <jim@meyering.net>
102122         Perform one more "_.h" -> ".in.h" substitution.
102123         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
102124         instead of unistd_.h here, too.
102126 2007-10-01  Bruno Haible  <bruno@clisp.org>
102128         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
102129         Needed for the alloca-opt module.
102131 2007-09-30  Bruno Haible  <bruno@clisp.org>
102133         * lib/alloca.in.h: Renamed from lib/alloca_.h.
102134         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
102135         alloca_.h.
102136         * lib/argz.in.h: Renamed from lib/argz_.h.
102137         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
102138         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
102139         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
102140         byteswap_.h.
102141         * lib/dirent.in.h: Renamed from lib/dirent_.h.
102142         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
102143         dirent_.h.
102144         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
102145         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
102146         fcntl_.h.
102147         * lib/float.in.h: Renamed from lib/float_.h.
102148         * modules/float (Files, Makefile.am): Use float.in.h instead of
102149         float_.h.
102150         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
102151         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
102152         fnmatch_.h.
102153         * lib/getopt.in.h: Renamed from lib/getopt_.h.
102154         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
102155         getopt_.h.
102156         * lib/glob.in.h: Renamed from lib/glob_.h.
102157         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
102158         * lib/iconv.in.h: Renamed from lib/iconv_.h.
102159         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
102160         iconv_.h.
102161         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
102162         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
102163         inttypes_.h.
102164         * lib/locale.in.h: Renamed from lib/locale_.h.
102165         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
102166         locale_.h.
102167         * lib/math.in.h: Renamed from lib/math_.h.
102168         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
102169         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
102170         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
102171         of netinet_in_.h. Add dependency.
102172         * lib/poll.in.h: Renamed from lib/poll_.h.
102173         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
102174         * lib/search.in.h: Renamed from lib/search_.h.
102175         * modules/search (Files, Makefile.am): Use search.in.h instead of
102176         search_.h.
102177         * lib/signal.in.h: Renamed from lib/signal_.h.
102178         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
102179         _signal.h.
102180         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
102181         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
102182         stdbool_.h.
102183         * lib/stdint.in.h: Renamed from lib/stdint_.h.
102184         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
102185         stdint_.h.
102186         * lib/stdio.in.h: Renamed from lib/stdio_.h.
102187         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
102188         stdio_.h.
102189         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
102190         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
102191         stdlib_.h.
102192         * lib/string.in.h: Renamed from lib/string_.h.
102193         * modules/string (Files, Makefile.am): Use string.in.h instead of
102194         string_.h.
102195         * doc/gnulib-tool.texi (Initial import): Update.
102196         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
102197         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
102198         of sys_select_.h. Add dependency.
102199         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
102200         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
102201         of sys_socket_.h.
102202         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
102203         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
102204         sys_stat_.h.
102205         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
102206         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
102207         sys_time_.h.
102208         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
102209         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
102210         sysexits_.h.
102211         * lib/time.in.h: Renamed from lib/time_.h.
102212         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
102213         * lib/unistd.in.h: Renamed from lib/unistd_.h.
102214         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
102215         unistd_.h.
102216         * lib/wchar.in.h: Renamed from lib/wchar_.h.
102217         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
102218         wchar_.h.
102219         * lib/wctype.in.h: Renamed from lib/wctype_.h.
102220         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
102221         wctype_.h.
102222         * build-aux/bootstrap (slurp): Update.
102223         * lib/.cppi-disable: Update.
102225 2007-09-30  Bruno Haible  <bruno@clisp.org>
102227         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
102228         Needed on BeOS.
102230 2007-09-30  Bruno Haible  <bruno@clisp.org>
102232         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
102234 2007-09-29  Bruno Haible  <bruno@clisp.org>
102236         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
102238 2007-09-29  Bruno Haible  <bruno@clisp.org>
102240         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
102241         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
102242         * build-aux/install-reloc: Compile also areadlink.c.
102243         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
102245 2007-09-29  Bruno Haible  <bruno@clisp.org>
102247         * gnulib-tool (func_emit_initmacro_done): Indentation.
102249 2007-09-29  Bruno Haible  <bruno@clisp.org>
102251         * README: Add CVS checkout update instructions.
102252         Info from Bob Proulx <bob@proulx.com>.
102254 2007-09-28  Eric Blake  <ebb9@byu.net>
102256         Provide move-if-change.
102257         * build-aux/move-if-change: New file, based on best practice
102258         rather than any canonical upstream location.
102260 2007-09-28  Jim Meyering  <jim@meyering.net>
102262         Fix canonicalize loop-detection corner case.
102263         Do not attempt to stat the symlink values stored via seen_triple.
102264         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
102265         on linux-2.6.18, (but not 2.6.22).
102266         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
102267         triple_compare.  The former compares dev,ino,filename, while the latter
102268         would actually stat dirname(filename) when dev and ino were equal.
102269         * lib/hash-triple.c: Install <string.h>.
102270         (STREQ): Define.
102271         (triple_compare_ino_str): New function.
102272         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
102274 2007-09-28  Eric Blake  <ebb9@byu.net>
102276         Enforce that AC_REPLACE_FUNCS files exist.
102277         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
102278         override check for typos.
102280         Fix test-closein on Solaris 10.
102281         * tests/test-closein.c (main): Don't assume stdin can be inherited
102282         closed on all systems.
102283         * tests/test-closein.sh: Likewise.
102284         Reported by Piotr Tarnowski.
102286 2007-09-28  Jim Meyering  <jim@meyering.net>
102288         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
102290 2007-09-27  Jim Meyering  <jim@meyering.net>
102292         canonicalize: Avoid a false-positive cycle failure.
102293         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
102294         Sort.  Remove cycle-check.
102295         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
102296         not cycle-check.h.
102297         (seen_triple): New function.
102298         (canonicalize_filename_mode): Use it instead of cycle-check.
102299         * tests/test-canonicalize.c: Add a test for this bug.
102300         * tests/test-canonicalize.sh: Set up and run the test.
102302         New module, file-set, from coreutils.
102303         * modules/file-set: Define it.
102304         * lib/file-set.c, lib/file-set.h: Implement.
102306         New module, hash-triple, from coreutils.
102307         * modules/hash-triple: Define it.
102308         * lib/hash-triple.c, lib/hash-triple.h: Implement.
102310 2007-09-25  Eric Blake  <ebb9@byu.net>
102312         Fix strerror on Interix.
102313         * lib/string_.h (strerror): Declare replacement.
102314         * doc/functions/strerror.texi (strerror): Document the Interix
102315         shortcoming.
102316         * modules/string (Makefile.am): Support new hooks.
102317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
102318         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
102319         gl_FUNC_STRERROR_SEPARATE.
102320         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
102321         * lib/strerror.c (rpl_strerror): Provide replacement.
102322         * modules/strerror (Depends-on): Add string.
102323         (configure.ac): Detect use of module.
102324         * tests/test-strerror.c: New file.
102325         * modules/strerror-tests: New test module.
102326         * modules/argp (Depends-on): Add strerror.
102327         * modules/error (Depends-on): Likewise.
102328         Reported by Martin Koeppe.
102330 2007-09-24  Bruno Haible  <bruno@clisp.org>
102332         * README: Update git instructions.
102334 2007-09-24  Eric Blake  <ebb9@byu.net>
102336         Revert fpending breakage from 2007-09-08.
102337         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
102338         __fpending.c.
102340 2007-09-24  Jim Meyering  <jim@meyering.net>
102342         filenamecat.c: Add a test.
102343         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
102344         showing how the function works when DIR is the empty string.
102346 2007-09-21  Simon Josefsson  <simon@josefsson.org>
102348         * tests/test-canonicalize.sh: Turn on executable bit.
102350 2007-09-19  Eric Blake  <ebb9@byu.net>
102352         * README: Update CVS instructions.
102354 2007-09-18  Bruno Haible  <bruno@clisp.org>
102356         * modules/areadlink: New file.
102357         * lib/areadlink.h (areadlink): New declaration.
102358         * lib/areadlink.c: New file, based on lib/xreadlink.c.
102360 2007-09-17  Jim Meyering  <jim@meyering.net>
102362         * lib/savewd.c (ESTALE) [!defined]: Define.
102363         Reported to be required on Interix by Martin Koeppe.
102365 2007-09-17  Bruno Haible  <bruno@clisp.org>
102367         * gnulib-tool (func_version): Use $version.
102369 2007-09-16  Bruno Haible  <bruno@clisp.org>
102371         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
102372         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
102373         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
102374         Reported by Greg Schafer <gschafer@zip.com.au>.
102376 2007-09-15  Bruno Haible  <bruno@clisp.org>
102378         * gnulib-tool (sed): Try a little harder to make bash understand the
102379         alias.
102380         Reported by Bruce Korb <bruce.korb@gmail.com>.
102382 2007-09-13  Eric Blake  <ebb9@byu.net>
102384         * ChangeLog: Remove conflict markers.
102386 2007-09-13  Simon Josefsson  <simon@josefsson.org>
102388         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
102389         Reported by Bruno Haible <bruno@clisp.org>.
102391 2007-09-12  Bruno Haible  <bruno@clisp.org>
102393         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
102394         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
102395         is not defined.
102397 2007-09-12  Eric Blake  <ebb9@byu.net>
102399         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
102400         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
102401         Autoconf definition.
102402         * modules/euidaccess (Depends-on): Add extensions, for
102403         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
102404         * modules/fnmatch (Depends-on): Likewise.
102405         * modules/getaddrinfo (Depends-on): Likewise.
102406         * modules/getdelim (Depends-on): Likewise.
102407         * modules/getline (Depends-on): Likewise.
102408         * modules/getsubopt (Depends-on): Likewise.
102409         * modules/gettext (Depends-on): Likewise.
102410         * modules/group-member (Depends-on): Likewise.
102411         * modules/mbchar (Depends-on): Likewise.
102412         * modules/memmem (Depends-on): Likewise.
102413         * modules/mempcpy (Depends-on): Likewise.
102414         * modules/memrchr (Depends-on): Likewise.
102415         * modules/pagealign_alloc (Depends-on): Likewise.
102416         * modules/readutmp (Depends-on): Likewise.
102417         * modules/stpcpy (Depends-on): Likewise.
102418         * modules/stpncpy (Depends-on): Likewise.
102419         * modules/strchrnul (Depends-on): Likewise.
102420         * modules/strndup (Depends-on): Likewise.
102421         * modules/strsep (Depends-on): Likewise.
102422         * modules/strverscmp (Depends-on): Likewise.
102423         * modules/vasprintf (Depends-on): Likewise.
102424         * modules/wcwidth (Depends-on): Likewise.
102425         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
102426         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
102427         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
102428         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
102429         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
102430         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102431         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
102432         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
102433         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
102434         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
102435         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
102436         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102437         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102438         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
102439         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
102440         * m4/readutmp.m4 (gl_READUTMP): Likewise.
102441         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102442         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102443         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102444         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102445         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102446         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102447         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102448         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
102449         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
102450         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
102451         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
102452         so that lock.m4 can be used in gettext without extensions module.
102454 2007-09-11  Bruno Haible  <bruno@clisp.org>
102456         * m4/isc-posix.m4: Remove file.
102457         Suggested by Eric Blake.
102459 2007-09-11  Eric Blake  <ebb9@byu.net>
102461         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
102463 2007-09-10  Bruno Haible  <bruno@clisp.org>
102465         * posix-modules: Fix typo in error message.
102466         Reported by Matt <mkraai@beckman.com>.
102468 2007-09-09  Bruno Haible  <bruno@clisp.org>
102470         * doc/functions/getdelim.texi: Update list of platforms lacking the
102471         function.
102472         * doc/functions/getline.texi: Likewise.
102474 2007-09-09  Jim Meyering  <jim@meyering.net>
102476         * lib/hash.c (hash_initialize): Detect calloc failure.
102477         Reported by Bruno Haible.
102479 2007-09-09  Bruno Haible  <bruno@clisp.org>
102481         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
102482         malloc or realloc fails.
102484 2007-09-09  Bruno Haible  <bruno@clisp.org>
102486         * modules/getcwd (Depends-on): Add malloc-posix.
102487         * modules/glob (Depends-on): Likewise.
102488         * modules/putenv (Depends-on): Likewise.
102489         * modules/strdup (Depends-on): Likewise.
102490         * modules/getdelim (Depends-on): Add realloc-posix.
102491         * modules/read-file (Depends-on): Likewise.
102493 2007-09-09  Bruno Haible  <bruno@clisp.org>
102495         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
102496         (gl_FUNC_MALLOC_POSIX): Require it.
102497         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
102498         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
102499         * modules/realloc (Files): Add m4/malloc.m4.
102500         * modules/calloc (Files): Likewise.
102502 2007-09-09  Bruno Haible  <bruno@clisp.org>
102504         * modules/malloc-posix: New file.
102505         * modules/malloc (Depends-on): Add malloc-posix.
102506         * lib/malloc.c: Include errno.h.
102507         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
102508         and a POSIX-compatible malloc into a single function. Set ENOMEM
102509         when returning NULL.
102510         * m4/malloc.m4: New file.
102511         * doc/functions/malloc.texi: Mention the malloc-posix module.
102512         * lib/stdlib_.h (malloc): New declaration.
102513         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102514         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
102515         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
102516         and HAVE_MALLOC_POSIX.
102518 2007-09-09  Bruno Haible  <bruno@clisp.org>
102520         * modules/realloc-posix: New file.
102521         * modules/realloc (Depends-on): Add realloc-posix.
102522         * lib/realloc.c: Include errno.h.
102523         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
102524         and a POSIX-compatible realloc into a single function. Set ENOMEM
102525         when returning NULL.
102526         * m4/realloc.m4: New file.
102527         * doc/functions/realloc.texi: Mention the realloc-posix module.
102528         * lib/stdlib_.h (realloc): New declaration.
102529         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102530         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
102531         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
102532         and HAVE_REALLOC_POSIX.
102534 2007-09-09  Bruno Haible  <bruno@clisp.org>
102536         * modules/calloc-posix: New file.
102537         * modules/calloc (Depends-on): Add calloc-posix.
102538         * lib/calloc.c: Include errno.h.
102539         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
102540         and a POSIX-compatible calloc into a single function. Set ENOMEM
102541         when returning NULL.
102542         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
102543         * doc/functions/calloc.texi: Mention the calloc-posix module.
102544         * lib/stdlib_.h (calloc): New declaration.
102545         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102546         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
102547         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
102548         and HAVE_CALLOC_POSIX.
102550 2007-09-09  Bruno Haible  <bruno@clisp.org>
102552         Allow for modules to show an arbitrary notice.
102553         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
102554         * gnulib-tool: New option --extract-notice.
102555         (func_usage): Document it.
102556         (sed_extract_prog): Update.
102557         (func_get_notice): New function.
102558         (func_modules_notice): New function.
102559         (func_import, func_create_testdir): Invoke it.
102560         Suggested by Jim Meyering.
102562 2007-09-09  Bruno Haible  <bruno@clisp.org>
102564         * gnulib-tool: New options --verbose, --quiet.
102565         (func_usage): Document them.
102566         (verbose): New variable.
102567         (func_execute_command): New function.
102568         (func_import): Don't show the module list and the file list if
102569         $verbose < 0.
102570         (func_create_testdir): Likewise. Use func_execute_command.
102571         (func_create_megatestdir): Use func_execute_command.
102573 2007-09-08  Bruno Haible  <bruno@clisp.org>
102575         * gnulib-tool (func_import): Prefer rsync over wget when available,
102576         for fetching the PO files.
102578 2007-09-08  Bruno Haible  <bruno@clisp.org>
102580         * posix-modules: New file. Portions copied from gnulib-tool.
102581         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
102583 2007-09-08  Jim Meyering  <jim@meyering.net>
102585         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
102586         * lib/fpending.h: Rename from __fpending.h.
102587         * lib/fpending.c: Rename from __fpending.c.
102588         Include "fpending.h", not "__fpending.h".
102589         * lib/__fpending.h, lib/__fpending.c: Remove files.
102590         * modules/fpending (Files): Reflect new file names.
102591         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
102593 2007-09-08  Bruno Haible  <bruno@clisp.org>
102595         * m4/inttypes-h.m4: Remove stub file.
102597 2007-09-07  Simon Josefsson  <simon@josefsson.org>
102599         * doc/headers/stdint.texi: Discuss #include_next issue.
102601 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102603         * build-aux/bootstrap: Remove obsolete comment about wget --help.
102605 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102607         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
102608         in variable name.
102610 2007-09-03  Jim Meyering  <jim@meyering.net>
102612         New module: git-version-gen.
102613         * modules/git-version-gen: New file.
102615         Import changes from coreutils for bootstrap script.
102617         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
102619         bootstrap: uses rsync to download the .po files
102620         * build-aux/bootstrap (po_download_command_format): New global.
102621         (download_po_files): Use rsync.
102622         (update_po_files): Don't remove .po files after download,
102623         so future rsync runs can take advantage of the copies.
102625         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
102627         Solve the unnecessary-.po-file-regeneration problem once and for all.
102628         * build-aux/bootstrap (download_po_files): New function, renamed from
102629         get_translations.  Now, downloads, but doesn't update LINGUAS.
102630         (update_po_files): New function.
102632         bootstrap: Ignore more.
102633         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
102634         uniwidth to e.g., lib/.gitignore.
102635         (slurp): Handle the sys_stat_.h -> sys mapping, too.
102637         * build-aux/bootstrap: New setting: vc_ignore.
102638         (insert_sorted_if_absent): Create $file if absent.
102639         Adapt to new, possibly empty, list: $vc_ignore.
102641         bootstrap: generate more ignorable names
102642         * build-aux/bootstrap (slurp): When generating ignorable names,
102643         also map .sin to .sed, .gperf to .c, and .y to .c.
102645 2007-09-03  Jim Meyering  <jim@meyering.net>
102647         * build-aux/git-version-gen: New file, from coreutils.  For details, see
102648         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
102650 2007-09-02  Bruno Haible  <bruno@clisp.org>
102652         Fix mis-recognition of 'mcs' on QNX 6.
102653         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
102654         output contains the string "Mono".
102655         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
102656         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
102658 2007-09-01  Bruno Haible  <bruno@clisp.org>
102660         Fix collision between uniwidth/* and linebreak modules.
102661         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
102662         u32_width): Remove declarations.
102663         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
102664         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
102665         streq3, streq2, streq1, streq0): Remove functions.
102666         (STREQ): Remove macro.
102667         (is_cjk_encoding): Remove function.
102668         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
102669         (uc_width, u8_width, u16_width, u32_width): Remove functions.
102670         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
102671         * NEWS: Document the change.
102673 2007-09-01  Bruno Haible  <bruno@clisp.org>
102675         * lib/streq.h: Add double-inclusion guard.
102677 2007-09-01  Karl Berry  <karl@gnu.org>
102679         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
102681 2007-08-28  Jim Meyering  <jim@meyering.net>
102683         Rename mreadlink_with_size to areadlink_with_size.
102684         * NEWS: Document the change.
102685         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
102686         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
102687         * lib/mreadlink.h: Rename this to...
102688         * lib/areadlink.h: ...this.
102689         * modules/mreadlink-with-size: Rename this to...
102690         * modules/areadlink-with-size: ...this.
102691         * lib/canonicalize.c: Reflect the renaming.
102692         * modules/canonicalize: Likewise.
102694 2007-08-26  Bruno Haible  <bruno@clisp.org>
102696         * gnulib-tool (func_import): When deciding which files to remove,
102697         consider also dangling symbolic links.
102698         Reported by Eric Blake.
102700 2007-08-26  Bruno Haible  <bruno@clisp.org>
102702         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
102704 2007-08-23  Simon Josefsson  <simon@josefsson.org>
102706         * lib/readline.c: Don't include getline.h, the prototype is now
102707         found in stdio.h.
102709 2007-08-23  Jim Meyering  <jim@meyering.net>
102711         Getdelim touchup.
102712         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
102713         around the funlockfile call, since funlockfile never sets errno.
102714         Don't set errno upon failed realloc.
102716 2007-08-22  Eric Blake  <ebb9@byu.net>
102718         Getline touchups.
102719         * lib/getdelim.c (getdelim): Revert regression that required *n to
102720         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
102721         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
102722         getdelim, rather than whether implementation is missing.
102723         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
102724         * lib/stdio_.h (getline): Also declare if replacement is
102725         required.
102726         * doc/functions/getdelim.texi: New file.
102727         * doc/functions/getline.texi: Likewise.
102728         * doc/gnulib.texi (Function Substitutes): Add new files.
102729         Reported by Bruno Haible.
102731 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
102733         * users.txt: Add Guile.
102735 2007-08-22  Eric Blake  <ebb9@byu.net>
102737         * tests/test-getdelim.c (main): Use remove, not unlink.
102738         * tests/test-getline.c (main): Likewise.
102740         Move getline and getdelim into stdio.h, per POSIX 200x.
102741         * modules/getline (Files): Remove getline.h.
102742         (Depends-on): Add stdio.
102743         (configure.ac): Add module indicator.
102744         * modules/getdelim (Files): Remove getdelim.h.
102745         (Depends-on): Add stdio.
102746         (configure.ac): Add module indicator.
102747         * modules/stdio (Makefile.am): Work with new indicators.
102748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
102749         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
102750         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102751         * lib/getdelim.h: Delete.
102752         * lib/getline.h: Delete.
102753         * lib/stdio_.h (getdelim, getline): Declare.
102754         * modules/getdelim-tests: New module.
102755         * modules/getline-tests: Likewise.
102756         * tests/test-getdelim.c: New file.
102757         * tests/test-getline.c: Likewise.
102758         * NEWS: Document the change.
102759         * lib/getline.c: Update choice of header.
102760         * lib/csharpcomp.c: Likewise.
102761         * lib/getpass.c: Likewise.
102762         * lib/javacomp.c: Likewise.
102763         * lib/javaversion.c: Likewise.
102764         * lib/yesno.c: Likewise.
102765         * lib/getdelim.c: Likewise.
102766         (getdelim): Set errno on failure, and avoid memory leak.
102768 2007-08-19  Bruno Haible  <bruno@clisp.org>
102770         * modules/closein (Depends-on): Add freadahead.
102771         * lib/closein.c: Include freadahead.h.
102772         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
102773         is zero.
102775 2007-08-19  Bruno Haible  <bruno@clisp.org>
102777         * modules/freadahead-tests: New file.
102778         * tests/test-freadahead.sh: New file.
102779         * tests/test-freadahead.c: New file.
102781         * modules/freadahead: New file.
102782         * lib/freadahead.h: New file.
102783         * lib/freadahead.c: New file.
102784         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
102785         fbufmode, fpurge, freadable, fwritable.
102787 2007-08-19  Eric Blake  <ebb9@byu.net>
102789         Test yesno in combination with closein.
102790         * lib/yesno.c (yesno): Document use of stdin.
102791         * modules/yesno-tests (Files): New module.
102792         * tests/test-yesno.c (main): New file.
102793         * tests/test-yesno.sh: Likewise.
102795 2007-08-19  Bruno Haible  <bruno@clisp.org>
102797         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
102798         * lib/fseeko.c (rpl_fseeko): Likewise.
102799         * lib/fseterr.c (fseterr): Likewise.
102801 2007-08-19  Bruno Haible  <bruno@clisp.org>
102803         * tests/test-lseek.c (main): Disable a test for BeOS.
102804         * doc/functions/lseek.texi: Document the BeOS bug.
102806 2007-08-19  Bruno Haible  <bruno@clisp.org>
102807             Eric Blake  <ebb9@byu.net>
102809         * lib/lseek.c: Include <sys/stat.h>.
102810         (rpl_lseek): Add workaround code also for Unix platforms.
102811         Needed for BeOS.
102812         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
102813         * doc/functions/lseek.texi: Document BeOS definiency.
102815 2007-08-18  Bruno Haible  <bruno@clisp.org>
102817         * modules/fstrcmp-tests: New file.
102818         * tests/test-fstrcmp.c: New file.
102820 2007-08-18  Bruno Haible  <bruno@clisp.org>
102822         * modules/fstrcmp: New file, from GNU gettext with modifications.
102823         * lib/fstrcmp.h: New file, from GNU gettext.
102824         * lib/fstrcmp.c: New file, from GNU gettext.
102825         * MODULES.html.sh (String handling): Add fstrcmp.
102827 2007-08-18  Bruno Haible  <bruno@clisp.org>
102829         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
102830         'bool'.
102831         (diag, compareseq): Remove const from the ctxt argument.
102832         (USE_HEURISTIC): Undefine at the end.
102834 2007-08-18  Jim Meyering  <jim@meyering.net>
102836         New file: lib/idcache.h
102837         * NEWS: Mention the addition.
102838         * modules/idcache (Files): Add lib/idcache.h
102839         * lib/idcache.c: Include "idcache.h".
102840         Don't include <sys/types.h>.
102841         Add a FIXME comment.
102842         Move file-scoped "static" declarations to the top.
102843         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
102845 2007-08-17  Bruno Haible  <bruno@clisp.org>
102846         and Paul Eggert  <eggert@cs.ucla.edu>
102848         * MODULES.html.sh: Add diffseq.
102849         * modules/diffseq: New file.
102850         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
102851         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
102853 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
102855         Import changes from coreutils for bootstrap script.
102857         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
102859         * build-aux/bootstrap (slurp): Work even in environments where
102860         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
102861         current code does not slurp files whose names start with ".", and
102862         this looks like it might be a troublesome area.
102864         2007-07-11  Jim Meyering  <jim@meyering.net>
102866         If there's a GPL vN copyright comment, require that N == 3.
102868         2007-07-08  Jim Meyering  <jim@meyering.net>
102870         Run the coreutils-specific code only if tests/Makefile.am.in exists.
102871         * build-aux/bootstrap (mam_template): Move definition out of loop.
102873         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
102875         * build-aux/bootstrap (symlink_to_dir): Rename function from
102876         symlink_to_gnulib.  Add a directory parameter.  Update all
102877         callers.
102878         (cp_mark_as_generated): Also check for -- and link to -- files in
102879         gl/.
102881         2007-07-08  Jim Meyering  <jim@meyering.net>
102883         Adapt to deeper hierarchy in gnulib.
102884         * build-aux/bootstrap (symlink_to_dir): If the destination
102885         directory doesn't exist, create it. This is required at least for
102886         "lib/uniwidth/cjk.h".
102888         2007-05-15  Jim Meyering  <jim@meyering.net>
102890         * build-aux/bootstrap: Now that generated Makefile.am files
102891         are no longer under version control, they must be created at
102892         bootstrap time.
102894 2007-08-14  Ben Pfaff  <blp@gnu.org>
102896         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
102898 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
102900         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
102901         given the changes below.
102902         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
102903         even on hosts that have padding bits beyond the supported 64.
102905 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
102907         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
102908         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
102909         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
102910         depends on it.
102911         (xstrtol_error): Remove.
102912         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
102913         but with a different signature.
102914         (ATTRIBUTE_NORETURN, __attribute__): New macros.
102915         * lib/xstrtol-error.c: Include exitfail.h.
102916         (xstrtol_fatal): New function, with a different signature from the
102917         old xstrtol_error, so that the caller need not worry about passing
102918         in an exit status, or about storage management of the option argument.
102919         (xstrtol_error): Now a static function.  Redo signature to
102920         implement xstrtol_fatal.  Output the correct number of hyphens in
102921         front of the option so that the caller need not worry about
102922         storage management.
102923         (N_): New macro.
102924         (_): Remove; not used now.
102925         * modules/xstrtol: Depend on getopt.
102926         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
102927         of old STRTOL_FATAL_ERROR macro.
102928         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
102929         of test program.
102930         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
102931         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
102933 2007-08-08  Eric Blake  <ebb9@byu.net>
102935         * lib/xstrtol-error.c: Add missing include.
102937         Move xstrtol messages into gnulib domain, when --pobase is used.
102938         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
102939         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
102940         * modules/xstrtol (Files): Distribute new file.
102941         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
102942         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
102943         * tests/test-xstrtol.c: ...into new file.
102944         * tests/test-xstrtoul.c: Also test xstrtoul.
102945         * tests/test-xstrtoimax.c: Also test xstrtoimax.
102946         * tests/test-xstrtoumax.c: Also test xstrtoumax.
102947         * tests/test-xstrtol.sh: Drive the tests.
102948         * tests/test-xstrtoimax.sh: Likewise.
102949         * tests/test-xstrtoumax.sh: Likewise.
102950         * modules/xstrtol-tests: New module.
102951         * modules/xstrtoimax-tests: Likewise.
102952         * modules/xstrtoumax-tests: Likewise.
102954 2007-08-08  Jim Meyering  <jim@meyering.net>
102956         New function: mfile_name_concat.
102957         * lib/filenamecat.c (mfile_name_concat): New function, just like
102958         file_name_concat, but return NULL upon failure rather than exiting
102959         with a diagnostic.
102960         * lib/filenamecat.h: Declare it.
102962 2007-08-07  Bruno Haible  <bruno@clisp.org>
102964         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
102965         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
102966         warning from gcc.
102967         Reported by Eric Blake.
102969 2007-08-07  Simon Josefsson  <simon@josefsson.org>
102971         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
102972         * modules/crypto/arcfour (License): Likewise.
102973         * modules/crypto/des-tests (License): Likewise.
102974         * modules/crypto/gc-arctwo-tests (License): Likewise.
102975         * modules/crypto/gc-des-tests (License): Likewise.
102976         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
102977         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
102978         * modules/crypto/gc-md2-tests (License): Likewise.
102979         * modules/crypto/gc-md4-tests (License): Likewise.
102980         * modules/crypto/gc-md5-tests (License): Likewise.
102981         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
102982         * modules/crypto/gc-rijndael-tests (License): Likewise.
102983         * modules/crypto/gc-sha1-tests (License): Likewise.
102984         * modules/crypto/gc-tests (License): Likewise.
102985         * modules/crypto/hmac-md5 (License): Likewise.
102986         * modules/crypto/hmac-sha1 (License): Likewise.
102987         * modules/crypto/md2-tests (License): Likewise.
102988         * modules/crypto/md4-tests (License): Likewise.
102989         * modules/crypto/md5 (License): Likewise.
102990         * modules/crypto/rijndael (License): Likewise.
102991         * modules/crypto/sha1 (License): Likewise.
102992         * modules/memxor (License): Likewise.
102994 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
102995         and Bruno Haible  <bruno@clisp.org>
102997         * NEWS: Describe interface changes to human, xstrtol.
102998         * lib/human.h: Include <xstrtol.h>.
102999         (human_options): Return enum strtol_error, not int.  Remove
103000         bool arg; take int * instead.
103001         * lib/human.c: Don't include "gettext.h".
103002         (_): Remove; no longer used.
103003         Don't include <xstrtol.h>, since human.h does it.
103004         (human_options): Adjust to abovementioned interface changes.
103005         Do not report error to stderr; that's now the caller's
103006         responsibility.
103007         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
103008         interface change.
103009         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
103010         Str, Argument_type_string.  All uses changed.  Put " argument"
103011         in diagnostics to make them clearer.  Change wording of suffix
103012         message for clarity.
103013         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
103014         Argument_type_string.
103015         (STRTOL_FATAL_WARN): Remove; no longer used.
103016         * modules/human (Depends-on): Remove gettext-h.
103018 2007-08-06  Simon Josefsson  <simon@josefsson.org>
103020         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
103022 2007-07-31  Bruno Haible  <bruno@clisp.org>
103024         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
103025         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
103026         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
103028 2007-07-31  Bruno Haible  <bruno@clisp.org>
103030         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
103031         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
103033 2007-07-30  Bruno Haible  <bruno@clisp.org>
103035         * modules/base64 (License): Use the synonymous term "LGPLv2+".
103036         * modules/c-ctype (License): Likewise.
103037         * modules/c-strcase (License): Likewise.
103038         * modules/check-version (License): Likewise.
103039         * modules/iconv (License): Likewise.
103040         * modules/iconv_open (License): Likewise.
103041         * modules/read-file (License): Likewise.
103042         * modules/striconv (License): Likewise.
103043         * modules/strverscmp (License): Likewise.
103044         * modules/vasprintf (License): Likewise.
103045         * modules/crypto/des (License): Likewise.
103046         * modules/crypto/gc (License): Likewise.
103047         * modules/crypto/gc-arcfour (License): Likewise.
103048         * modules/crypto/gc-arctwo (License): Likewise.
103049         * modules/crypto/gc-des (License): Likewise.
103050         * modules/crypto/gc-hmac-md5 (License): Likewise.
103051         * modules/crypto/gc-hmac-sha1 (License): Likewise.
103052         * modules/crypto/gc-md2 (License): Likewise.
103053         * modules/crypto/gc-md4 (License): Likewise.
103054         * modules/crypto/gc-md5 (License): Likewise.
103055         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
103056         * modules/crypto/gc-random (License): Likewise.
103057         * modules/crypto/gc-rijndael (License): Likewise.
103058         * modules/crypto/gc-sha1 (License): Likewise.
103059         * modules/crypto/md2 (License): Likewise.
103060         * modules/crypto/md4 (License): Likewise.
103062 2007-07-30  Jim Meyering  <jim@meyering.net>
103064         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
103065         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
103066         it has valid stat data.  This bug would cause du not to count the
103067         sizes of inaccessible directories.
103068         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
103069         in <http://bugzilla.redhat.com/250077>.
103071 2007-07-25  Peter O'Gorman  <peter@pogma.com>
103072             Bruno Haible  <bruno@clisp.org>
103074         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
103075         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
103076         #include_next, gives a diagnostic about it, but reports no error in
103077         the exit code.
103078         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
103080 2007-07-24  Ben Pfaff  <blp@gnu.org>
103082         Improve name: "count-one-bits" is better than "popcount".
103083         * MODULES.html.sh: Update name.
103084         * lib/popcount.h: Renamed lib/count-one-bits.h.
103085         (popcount): Renamed count_one_bits.
103086         (popcountl): Renamed count_one_bits_l.
103087         (popcountll): Renamed count_one_bits_ll.
103088         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
103089         * modules/popcount: Renamed module/count-one-bits.
103090         * modules/popcount-tests: Renamed module/count-one-bits-tests.
103091         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
103093 2007-07-23  Ben Pfaff  <blp@gnu.org>
103095         * lib/popcount.h (popcount32): Reduce size of constants, to allow
103096         better code generation, and add U to large constants to avoid
103097         warnings, in non-GCC case.
103098         Suggested by Bruno Haible.
103100 2007-07-23  Ben Pfaff  <blp@gnu.org>
103102         * lib/popcount.h: Use verify_true instead of if...abort.
103103         * modules/popcount: Depend on verify module.
103104         Suggested by Jim Meyering.
103106 2007-07-23  Bruno Haible  <bruno@clisp.org>
103108         * gnulib-tool (func_import): Create a .cvsignore file also when the
103109         directory is not yet in CVS but the toplevel directory is. When
103110         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
103111         Reported by Karl Berry.
103113 2007-07-22  Ben Pfaff  <blp@gnu.org>
103115         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
103116         case.
103117         Suggested by Eric Blake.
103119 2007-07-22  Ben Pfaff  <blp@gnu.org>
103121         New module: popcount.
103122         * MODULES.html.sh: Add popcount.
103123         * modules/popcount: New file.
103124         * modules/popcount-tests: New file.
103125         * tests/test-popcount.c: New file.
103126         * lib/popcount.h: New file.
103127         * m4/popcount.m4: New file.
103129 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
103131         * build-aux/announce-gen: Update to GPLv3.
103133         * build-aux/config.guess: Update from config.
103135 2007-07-21  Bruno Haible  <bruno@clisp.org>
103137         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
103138         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
103140 2007-07-20  Jim Meyering  <jim@meyering.net>
103142         * check-module: Diagnose a self-dependency.
103144 2007-07-19  Bruno Haible  <bruno@clisp.org>
103146         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
103147         empty.
103148         Reported by Eric Blake.
103150 2007-07-18  Bruno Haible  <bruno@clisp.org>
103152         * gnulib-tool: New options --po-base, --po-domain.
103153         (func_usage): Document them.
103154         (pobase, po_domain): New variables.
103155         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
103156         DEFAULT_TEXT_DOMAIN.
103157         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
103158         (func_import): Consider pobase and po_domain. Create a po/ directory.
103159         (func_create_testdir): Set pobase and po_domain to empty.
103160         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
103161         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
103163 2007-07-18  Bruno Haible  <bruno@clisp.org>
103165         * gnulib-tool (func_get_automake_snippet): Synthesize also an
103166         EXTRA_DIST augmentation for files in build-aux/.
103168 2007-07-16  Bruno Haible  <bruno@clisp.org>
103170         * modules/lseek (License): Use the synonymous term "LGPLv2+".
103171         * modules/getdelim (License): Likewise.
103173 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103175         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
103176         * modules/d-type (License): Likewise.
103177         * modules/extensions (License): Likewise.
103178         * modules/fnmatch (License): Likewise.
103179         * modules/fseeko (License): Likewise.
103180         * modules/getaddrinfo (License): Likewise.
103181         * modules/getline (License): Likewise.
103182         * modules/getlogin_r (License): Likewise.
103183         * modules/getpass (License): Likewise.
103184         * modules/gettimeofday (License): Likewise.
103185         * modules/glob (License): Likewise.
103186         * modules/inet_ntop (License): Likewise.
103187         * modules/malloc (License): Likewise.
103188         * modules/malloca (License): Likewise.
103189         * modules/memmem (License): Likewise.
103190         * modules/mempcpy (License): Likewise.
103191         * modules/memset (License): Likewise.
103192         * modules/minmax (License): Likewise.
103193         * modules/mktime (License): Likewise.
103194         * modules/netinet_in (License): Likewise.
103195         * modules/pathmax (License): Likewise.
103196         * modules/poll (License): Likewise.
103197         * modules/regex (License): Likewise.
103198         * modules/snprintf (License): Likewise.
103199         * modules/stdbool (License): Likewise.
103200         * modules/stdint (License): Likewise.
103201         * modules/stdio (License): Likewise.
103202         * modules/strcase (License): Likewise.
103203         * modules/strcasestr (License): Likewise.
103204         * modules/strdup (License): Likewise.
103205         * modules/string (License): Likewise.
103206         * modules/strndup (License): Likewise.
103207         * modules/strnlen (License): Likewise.
103208         * modules/strpbrk (License): Likewise.
103209         * modules/strptime (License): Likewise.
103210         * modules/strsep (License): Likewise.
103211         * modules/sys_select (License): Likewise.
103212         * modules/sys_socket (License): Likewise.
103213         * modules/sys_stat (License): Likewise.
103214         * modules/sys_time (License): Likewise.
103215         * modules/time (License): Likewise.
103216         * modules/time_r (License): Likewise.
103217         * modules/timegm (License): Likewise.
103218         * modules/unistd (License): Likewise.
103219         * modules/vsnprintf (License): Likewise.
103220         * modules/wctype (License): Likewise.
103222 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103224         * modules/argz (License): LGPLv2+.
103226 2007-07-15  Karl Berry  <karl@gnu.org>
103228         * doc/gnulib.texi: revise node structure per new fdl.texi.
103230 2007-07-14  Bruno Haible  <bruno@clisp.org>
103232         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
103233         the output file.
103234         * lib/uniname/uninames.h: Regenerated.
103236 2007-07-14  Karl Berry  <karl@gnu.org>
103238         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
103239         omitting sectioning and index commands.
103241 2007-07-13  Bruno Haible  <bruno@clisp.org>
103243         New gnulib-tool option --more-symlinks.
103244         * gnulib-tool (func_usage): Document --more-symlinks.
103245         (do_copyrights): New variable.
103246         Recognize option --more-symlinks.
103247         (func_import): Don't add a copyright notice transform to
103248         sed_transform_lib_file if do_copyrights is empty.
103250 2007-07-13  Bruno Haible  <bruno@clisp.org>
103252         * lib/vasnprintf.c (decimal_point_char): Define also if
103253         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
103254         && !NEED_PRINTF_DIRECTIVE_A.
103255         Reported by Clemens Koller <clemens.koller@anagramm.de> via
103256         Gary V. Vaughan <gary@gnu.org>.
103258 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
103260         * lib/inttypes_.h: Undo previous change, since it was fixed
103261         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
103263 2007-07-13  Bruno Haible  <bruno@clisp.org>
103265         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
103266         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
103268 2007-07-13  Jim Meyering  <jim@meyering.net>
103270         df: Don't fail for Tru64's "file-on-file mount".
103271         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
103272         so we fall through and use statfs instead.  Details here:
103273         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
103274         Reported by Albert Chin.
103276 2007-07-13  Bruno Haible  <bruno@clisp.org>
103278         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
103279         * modules/configmake (License): Likewise.
103280         * modules/gettext (License): Likewise.
103281         * modules/gettext-h (License): Likewise.
103282         * modules/include_next (License): Likewise.
103283         * modules/link-warning (License): Likewise.
103284         * modules/localcharset (License): Likewise.
103285         * modules/localename (License): Likewise.
103286         * modules/lock (License): Likewise.
103287         * modules/relocatable-lib-lgpl (License): Likewise.
103288         * modules/size_max (License): Likewise.
103289         * modules/vasnprintf (License): Likewise.
103290         * modules/wchar (License): Likewise.
103291         * modules/xsize (License): Likewise.
103293 2007-07-13  Bruno Haible  <bruno@clisp.org>
103295         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
103296         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
103298 2007-07-12  Bruno Haible  <bruno@clisp.org>
103300         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
103301         in the modules files.
103303 2007-07-11  Karl Berry  <karl@gnu.org>
103305         * MODULES.html.sh (func_module): use
103306          sed -e '\|^'"${includefile}"'$|d'
103307          instead of /.../d, to avoid errors on $includefile's containing /.
103309 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
103311         * gnulib-tool (func_import): Avoid duplication of --avoid
103312         statements
103313         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
103314         names to `_' in variable names.
103316 2007-07-10  Eric Blake  <ebb9@byu.net>
103318         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
103319         * NEWS: Document this change.
103321 2007-07-08  Bruno Haible  <bruno@clisp.org>
103323         Update to Unicode 5.0.
103324         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
103325         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
103326         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
103327         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
103328         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
103329         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
103330         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
103331         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
103332         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
103333         U+10A3F, U+1D242..U+1D244.
103334         (nonspacing_table_ind): Update.
103335         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
103336         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
103338 2007-07-08  Bruno Haible  <bruno@clisp.org>
103340         Update to Unicode 5.0.
103341         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
103342         code transform. Extend the name index field of unicode_name_to_code and
103343         unicode_code_to_name from 16 to 24 bits.
103344         * lib/uniname/uniname.c (unicode_character_name,
103345         unicode_name_character): Add the range 0x12xxx to the code transform.
103346         * lib/uniname/uninames.h: Regenerated.
103347         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
103349 2007-07-07  Bruno Haible  <bruno@clisp.org>
103351         * modules/wcwidth-tests: New file.
103352         * tests/test-wcwidth.c: New file.
103354         Work around MacOS X wcwidth() bug.
103355         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
103356         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
103357         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
103358         original wcwidth in non-UTF-8 locales.
103359         * modules/wcwidth (Depends-on): Add localcharset, streq,
103360         uniwidth/width.
103361         * doc/functions/wcwidth.texi: Update.
103363 2007-07-07  Bruno Haible  <bruno@clisp.org>
103365         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
103366         (wcwidth): New declaration.
103367         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
103368         macros.
103369         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
103370         here. Prepare for creating <wchar.h> unconditionally.
103371         * modules/wchar (Depends-on): Add link-warning.
103372         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
103373         REPLACE_WCWIDTH, and GL_LINK_WARNING.
103374         * lib/wcwidth.h: Remove file.
103375         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
103376         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
103377         * modules/wcwidth (Files): Remove lib/wcwidth.h.
103378         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
103379         (Include): Replace wcwidth.h with <wchar.h>.
103380         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
103381         * lib/mbchar.h: Don't include wcwidth.h.
103382         * lib/mbswidth.c: Likewise.
103383         * NEWS: Mention the change.
103385 2007-07-07  Bruno Haible  <bruno@clisp.org>
103387         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
103388         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
103389         definition with an external declaration.
103390         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
103391         defined as a function. Remove AC_C_INLINE requirement.
103392         * modules/wcwidth (Files): Add lib/wcwidth.c.
103393         (Makefile.am): Remove redundant statement.
103395 2007-07-07  Bruno Haible  <bruno@clisp.org>
103397         * MODULES.html.sh (Unicode string functions): Add the new modules.
103399         * tests/uniwidth/test-u32-strwidth.c: New file.
103400         * modules/uniwidth/u32-strwidth-tests: New file.
103402         * lib/uniwidth/u32-strwidth.c: New file.
103403         * modules/uniwidth/u32-strwidth: New file.
103405         * tests/uniwidth/test-u16-strwidth.c: New file.
103406         * modules/uniwidth/u16-strwidth-tests: New file.
103408         * lib/uniwidth/u16-strwidth.c: New file.
103409         * modules/uniwidth/u16-strwidth: New file.
103411         * tests/uniwidth/test-u8-strwidth.c: New file.
103412         * modules/uniwidth/u8-strwidth-tests: New file.
103414         * lib/uniwidth/u8-strwidth.c: New file.
103415         * modules/uniwidth/u8-strwidth: New file.
103417         * tests/uniwidth/test-u32-width.c: New file.
103418         * modules/uniwidth/u32-width-tests: New file.
103420         * lib/uniwidth/u32-width.c: New file.
103421         * modules/uniwidth/u32-width: New file.
103423         * tests/uniwidth/test-u16-width.c: New file.
103424         * modules/uniwidth/u16-width-tests: New file.
103426         * lib/uniwidth/u16-width.c: New file.
103427         * modules/uniwidth/u16-width: New file.
103429         * tests/uniwidth/test-u8-width.c: New file.
103430         * modules/uniwidth/u8-width-tests: New file.
103432         * lib/uniwidth/u8-width.c: New file.
103433         * modules/uniwidth/u8-width: New file.
103435         * tests/uniwidth/test-uc_width.c: New file.
103436         * modules/uniwidth/width-tests: New file.
103438         * lib/uniwidth/width.c: New file, from GNU libiconv.
103439         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
103440         * modules/uniwidth/width: New file.
103442         * lib/uniwidth.h: New file, from GNU libiconv.
103443         * modules/uniwidth/base: New file.
103445 2007-07-07  Bruno Haible  <bruno@clisp.org>
103447         * lib/uniname.h: New file, from GNU gettext.
103448         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
103449         * lib/uniname/uninames.h: New file, from GNU gettext.
103450         * lib/uniname/uniname.c: New file, from GNU gettext.
103451         * tests/uniname/test-uninames.sh: New file.
103452         * tests/uniname/test-uninames.c: New file, from GNU gettext.
103453         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
103454         * modules/uniname/base: New file.
103455         * modules/uniname/uniname: New file.
103456         * modules/uniname/uniname-tests: New file.
103457         * MODULES.html.sh (Unicode string functions): Add the new modules.
103459 2007-07-06  Bruno Haible  <bruno@clisp.org>
103461         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
103463 2007-07-06  Bruno Haible  <bruno@clisp.org>
103465         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
103466         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
103467         includes <cygwin/sys_time.h> which includes <sys/select.h> which
103468         include <sys/time.h>.
103469         Reported by Eric Blake.
103471 2007-07-06  Eric Blake  <ebb9@byu.net>
103473         Fix testing canonicalize on cygwin.
103474         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103475         Revert patch from 2007-06-19.
103476         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
103477         canonicalize module is also in use.
103478         * tests/test-canonicalize.c: New file.
103479         * tests/test-canonicalize.sh: Likewise.
103480         * modules/canonicalize-tests: Likewise.
103482 2007-07-06  Jim Meyering  <jim@meyering.net>
103484         * lib/getugroups.c (getugroups): Detect getgrent failure.
103485         Adjust comment to reflect reality: this function may return -1.
103487 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
103489         * build-aux/bootstrap (TP_URL,get_translations): Update to use
103490         the new TP address.
103491         (usage): Fix typo
103492         (gnulib_mk): New variable.
103494 2007-07-05  Jim Meyering  <jim@meyering.net>
103496         Don't let endgrent clobber errno, no matter how improbable.
103497         * lib/getugroups.c (getugroups): Save and restore errno around
103498         endgrent call.
103500         Close the group DB even when failing with 2^31 or more members.
103501         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
103503 2007-07-04  Jim Meyering  <jim@meyering.net>
103505         * lib/getugroups.h: New file.
103506         * lib/getugroups.c: Include "getugroups.h".
103507         Remove uses of "register" keyword.
103508         Move local variable, "cp", down into scope where used.
103509         Give "username" parameter the "const" attribute.
103510         * modules/getugroups (Files): Add lib/getugroups.h
103512 2007-07-04  Karl Berry  <karl@gnu.org>
103514         * MODULES.html.sh (func_all_modules): Complete rename of
103515         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
103517 2007-07-02  Bruno Haible  <bruno@clisp.org>
103519         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
103520         mode, when inttypes.h comes from gnulib.
103521         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
103523 2007-07-02  Simon Josefsson  <simon@josefsson.org>
103525         * NEWS: Mention lgpl module name change.
103527         * modules/lgpl-2.1: Renamed from lgpl.
103529         * NEWS: Mention gpl module name change.
103531         * modules/gpl-3.0: New file, based on gpl-2.0.
103533         * modules/gpl-2.0: Renamed from gpl.
103535         * modules/gpl: Fix filename, doc/gpl.texi is now found at
103536         doc/gpl-2.0.texi.
103538 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
103540         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
103541         #define __STDC_LIMIT_MACROS temporarily while including
103542         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
103543         Problem reported by Joel E. Denny in
103544         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
103546 2007-07-01  Bruno Haible  <bruno@clisp.org>
103548         * lib/unistdio.h: New file.
103549         * lib/unistdio/u-asnprintf.h: New file.
103550         * lib/unistdio/u-asprintf.h: New file.
103551         * lib/unistdio/u-printf-args.c: New file.
103552         * lib/unistdio/u-printf-args.h: New file.
103553         * lib/unistdio/u-printf-parse.h: New file.
103554         * lib/unistdio/u-snprintf.h: New file.
103555         * lib/unistdio/u-sprintf.h: New file.
103556         * lib/unistdio/u-vasprintf.h: New file.
103557         * lib/unistdio/u-vsnprintf.h: New file.
103558         * lib/unistdio/u-vsprintf.h: New file.
103559         * lib/unistdio/ulc-asnprintf.c: New file.
103560         * lib/unistdio/ulc-asprintf.c: New file.
103561         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
103562         * lib/unistdio/ulc-printf-parse.c: New file.
103563         * lib/unistdio/ulc-snprintf.c: New file.
103564         * lib/unistdio/ulc-sprintf.c: New file.
103565         * lib/unistdio/ulc-vasnprintf.c: New file.
103566         * lib/unistdio/ulc-vasprintf.c: New file.
103567         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
103568         * lib/unistdio/ulc-vsnprintf.c: New file.
103569         * lib/unistdio/ulc-vsprintf.c: New file.
103570         * lib/unistdio/u8-asnprintf.c: New file.
103571         * lib/unistdio/u8-asprintf.c: New file.
103572         * lib/unistdio/u8-printf-parse.c: New file.
103573         * lib/unistdio/u8-snprintf.c: New file.
103574         * lib/unistdio/u8-sprintf.c: New file.
103575         * lib/unistdio/u8-vasnprintf.c: New file.
103576         * lib/unistdio/u8-vasprintf.c: New file.
103577         * lib/unistdio/u8-vsnprintf.c: New file.
103578         * lib/unistdio/u8-vsprintf.c: New file.
103579         * lib/unistdio/u8-u8-asnprintf.c: New file.
103580         * lib/unistdio/u8-u8-asprintf.c: New file.
103581         * lib/unistdio/u8-u8-snprintf.c: New file.
103582         * lib/unistdio/u8-u8-sprintf.c: New file.
103583         * lib/unistdio/u8-u8-vasnprintf.c: New file.
103584         * lib/unistdio/u8-u8-vasprintf.c: New file.
103585         * lib/unistdio/u8-u8-vsnprintf.c: New file.
103586         * lib/unistdio/u8-u8-vsprintf.c: New file.
103587         * lib/unistdio/u16-asnprintf.c: New file.
103588         * lib/unistdio/u16-asprintf.c: New file.
103589         * lib/unistdio/u16-printf-parse.c: New file.
103590         * lib/unistdio/u16-snprintf.c: New file.
103591         * lib/unistdio/u16-sprintf.c: New file.
103592         * lib/unistdio/u16-vasnprintf.c: New file.
103593         * lib/unistdio/u16-vasprintf.c: New file.
103594         * lib/unistdio/u16-vsnprintf.c: New file.
103595         * lib/unistdio/u16-vsprintf.c: New file.
103596         * lib/unistdio/u16-u16-asnprintf.c: New file.
103597         * lib/unistdio/u16-u16-asprintf.c: New file.
103598         * lib/unistdio/u16-u16-snprintf.c: New file.
103599         * lib/unistdio/u16-u16-sprintf.c: New file.
103600         * lib/unistdio/u16-u16-vasnprintf.c: New file.
103601         * lib/unistdio/u16-u16-vasprintf.c: New file.
103602         * lib/unistdio/u16-u16-vsnprintf.c: New file.
103603         * lib/unistdio/u16-u16-vsprintf.c: New file.
103604         * lib/unistdio/u32-asnprintf.c: New file.
103605         * lib/unistdio/u32-asprintf.c: New file.
103606         * lib/unistdio/u32-printf-parse.c: New file.
103607         * lib/unistdio/u32-snprintf.c: New file.
103608         * lib/unistdio/u32-sprintf.c: New file.
103609         * lib/unistdio/u32-vasnprintf.c: New file.
103610         * lib/unistdio/u32-vasprintf.c: New file.
103611         * lib/unistdio/u32-vsnprintf.c: New file.
103612         * lib/unistdio/u32-vsprintf.c: New file.
103613         * lib/unistdio/u32-u32-asnprintf.c: New file.
103614         * lib/unistdio/u32-u32-asprintf.c: New file.
103615         * lib/unistdio/u32-u32-snprintf.c: New file.
103616         * lib/unistdio/u32-u32-sprintf.c: New file.
103617         * lib/unistdio/u32-u32-vasnprintf.c: New file.
103618         * lib/unistdio/u32-u32-vasprintf.c: New file.
103619         * lib/unistdio/u32-u32-vsnprintf.c: New file.
103620         * lib/unistdio/u32-u32-vsprintf.c: New file.
103621         * tests/unistdio/test-ulc-asnprintf1.c: New file.
103622         * tests/unistdio/test-ulc-asnprintf1.h: New file.
103623         * tests/unistdio/test-ulc-printf1.h: New file.
103624         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
103625         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
103626         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
103627         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
103628         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
103629         * tests/unistdio/test-ulc-vasprintf1.c: New file.
103630         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
103631         * tests/unistdio/test-ulc-vsprintf1.c: New file.
103632         * tests/unistdio/test-u8-asnprintf1.c: New file.
103633         * tests/unistdio/test-u8-asnprintf1.h: New file.
103634         * tests/unistdio/test-u8-printf1.h: New file.
103635         * tests/unistdio/test-u8-vasnprintf1.c: New file.
103636         * tests/unistdio/test-u8-vasnprintf2.c: New file.
103637         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
103638         * tests/unistdio/test-u8-vasnprintf3.c: New file.
103639         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
103640         * tests/unistdio/test-u8-vasprintf1.c: New file.
103641         * tests/unistdio/test-u8-vsnprintf1.c: New file.
103642         * tests/unistdio/test-u8-vsprintf1.c: New file.
103643         * tests/unistdio/test-u16-asnprintf1.c: New file.
103644         * tests/unistdio/test-u16-asnprintf1.h: New file.
103645         * tests/unistdio/test-u16-printf1.h: New file.
103646         * tests/unistdio/test-u16-vasnprintf1.c: New file.
103647         * tests/unistdio/test-u16-vasnprintf2.c: New file.
103648         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
103649         * tests/unistdio/test-u16-vasnprintf3.c: New file.
103650         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
103651         * tests/unistdio/test-u16-vasprintf1.c: New file.
103652         * tests/unistdio/test-u16-vsnprintf1.c: New file.
103653         * tests/unistdio/test-u16-vsprintf1.c: New file.
103654         * tests/unistdio/test-u32-asnprintf1.c: New file.
103655         * tests/unistdio/test-u32-asnprintf1.h: New file.
103656         * tests/unistdio/test-u32-printf1.h: New file.
103657         * tests/unistdio/test-u32-vasnprintf1.c: New file.
103658         * tests/unistdio/test-u32-vasnprintf2.c: New file.
103659         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
103660         * tests/unistdio/test-u32-vasnprintf3.c: New file.
103661         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
103662         * tests/unistdio/test-u32-vasprintf1.c: New file.
103663         * tests/unistdio/test-u32-vsnprintf1.c: New file.
103664         * tests/unistdio/test-u32-vsprintf1.c: New file.
103665         * modules/unistdio/base: New file.
103666         * modules/unistdio/u-printf-args: New file.
103667         * modules/unistdio/ulc-asnprintf: New file.
103668         * modules/unistdio/ulc-asprintf: New file.
103669         * modules/unistdio/ulc-fprintf: New file.
103670         * modules/unistdio/ulc-printf-parse: New file.
103671         * modules/unistdio/ulc-snprintf: New file.
103672         * modules/unistdio/ulc-sprintf: New file.
103673         * modules/unistdio/ulc-vasnprintf: New file.
103674         * modules/unistdio/ulc-vasprintf: New file.
103675         * modules/unistdio/ulc-vfprintf: New file.
103676         * modules/unistdio/ulc-vsnprintf: New file.
103677         * modules/unistdio/ulc-vsprintf: New file.
103678         * modules/unistdio/u8-asnprintf: New file.
103679         * modules/unistdio/u8-asprintf: New file.
103680         * modules/unistdio/u8-printf-parse: New file.
103681         * modules/unistdio/u8-snprintf: New file.
103682         * modules/unistdio/u8-sprintf: New file.
103683         * modules/unistdio/u8-vasnprintf: New file.
103684         * modules/unistdio/u8-vasprintf: New file.
103685         * modules/unistdio/u8-vsnprintf: New file.
103686         * modules/unistdio/u8-vsprintf: New file.
103687         * modules/unistdio/u8-u8-asnprintf: New file.
103688         * modules/unistdio/u8-u8-asprintf: New file.
103689         * modules/unistdio/u8-u8-snprintf: New file.
103690         * modules/unistdio/u8-u8-sprintf: New file.
103691         * modules/unistdio/u8-u8-vasnprintf: New file.
103692         * modules/unistdio/u8-u8-vasprintf: New file.
103693         * modules/unistdio/u8-u8-vsnprintf: New file.
103694         * modules/unistdio/u8-u8-vsprintf: New file.
103695         * modules/unistdio/u16-asnprintf: New file.
103696         * modules/unistdio/u16-asprintf: New file.
103697         * modules/unistdio/u16-printf-parse: New file.
103698         * modules/unistdio/u16-snprintf: New file.
103699         * modules/unistdio/u16-sprintf: New file.
103700         * modules/unistdio/u16-vasnprintf: New file.
103701         * modules/unistdio/u16-vasprintf: New file.
103702         * modules/unistdio/u16-vsnprintf: New file.
103703         * modules/unistdio/u16-vsprintf: New file.
103704         * modules/unistdio/u16-u16-asnprintf: New file.
103705         * modules/unistdio/u16-u16-asprintf: New file.
103706         * modules/unistdio/u16-u16-snprintf: New file.
103707         * modules/unistdio/u16-u16-sprintf: New file.
103708         * modules/unistdio/u16-u16-vasnprintf: New file.
103709         * modules/unistdio/u16-u16-vasprintf: New file.
103710         * modules/unistdio/u16-u16-vsnprintf: New file.
103711         * modules/unistdio/u16-u16-vsprintf: New file.
103712         * modules/unistdio/u32-asnprintf: New file.
103713         * modules/unistdio/u32-asprintf: New file.
103714         * modules/unistdio/u32-printf-parse: New file.
103715         * modules/unistdio/u32-snprintf: New file.
103716         * modules/unistdio/u32-sprintf: New file.
103717         * modules/unistdio/u32-vasnprintf: New file.
103718         * modules/unistdio/u32-vasprintf: New file.
103719         * modules/unistdio/u32-vsnprintf: New file.
103720         * modules/unistdio/u32-vsprintf: New file.
103721         * modules/unistdio/u32-u32-asnprintf: New file.
103722         * modules/unistdio/u32-u32-asprintf: New file.
103723         * modules/unistdio/u32-u32-snprintf: New file.
103724         * modules/unistdio/u32-u32-sprintf: New file.
103725         * modules/unistdio/u32-u32-vasnprintf: New file.
103726         * modules/unistdio/u32-u32-vasprintf: New file.
103727         * modules/unistdio/u32-u32-vsnprintf: New file.
103728         * modules/unistdio/u32-u32-vsprintf: New file.
103729         * modules/unistdio/ulc-asnprintf-tests: New file.
103730         * modules/unistdio/ulc-vasnprintf-tests: New file.
103731         * modules/unistdio/ulc-vasprintf-tests: New file.
103732         * modules/unistdio/ulc-vsnprintf-tests: New file.
103733         * modules/unistdio/ulc-vsprintf-tests: New file.
103734         * modules/unistdio/u8-asnprintf-tests: New file.
103735         * modules/unistdio/u8-vasnprintf-tests: New file.
103736         * modules/unistdio/u8-vasprintf-tests: New file.
103737         * modules/unistdio/u8-vsnprintf-tests: New file.
103738         * modules/unistdio/u8-vsprintf-tests: New file.
103739         * modules/unistdio/u16-asnprintf-tests: New file.
103740         * modules/unistdio/u16-vasnprintf-tests: New file.
103741         * modules/unistdio/u16-vasprintf-tests: New file.
103742         * modules/unistdio/u16-vsnprintf-tests: New file.
103743         * modules/unistdio/u16-vsprintf-tests: New file.
103744         * modules/unistdio/u32-asnprintf-tests: New file.
103745         * modules/unistdio/u32-vasnprintf-tests: New file.
103746         * modules/unistdio/u32-vasprintf-tests: New file.
103747         * modules/unistdio/u32-vsnprintf-tests: New file.
103748         * modules/unistdio/u32-vsprintf-tests: New file.
103749         * MODULES.html.sh (Unicode string functions): Add the new modules.
103751 2007-07-01  Bruno Haible  <bruno@clisp.org>
103753         * lib/sprintf.c (sprintf): Limit the available length estimation,
103754         to avoid address wraparound.
103755         * lib/vsprintf.c (vsprintf): Likewise.
103756         * modules/sprintf-posix (Dependencies): Add stdint.
103757         * modules/vsprintf-posix (Dependencies): Likewise.
103759 2007-07-01  Bruno Haible  <bruno@clisp.org>
103761         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
103762         Windows PATH as well. Conservative double-quoting. Comments.
103764 2007-07-01  Bruno Haible  <bruno@clisp.org>
103765             Eric Blake  <ebb9@byu.net>
103766             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103768         * gnulib-tool (self_abspathname): Fix algorithm to cope with
103769         empty components in $PATH, denoting '.'.
103771 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103773         * gnulib-tool: Fix indentation.
103774         (func_create_megatestdir): Likewise.
103775         Report by Bruno Haible.
103777 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103779         Sync from Automake.
103780         * build-aux/gnupload: Fix shell portability issues with for loops.
103781         Report by Karl Berry.
103783 2007-06-29  Simon Josefsson  <simon@josefsson.org>
103785         * build-aux/maint.mk (POURL): Use translationproject.org.
103787 2007-06-27  Simon Josefsson  <simon@josefsson.org>
103788             Bruno Haible  <bruno@clisp.org>
103790         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
103791         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
103792         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
103793         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
103794         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
103796 2007-06-27  Bruno Haible  <bruno@clisp.org>
103798         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
103799         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
103801 2007-06-26  Karl Berry  <karl@gnu.org>
103803         * MODULES.html.sh: remove xreadlink-with-size.
103805 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103807         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
103808         method that I hope also handles the double-include problem noted
103809         by Bruno Haible in
103810         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
103812 2007-06-23  Bruno Haible  <bruno@clisp.org>
103814         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
103815         Don't let the 'mostlyclean' target fail if the last subdirectory could
103816         not be removed.
103817         Reported by Karl Berry.
103819 2007-06-23  Bruno Haible  <bruno@clisp.org>
103821         * gnulib-tool (echo): Add a speedier workaround for ksh.
103822         * tests/test-echo.sh: Likewise.
103824 2007-06-23  Bruno Haible  <bruno@clisp.org>
103826         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
103827         * tests/test-echo.sh: Likewise.
103829 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103831         * gnulib-tool (IFS): Initialize early, so we don't set it to
103832         empty later.
103833         (self_abspathname): Rewrite algorithm to set it, reindent.
103834         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
103835         (func_create_megatestdir): Merge some sed scripts.
103837 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103839         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
103840         exposed by Sun Studio 11 cc on Solaris 8.
103842 2007-06-22  Bruno Haible  <bruno@clisp.org>
103844         * gnulib-tool (echo): Ensure the echo primitive does not interpret
103845         backslashes.
103846         * tests/test-echo.sh: New file.
103848 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103850         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
103851         simplify `sed_replace_build_aux' scripts, they are portable but
103852         echoing them with `echo' is not.
103853         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
103855 2007-06-21  Karl Berry  <karl@gnu.org>
103857         * config/srclist.txt: guess we can't handle the licenses via
103858         srclist at the moment.
103860 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
103862         * MODULES.html.sh: Add include_next.
103863         * modules/include_next: New file.
103865 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
103867         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
103868         INCLUDE_NEXT.
103869         (gl_CHECK_NEXT_HEADERS): New macro.
103870         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
103871         the obsolescent gl_ABSOLUTE_HEADER.
103872         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
103873         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
103874         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
103875         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
103876         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
103877         * m4/math_h.m4 (gl_MATH_H): Likewise.
103878         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
103879         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
103880         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
103881         * m4/stdint.m4 (gl_STDINT_H): Likewise.
103882         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
103883         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
103884         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
103885         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
103886         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
103887         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
103888         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
103889         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
103890         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
103891         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
103892         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
103893         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
103894         * m4/inttypes.m4 (gl_INTTYPES_H): Define
103895         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
103896         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
103897         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
103898         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
103899         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
103900         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
103901         * lib/float_.h: Likewise.
103902         * lib/inttypes_.h: Likewise.
103903         * lib/math_.h: Likewise.
103904         * lib/search_.h: Likewise.
103905         * lib/signal_.h: Likewise.
103906         * lib/stdint_.h: Likewise.
103907         * lib/stdio_.h: Likewise.
103908         * lib/stdlib_.h: Likewise.
103909         * lib/string_.h: Likewise.
103910         * lib/sys_stat_.h: Likewise.
103911         * lib/sys_time_.h: Likewise.
103912         * lib/time_.h: Likewise.
103913         * lib/unistd_.h: Likewise.
103914         * lib/wchar_.h: Likewise.
103915         * lib/wctype_.h: Likewise.
103916         * lib/dirent_.h: Likewise.
103917         * lib/iconv_.h: Likewise.
103918         * lib/locale_.h: Likewise.
103919         * lib/netinet_in_.h: Likewise.
103920         * lib/sys_select_.h: Likewise.
103921         * lib/sys_socket_.h: Likewise.
103922         * lib/sysexits_.h: Likewise.
103923         * modules/fcntl (Depends-on): Depend on include_next, not
103924         absolute_header.
103925         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
103926         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
103927         * modules/fchdir: Likewise.
103928         * modules/float: Likewise.
103929         * modules/iconv_open: Likewise.
103930         * modules/inttypes: Likewise.
103931         * modules/locale: Likewise.
103932         * modules/math: Likewise.
103933         * modules/netinet_in: Likewise.
103934         * modules/search: Likewise.
103935         * modules/signal: Likewise.
103936         * modules/stdint: Likewise.
103937         * modules/stdio: Likewise.
103938         * modules/stdlib: Likewise.
103939         * modules/string: Likewise.
103940         * modules/sys_select: Likewise.
103941         * modules/sys_socket: Likewise.
103942         * modules/sys_stat: Likewise.
103943         * modules/sys_time: Likewise.
103944         * modules/sysexits: Likewise.
103945         * modules/time: Likewise.
103946         * modules/unistd: Likewise.
103947         * modules/wchar: Likewise.
103948         * modules/wctype: Likewise.
103949         * modules/sys_stat: Change maintainer to "all".
103950         * modules/unistd: Likewise.
103952 2007-06-20  Karl Berry  <karl@gnu.org>
103954         * config/srclist.txt: track www changes in license files.
103956 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
103958         * build-aux/bootstrap: Remove stray dot.
103959         Make sure build_aux settings are honored when linking
103960         gnulib_extra_files.
103962 2007-06-19  Eric Blake  <ebb9@byu.net>
103964         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103965         Allow compilation on cygwin.
103967 2007-06-19  Jim Meyering  <jim@meyering.net>
103969         xreadlink-with-size: Remove module.  No longer used.
103970         Ex-callers now use xreadlink or mreadlink-with-size.
103971         * modules/xreadlink-with-size: Remove module.
103972         * lib/xreadlink-with-size.c: Remove file.
103973         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
103974         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
103975         just before the function definition *is* accurate.
103977         Eliminate one way canonicalize_filename_mode could exit.
103978         * lib/canonicalize.c (canonicalize_filename_mode):
103979         Use mreadlink_with_size, not xreadlink_with_size.
103981 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
103983         Detect porting problems to FreeBSD/arm, which has time_t wider than
103984         long int.  Original problem reported for GNU diff by Xin Li in
103985         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
103986         * modules/getdate (Depends-on): Add intprops, verify.
103987         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
103988         is an integer type no wider than long int.
103990 2007-06-18  Jim Meyering  <jim@meyering.net>
103992         New module: mreadlink-with-size.
103993         * MODULES.html.sh: Add mreadlink-with-size.
103994         * modules/mreadlink-with-size: New module
103995         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
103996         not xreadlink-with-size.
103997         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
103999 2007-06-16  Bruno Haible  <bruno@clisp.org>
104001         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
104002         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
104003         Reported by Gary V. Vaughan <gary@gnu.org>.
104005 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104007         Revamp lchown so that it lives in unistd.h where it belongs.
104008         * lib/lchown.h: Remove.
104009         * lib/dirchownmod.c: Don't include lib/lchown.h.
104010         * lib/fchownat.c: Likewise.
104011         * lib/openat.c: Likewise.
104012         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
104013         does not follow symlinks.
104014         (EOPNOTSUPP): Define if not defined.
104015         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
104016         is defined to 0.
104017         (lchown): New decl.
104018         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
104019         Do not check for lchown decl.
104020         Set REPLACE_LCHOWN.
104021         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
104022         REPLACE_LCHOWN.
104023         * modules/chown: Make it clear it follows symlinks.
104024         * modules/lchown: Make it clear it doesn't follow symlinks.
104025         (Files): Remove lib/lchown.h
104026         (Depends-on): Add unistd.
104027         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
104028         (Include): Include <unistd.h>, not "lchown.h".
104029         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
104030         REPLACE_LCHOWN.
104032 2007-06-15  Jim Meyering  <jim@meyering.net>
104034         Change license (GPL to LGPL) of fsusage and dependents.
104035         * modules/fsusage (License): Change to LGPL.
104036         * modules/full-read (License): Likewise.
104037         * modules/full-write (License): Likewise.
104038         * modules/safe-read (License): Likewise.
104039         * modules/safe-write (License): Likewise.
104041 2007-06-14  Ben Pfaff  <blp@gnu.org>
104043         Missing part of allocsa -> malloca transition.
104044         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
104045         gl_MALLOCA.
104047 2007-06-12  Bruno Haible  <bruno@clisp.org>
104049         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
104050         to ia64, x86_64, i386.
104051         Reported by Eric Blake.
104053 2007-06-12  Bruno Haible  <bruno@clisp.org>
104055         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
104056         cross-compiling to x86_64.
104058 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
104060         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
104061         glitch reported by Ralf Wildenhues in
104062         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
104064         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
104065         Vin Shelton.
104067 2007-06-11  Bruno Haible  <bruno@clisp.org>
104069         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
104070         replacement string.
104071         Reported by Eric Blake.
104073 2007-06-10  Bruno Haible  <bruno@clisp.org>
104075         Prepare vasnprintf code for use with Unicode strings.
104076         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
104077         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
104078         TYPE_U32_STRING.
104079         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
104080         a_u32_string variants.
104081         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104082         * lib/printf-args.c: Don't include config.h and the specification
104083         header if PRINTF_FETCHARGS is already defined.
104084         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
104085         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
104086         TYPE_U16_STRING, TYPE_U32_STRING.
104087         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
104088         u16_directive, u16_directives, u32_directive, u32_directives): New
104089         types.
104090         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
104091         New declarations.
104092         * lib/printf-parse.c: Don't include config.h and the specification
104093         header if PRINTF_PARSE is already defined. Eliminate the set of
104094         parameters for WIDE_CHAR_VERSION; the user of this file must provide
104095         them now. Include c-ctype.h.
104096         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
104097         directive and CHAR_T_ONLY_ASCII.
104098         * lib/vasnprintf.c: Don't include config.h and the specification header
104099         if VASNPRINTF is already defined.
104100         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
104101         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
104102         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
104103         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
104104         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
104105         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
104106         code accordingly.
104107         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
104108         pad_ourselves also in this case, with the 'c' and 's' directives, and
104109         with a different notion of "width".
104110         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
104112 2007-06-10  Bruno Haible  <bruno@clisp.org>
104114         * modules/unistr/u32-mbsnlen: New file.
104115         * lib/unistr/u32-mbsnlen.c: New file.
104117         * modules/unistr/u16-mbsnlen: New file.
104118         * lib/unistr/u16-mbsnlen.c: New file.
104120         * modules/unistr/u8-mbsnlen: New file.
104121         * lib/unistr/u8-mbsnlen.c: New file.
104123         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
104124         declarations.
104126 2007-06-10  Bruno Haible  <bruno@clisp.org>
104128         * lib/string_.h (mbsnlen): New declaration.
104129         * lib/mbsnlen.c: New file.
104130         * m4/mbsnlen.m4: New file.
104131         * modules/mbsnlen: New file.
104132         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
104133         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
104134         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
104136 2007-06-10  Bruno Haible  <bruno@clisp.org>
104138         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
104140 2007-06-10  Bruno Haible  <bruno@clisp.org>
104142         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
104143         * lib/mbuiter.h: Likewise.
104145 2007-06-10  Bruno Haible  <bruno@clisp.org>
104147         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
104148         declaration.
104150 2007-06-10  Karl Berry  <karl@gnu.org>
104152         * config/srclist.txt: remove gettext entries, Bruno prefers
104153         to update individually.
104155 2007-06-10  Bruno Haible  <bruno@clisp.org>
104157         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
104158         'maxlen'. Ensure only length + width bytes are allocated, not
104159         length + 1 + width.
104161 2007-06-09  Bruno Haible  <bruno@clisp.org>
104163         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
104164         (CHAR_T): Remove macro.
104165         (VASNPRINTF): Update.
104167 2007-06-09  Bruno Haible  <bruno@clisp.org>
104169         * MODULES.html.sh (Unicode string functions): Add the new modules.
104171         * modules/uniconv/u32-conv-to-enc: New file.
104172         * lib/uniconv/u32-conv-to-enc.c: New file.
104173         * modules/uniconv/u32-conv-to-enc-tests: New file.
104174         * tests/uniconv/test-u32-conv-to-enc.c: New file.
104176         * modules/uniconv/u16-conv-to-enc: New file.
104177         * lib/uniconv/u16-conv-to-enc.c: New file.
104178         * lib/uniconv/u-conv-to-enc.h: New file.
104179         * modules/uniconv/u16-conv-to-enc-tests: New file.
104180         * tests/uniconv/test-u16-conv-to-enc.c: New file.
104182         * modules/uniconv/u8-conv-to-enc: New file.
104183         * lib/uniconv/u8-conv-to-enc.c: New file.
104184         * modules/uniconv/u8-conv-to-enc-tests: New file.
104185         * tests/uniconv/test-u8-conv-to-enc.c: New file.
104187         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
104188         u32_conv_to_encoding): New declarations.
104190 2007-06-09  Bruno Haible  <bruno@clisp.org>
104192         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
104194 2007-06-09  Bruno Haible  <bruno@clisp.org>
104196         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
104197         * modules/malloca: Renamed from modules/allocsa, updated.
104198         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
104199         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
104200         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
104201         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
104202         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
104203         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
104204         * modules/xmalloca: Renamed from modules/xallocsa, updated.
104205         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
104206         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
104207         * modules/c-strcasestr (Depends-on): Update.
104208         * lib/c-strcasestr.c: Update.
104209         * modules/c-strstr (Depends-on): Update.
104210         * lib/c-strstr.c: Update.
104211         * modules/canonicalize-lgpl (Depends-on): Update.
104212         * lib/canonicalize-lgpl.c: Update.
104213         * modules/clean-temp (Depends-on): Update.
104214         * lib/clean-temp.c: Update.
104215         * modules/csharpcomp (Depends-on): Update.
104216         * lib/csharpcomp.c: Update.
104217         * modules/csharpexec (Depends-on): Update.
104218         * lib/csharpexec.c: Update.
104219         * modules/javacomp (Depends-on): Update.
104220         * lib/javacomp.c: Update.
104221         * modules/javaexec (Depends-on): Update.
104222         * lib/javaexec.c: Update.
104223         * modules/mbscasestr (Depends-on): Update.
104224         * lib/mbscasestr.c: Update.
104225         * modules/mbsstr (Depends-on): Update.
104226         * lib/mbsstr.c: Update.
104227         * modules/setenv (Depends-on): Update.
104228         * lib/setenv.c: Update.
104229         * modules/strcasestr (Depends-on): Update.
104230         * lib/strcasestr.c: Update.
104231         * modules/striconveha (Depends-on): Update.
104232         * lib/striconveha.c: Update.
104233         * modules/relocatable-prog-wrapper (Files): Update.
104234         * lib/relocwrapper.c: Update.
104235         * build-aux/install-reloc: Update.
104236         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
104238 2007-06-08  Bruno Haible  <bruno@clisp.org>
104240         Port to uClibc.
104241         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
104242         * lib/fpurge.c (fpurge): Likewise.
104243         * lib/freading.c (freading): Likewise.
104244         * lib/fseeko.c (rpl_fseeko): Likewise.
104245         * lib/fseterr.c (fseterr): Likewise.
104246         * lib/fwriting.c (fwriting): Likewise.
104247         * tests/test-fflush.c (main): Avoid a failure on uClibc.
104249 2007-06-08  Bruno Haible  <bruno@clisp.org>
104251         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
104252         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
104253         * modules/gettext (Files): Add m4/intlmacosx.m4.
104255 2007-06-07  Bruno Haible  <bruno@clisp.org>
104257         * modules/localename-tests: New file.
104258         * tests/test-localename.c: New file.
104260         New module 'localename'.
104261         * lib/localename.h: New file.
104262         * lib/localename.c: New file, from GNU gettext.
104263         * m4/localename.m4: New file.
104264         * modules/localename: New file.
104266 2007-06-07  Bruno Haible  <bruno@clisp.org>
104268         Work around the lack of <wchar.h> on some builds of uClibc.
104269         * doc/headers/wchar.texi: Update.
104270         * lib/wchar_.h: Include <wchar.h> only if it exists.
104271         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
104272         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
104273         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
104274         doesn't exist.
104275         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
104276         * modules/mbfile (Depends-on): Add wchar.
104277         * modules/mbiter (Depends-on): Likewise.
104278         * modules/mbuiter (Depends-on): Likewise.
104279         Reported by Simon Josefsson.
104281 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
104283         Work around problem reported by Steven M. Schweda in
104284         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
104285         Tru64 5.1B with the Compaq compiler environment installed declares
104286         an 'isblank' function but does not define it in the C library.
104287         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
104288         * lib/regex_internal.h (isblank): Likewise.
104289         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
104290         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
104292 2007-06-05  Bruno Haible  <bruno@clisp.org>
104294         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
104295         ia64.
104296         * modules/printf-safe: New file.
104297         * modules/fprintf-posix (Depends-on): Add printf-safe.
104298         * modules/printf-posix (Depends-on): Likewise.
104299         * modules/snprintf-posix (Depends-on): Likewise.
104300         * modules/sprintf-posix (Depends-on): Likewise.
104301         * modules/vasnprintf-posix (Depends-on): Likewise.
104302         * modules/vasprintf-posix (Depends-on): Likewise.
104303         * modules/vfprintf-posix (Depends-on): Likewise.
104304         * modules/vprintf-posix (Depends-on): Likewise.
104305         * modules/vsnprintf-posix (Depends-on): Likewise.
104306         * modules/vsprintf-posix (Depends-on): Likewise.
104307         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
104308         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
104309         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
104310         "no" on i386, x86_64, ia64.
104311         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
104312         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104313         on i386, x86_64, ia64.
104314         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
104315         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104316         on i386, x86_64, ia64.
104317         * tests/test-vasnprintf-posix.c: Include float.h.
104318         (LDBL80_WORDS): New macro.
104319         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104320         on i386, x86_64, ia64.
104321         * tests/test-vasprintf-posix.c: Include float.h.
104322         (LDBL80_WORDS): New macro.
104323         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104324         on i386, x86_64, ia64.
104325         * tests/test-snprintf-posix.c: Include float.h.
104326         * tests/test-sprintf-posix.c: Likewise.
104327         * tests/test-vsnprintf-posix.c: Likewise.
104328         * tests/test-vsprintf-posix.c: Likewise.
104330 2007-06-05  Bruno Haible  <bruno@clisp.org>
104332         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
104333         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
104334         non-IEEE numbers on i386, x86_64, ia64.
104335         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
104336         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
104337         * tests/test-isnanl.h: Include float.h.
104338         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
104340 2007-06-05  Bruno Haible  <bruno@clisp.org>
104342         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
104343         also the %a / %A. Handle the %a / %A code before this extra handling.
104345 2007-06-05  Bruno Haible  <bruno@clisp.org>
104347         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
104348         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
104350 2007-06-05  Bruno Haible  <bruno@clisp.org>
104352         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
104353         typo in variable name.
104355 2007-06-05  Eric Blake  <ebb9@byu.net>
104357         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
104358         Reported by Simon Josefsson.
104360 2007-06-04  Bruno Haible  <bruno@clisp.org>
104362         Avoid test failures on some PowerPC platforms.
104363         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
104364         Define differently for PowerPC.
104365         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
104366         Reported by Gary V. Vaughan <gary@gnu.org>.
104368 2007-06-02  Bruno Haible  <bruno@clisp.org>
104370         Fix test-stdint failure on FreeBSD/ia64.
104371         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
104372         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
104373         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
104374         * doc/headers/stdint.texi: Update.
104376 2007-06-01  Bruno Haible  <bruno@clisp.org>
104378         * tests/test-binary-io.c (main): Pass a third argument to open().
104379         Reported by Gary V. Vaughan <gary@gnu.org>.
104381 2007-06-01  Bruno Haible  <bruno@clisp.org>
104383         * doc/functions/frexpl.texi: Update for mingw.
104385 2007-06-01  Bruno Haible  <bruno@clisp.org>
104387         * tests/test-lseek.c (main): Disable test of errno for invalid third
104388         argument.
104389         * doc/functions/lseek.texi: Update.
104390         Reported by Gary V. Vaughan <gary@gnu.org>.
104392 2007-05-28  Bruno Haible  <bruno@clisp.org>
104394         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
104396 2007-05-31  Eric Blake  <ebb9@byu.net>
104398         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
104399         cross compiling.
104401 2007-05-30  Eric Blake  <ebb9@byu.net>
104402         and Bruno Haible  <bruno@clisp.org>
104404         Work around mingw test failures exposed by m4-1.4.9b.
104405         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
104406         * tests/test-unistd.c: Disable uid_t and git_t tests for the
104407         moment.
104409 2007-05-30  Bruno Haible  <bruno@clisp.org>
104411         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
104412         assuming that they are closed. Needed on HP-UX 11.
104414 2007-05-29  Bruno Haible  <bruno@clisp.org>
104416         Fix a problem with #include_next.
104417         * lib/dirent_.h: Split the double-inclusion guard.
104418         * lib/fcntl_.h: Likewise.
104419         * lib/float_.h: Likewise.
104420         * lib/iconv_.h: Likewise.
104421         * lib/inttypes_.h: Likewise.
104422         * lib/locale_.h: Likewise.
104423         * lib/math_.h: Likewise.
104424         * lib/netinet_in_.h: Likewise.
104425         * lib/search_.h: Likewise.
104426         * lib/signal_.h: Likewise.
104427         * lib/stdint_.h: Likewise.
104428         * lib/stdio_.h: Likewise.
104429         * lib/stdlib_.h: Likewise.
104430         * lib/string_.h: Likewise.
104431         * lib/sys_select_.h: Likewise.
104432         * lib/sys_socket_.h: Likewise.
104433         * lib/sys_stat_.h: Likewise.
104434         * lib/sys_time_.h: Likewise.
104435         * lib/sysexits_.h: Likewise.
104436         * lib/time_.h: Likewise.
104437         * lib/unistd_.h: Likewise.
104438         * lib/wchar_.h: Likewise.
104439         * lib/wctype_.h: Likewise.
104441 2007-05-29  Bruno Haible  <bruno@clisp.org>
104443         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
104444         for the moment.
104446 2007-05-29  Bruno Haible  <bruno@clisp.org>
104448         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
104449         invocation.
104450         Reported by Eric Blake.
104452 2007-05-29  Bruno Haible  <bruno@clisp.org>
104454         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
104455         compiling case.
104457 2007-05-29  Eric Blake  <ebb9@byu.net>
104458             Bruno Haible  <bruno@clisp.org>
104460         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
104461         cross compiles.
104463 2007-05-28  Eric Blake  <ebb9@byu.net>
104465         * modules/closein-tests (test_closein_LDADD): Support test on
104466         cygwin with libtool.
104468 2007-05-28  Bruno Haible  <bruno@clisp.org>
104470         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
104471         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
104472         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
104473         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
104474         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
104475         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
104476         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
104477         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
104478         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
104480 2007-05-28  Eric Blake  <ebb9@byu.net>
104482         Unconditionally include <config.h> in unit tests.
104483         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
104484         * tests/test-allocsa.c, tests/test-arcfour.c,
104485         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
104486         tests/test-array_list.c, tests/test-array_oset.c,
104487         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
104488         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
104489         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
104490         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
104491         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
104492         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
104493         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
104494         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
104495         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
104496         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
104497         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
104498         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
104499         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
104500         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
104501         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
104502         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
104503         test-md5.c, test-memmem.c, test-printf-posix.c,
104504         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
104505         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
104506         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
104507         test-strcasestr.c, test-striconv.c, test-striconveh.c,
104508         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
104509         test-vasnprintf-posix2.c, test-vasnprintf.c,
104510         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
104511         test-vfprintf-posix.c, test-vprintf-posix.c,
104512         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
104513         test-xvasprintf.c: Likewise.
104515 2007-05-28  Bruno Haible  <bruno@clisp.org>
104517         * gnulib-tool (func_import): Remember the --with-tests command-line
104518         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
104519         Reported by Eric Blake.
104521 2007-05-28  Bruno Haible  <bruno@clisp.org>
104523         * modules/ftell-tests: New file.
104524         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
104525         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
104527         * lib/ftell.c: New file.
104528         * modules/ftell: New file.
104529         * m4/ftell.m4: New file.
104530         * doc/functions/ftell.texi: Update.
104531         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
104532         REPLACE_FTELL.
104533         * lib/stdio_.h (rpl_ftell): New declaration.
104534         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
104535         REPLACE_FTELL.
104537 2007-05-28  Eric Blake  <ebb9@byu.net>
104539         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
104541 2007-05-28  Bruno Haible  <bruno@clisp.org>
104543         * modules/fseek-tests: New file.
104544         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
104545         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
104547         * lib/fseek.c: New file.
104548         * modules/fseek: New file.
104549         * m4/fseek.m4: New file.
104550         * doc/functions/fseek.texi: Update.
104551         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
104552         REPLACE_FSEEK.
104553         * lib/stdio_.h (rpl_fseek): New declaration.
104554         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
104555         REPLACE_FSEEK.
104557 2007-05-28  Bruno Haible  <bruno@clisp.org>
104559         * lib/stdio_.h (fflush): More comments.
104561 2007-05-28  Bruno Haible  <bruno@clisp.org>
104563         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
104564         runtime test.
104566 2007-05-28  Eric Blake  <ebb9@byu.net>
104568         Improve lseek module.
104569         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
104570         * lib/unistd_.h (lseek): Scale back link warning message.
104571         * tests/test-lseek.c: Beef up test.
104572         * tests/test-lseek.sh: Exercise more facets of lseek.
104573         Reported by Bruno Haible.
104575 2007-05-28  Bruno Haible  <bruno@clisp.org>
104577         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
104578         to define.
104580 2007-05-27  Bruno Haible  <bruno@clisp.org>
104582         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
104584 2007-05-27  Bruno Haible  <bruno@clisp.org>
104586         * modules/openmp: New file.
104587         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
104588         Noah Misch.
104590 2007-05-26  Bruno Haible  <bruno@clisp.org>
104592         * modules/chdir-long (Depends-on): Add fchdir.
104593         * modules/chdir-safer (Depends-on): Likewise.
104594         * modules/fts (Depends-on): Likewise.
104595         * modules/fts-lgpl (Depends-on): Likewise.
104596         * modules/openat (Depends-on): Likewise.
104597         * modules/savewd (Depends-on): Likewise.
104599 2007-05-24  Eric Blake  <ebb9@byu.net>
104601         Fix lseek on mingw.
104602         * modules/lseek: New module.
104603         * m4/lseek.m4: New file.
104604         * lib/lseek.c: New file.
104605         * modules/lseek-tests: New file.
104606         * tests/test-lseek.c: New file.
104607         * tests/test-lseek.sh: New file.
104608         * MODULES.html.sh: Document lseek module.
104609         * modules/fflush (Depends-on): Add lseek, fseeko.
104610         * modules/fseeko (Depends-on): Likewise.
104611         * modules/ftello (Depends-on): Likewise.
104612         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
104613         broken.
104614         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
104615         broken.
104616         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
104617         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
104618         * lib/ftello.c (rpl_ftello): Likewise.
104619         * tests/test-fseeko.c (main): Test this.
104620         * tests/test-fseeko.sh: Likewise.
104621         * tests/test-ftello.c (main): Likewise.
104622         * tests/test-ftello.sh: Likewise.
104623         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
104624         implies replacing fseek.
104625         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
104626         HAVE_FTELLO.
104627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
104628         * modules/unistd (Makefile.am): Likewise.
104629         * lib/unistd_.h (lseek): Declare a replacement.
104630         * doc/functions/lseek.texi (lseek): Document this fix.
104631         * doc/functions/fseek.texi (fseek): Likewise.
104632         * doc/functions/ftell.texi (ftell): Likewise.
104634 2007-05-24  Bruno Haible  <bruno@clisp.org>
104636         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
104637         in the printed representation of a NaN.
104638         * tests/test-vasprintf-posix.c (test_function): Likewise.
104639         * tests/test-snprintf-posix.h (test_function): Likewise.
104640         * tests/test-sprintf-posix.h (test_function): Likewise.
104641         Reported by Eric Blake.
104643 2007-05-23  Eric Blake  <ebb9@byu.net>
104645         Fix fseeko/ftello on cygwin 1.5.24.
104646         * doc/functions/fseeko.texi (fseeko): Document the fix.
104647         * doc/functions/ftello.texi (ftello): Document the fix.
104648         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
104649         * doc/functions/stdout.text (stdout): New file.
104650         * doc/functions/stderr.text (stderr): New file.
104651         * doc/gnulib.texi (Function Substitutes): Use new files.
104652         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
104653         prior to 1.7.0.
104654         * tests/test-ftello.c (main): Likewise for ftello.
104655         * tests/test-fseeko.sh: New file.
104656         * tests/test-ftello.sh: New file.
104657         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
104658         with seekable stdin.
104659         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
104660         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
104661         (gl_REPLACE_FSEEKO): New macro.
104662         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
104663         * modules/fseeko (Files): Distribute fseeko.c.
104664         * modules/ftello (Files): Distribute ftello.c.
104665         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
104666         mode.
104667         * lib/ftello.c (rpl_ftello): New file.
104668         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
104669         fseeko, ftello.
104670         (gl_STDIN_LARGE_OFFSET): New macro.
104671         * modules/stdio (Makefile.am): Perform the replacement.
104672         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
104674 2007-05-23  Bruno Haible  <bruno@clisp.org>
104676         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
104677         GNULIB_POSIXCHECK is defined.
104679 2007-05-21  Bruno Haible  <bruno@clisp.org>
104681         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
104682         Check also the output for NaN arguments. When cross-compiling, guess
104683         no on IRIX.
104684         * lib/vasnprintf.c: Update comments.
104685         * tests/test-vasnprintf-posix.c (strisnan): New function.
104686         (test_function): Use it.
104687         * tests/test-vasprintf-posix.c (strisnan): New function.
104688         (test_function): Use it.
104689         * tests/test-snprintf-posix.h (strisnan): New function.
104690         (test_function): Use it.
104691         * tests/test-sprintf-posix.h (strisnan): New function.
104692         (test_function): Use it.
104693         Reported by Eric Blake.
104695 2007-05-20  Bruno Haible  <bruno@clisp.org>
104697         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
104698         numbers that fails on BeOS.
104699         * doc/functions/frexpl.texi: Update.
104701 2007-05-20  Jim Meyering  <jim@meyering.net>
104703         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
104704         forced upon us by glibc-2.6.
104706 2007-05-20  Bruno Haible  <bruno@clisp.org>
104708         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
104709         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
104710         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
104711         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
104712         NEED_PRINTF_INFINITE.
104713         (is_infinitel): New function.
104714         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
104715         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
104716         gl_PREREQ_VASNPRINTF_INFINITE.
104717         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
104718         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104719         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
104720         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
104721         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
104722         gl_PREREQ_VASNPRINTF_INFINITE.
104723         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104724         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104725         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104726         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104727         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104728         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104729         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104730         * doc/functions/fprintf.texi: Update.
104731         * doc/functions/printf.texi: Update.
104732         * doc/functions/snprintf.texi: Update.
104733         * doc/functions/sprintf.texi: Update.
104734         * doc/functions/vfprintf.texi: Update.
104735         * doc/functions/vprintf.texi: Update.
104736         * doc/functions/vsnprintf.texi: Update.
104737         * doc/functions/vsprintf.texi: Update.
104739 2007-05-20  Bruno Haible  <bruno@clisp.org>
104741         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
104742         was not found in libc.
104743         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
104745 2007-05-20  Bruno Haible  <bruno@clisp.org>
104747         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104748         printed as "-nan" instead of "nan".
104749         * tests/test-vasprintf-posix.c (test_function): Likewise.
104750         * tests/test-snprintf-posix.h (test_function): Likewise.
104751         * tests/test-sprintf-posix.h (test_function): Likewise.
104752         Needed for HP-UX 11.
104754 2007-05-20  Jim Meyering  <jim@meyering.net>
104756         Fix buggy test for the fchownat-deref bug.
104757         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
104758         symlink required for the run-test.  Without it, this test would
104759         always declare that fchownat doesn't work, and client code would
104760         unnecessarily use the replacement function with fixed libc.
104761         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
104762         Reported by Greg Schafer.
104764 2007-05-19  Bruno Haible  <bruno@clisp.org>
104766         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
104767         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
104768         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
104769         Needed for IRIX 6.5 and Solaris 2.5.1.
104771 2007-05-19  Bruno Haible  <bruno@clisp.org>
104773         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
104774         (test_function): Skip tests involving -0.0 on platforms where
104775         -0.0 = 0.0.
104776         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
104777         (test_function): Skip tests involving -0.0 on platforms where
104778         -0.0 = 0.0.
104779         * tests/test-snprintf-posix.h (have_minus_zero): New function.
104780         (test_function): Skip tests involving -0.0 on platforms where
104781         -0.0 = 0.0.
104782         * tests/test-sprintf-posix.h (have_minus_zero): New function.
104783         (test_function): Skip tests involving -0.0 on platforms where
104784         -0.0 = 0.0.
104785         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
104786         tests.
104787         * tests/test-printf-posix.h (test_function): Likewise.
104788         * tests/test-printf-posix.output: Remove all -0.0 related results.
104789         Needed for IRIX 6.5.
104791 2007-05-19  Bruno Haible  <bruno@clisp.org>
104793         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104794         printed as "nan0x7fffffff" instead of "nan".
104795         * tests/test-vasprintf-posix.c (test_function): Likewise.
104796         * tests/test-snprintf-posix.h (test_function): Likewise.
104797         * tests/test-sprintf-posix.h (test_function): Likewise.
104798         * tests/test-fprintf-posix.h (NaN): Remove macro.
104799         (test_function): Remove all NaN related tests.
104800         * tests/test-printf-posix.h (NaN): Remove macro.
104801         (test_function): Remove all NaN related tests.
104802         * tests/test-printf-posix.output: Remove all NaN related results.
104803         Needed for IRIX 6.5.
104805 2007-05-19  Bruno Haible  <bruno@clisp.org>
104807         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
104808         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
104810 2007-05-19  Bruno Haible  <bruno@clisp.org>
104812         * lib/float_.h: New file.
104813         * m4/float_h.m4: New file.
104814         * modules/float: New file.
104815         * modules/isnanl (Dependencies): Add float.
104816         * modules/isnanl-nolibm (Dependencies): Likewise.
104817         * modules/mathl (Dependencies): Likewise.
104818         * modules/printf-frexpl (Dependencies): Likewise.
104819         * modules/signbit (Dependencies): Likewise.
104820         * modules/vasnprintf (Dependencies): Likewise.
104821         * doc/headers/float.texi: Update.
104823 2007-05-19  Jim Meyering  <jim@meyering.net>
104825         * lib/utimens.c (gl_futimens): Rename from futimens,
104826         now that glibc-2.6 declares futimens.
104827         * lib/utimens.h: Likewise.
104829 2007-05-19  Bruno Haible  <bruno@clisp.org>
104831         Avoid test failures on mingw.
104832         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
104833         * tests/test-printf-posix.sh: Likewise.
104834         * tests/test-vfprintf-posix.sh: Likewise.
104835         * tests/test-vprintf-posix.sh: Likewise.
104837 2007-05-19  Bruno Haible  <bruno@clisp.org>
104839         Fix *printf result for NaN, Inf, -0.0 on mingw.
104840         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
104841         * lib/vasnprintf.c: Include math.h and isnan.h.
104842         (is_infinite_or_zero): New function.
104843         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
104844         values in the %f, %F, %e, %E, %g, %G directives.
104845         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
104846         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104847         gl_PRINTF_INFINITE and test its result. Invoke
104848         gl_PREREQ_VASNPRINTF_INFINITE.
104849         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104850         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104851         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104852         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104853         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104854         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104855         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104856         * doc/functions/fprintf.texi: Update.
104857         * doc/functions/printf.texi: Update.
104858         * doc/functions/snprintf.texi: Update.
104859         * doc/functions/sprintf.texi: Update.
104860         * doc/functions/vfprintf.texi: Update.
104861         * doc/functions/vprintf.texi: Update.
104862         * doc/functions/vsnprintf.texi: Update.
104863         * doc/functions/vsprintf.texi: Update.
104865 2007-05-19  Bruno Haible  <bruno@clisp.org>
104867         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
104868         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
104869         Instead of multiplying with 10^k, set extra_zeroes to k.
104870         (scale10_round_long_double): Remove function.
104872 2007-05-18  Bruno Haible  <bruno@clisp.org>
104874         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
104875         introduced on 2007-05-06.
104877 2007-05-18  Bruno Haible  <bruno@clisp.org>
104879         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
104880         %g directives.
104881         * tests/test-vasprintf-posix.c (test_function): Likewise.
104882         * tests/test-snprintf-posix.h (test_function): Likewise.
104883         * tests/test-sprintf-posix.h (test_function): Likewise.
104885 2007-05-18  Bruno Haible  <bruno@clisp.org>
104887         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
104888         (strmatch): New function.
104889         (test_function): Test the %f directive on numbers of various exponents.
104890         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
104891         (strmatch): New function.
104892         (test_function): Test the %f directive on numbers of various exponents.
104893         * tests/test-snprintf-posix.h (strmatch): New function.
104894         (test_function): Test the %f directive on numbers of various exponents.
104895         * tests/test-sprintf-posix.h (strmatch): New function.
104896         (test_function): Test the %f directive on numbers of various exponents.
104897         * tests/test-snprintf-posix.c (SIZEOF): New macro.
104898         * tests/test-sprintf-posix.c (SIZEOF): New macro.
104899         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
104900         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
104902 2007-05-18  Bruno Haible  <bruno@clisp.org>
104904         Add support for 'long double' number output.
104905         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
104906         * lib/vasnprintf.c: Include math.h and float+.h.
104907         (mp_limb_t): New type.
104908         (GMP_LIMB_BITS): New macro.
104909         (mp_twolimb_t): New type.
104910         (GMP_TWOLIMB_BITS): New macro.
104911         (mpn_t): New type.
104912         (multiply, divide, convert_to_decimal, decode_long_double,
104913         scale10_round_long_double, scale10_round_decimal_long_double,
104914         floorlog10l): New functions.
104915         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
104916         for the %f, %F, %e, %E, %g, %G directives.
104917         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
104918         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104919         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
104920         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
104921         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104922         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104923         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104924         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104925         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104926         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104927         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104928         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
104929         * modules/snprintf-posix (Depends-on): Likewise.
104930         * modules/sprintf-posix (Depends-on): Likewise.
104931         * modules/vasnprintf-posix (Depends-on): Likewise.
104932         * modules/vasprintf-posix (Depends-on): Likewise.
104933         * modules/vfprintf-posix (Depends-on): Likewise.
104934         * modules/vsnprintf-posix (Depends-on): Likewise.
104935         * modules/vsprintf-posix (Depends-on): Likewise.
104936         * modules/vasnprintf (Files): Add lib/float+.h.
104937         * doc/functions/fprintf.texi: Update.
104938         * doc/functions/printf.texi: Update.
104939         * doc/functions/snprintf.texi: Update.
104940         * doc/functions/sprintf.texi: Update.
104941         * doc/functions/vfprintf.texi: Update.
104942         * doc/functions/vprintf.texi: Update.
104943         * doc/functions/vsnprintf.texi: Update.
104944         * doc/functions/vsprintf.texi: Update.
104946 2007-05-18  Bruno Haible  <bruno@clisp.org>
104948         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
104950 2007-05-18  Bruno Haible  <bruno@clisp.org>
104952         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
104953         for printing 64-bit integers. Needed for mingw.
104955 2007-05-18  Bruno Haible  <bruno@clisp.org>
104957         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
104958         gl_FUNC_FREXPL_WORKS.
104959         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
104961 2007-05-18  Bruno Haible  <bruno@clisp.org>
104963         * modules/frexpl-nolibm-tests: New file.
104965         * modules/frexpl-nolibm: New file.
104966         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
104968 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
104970         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
104971         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104972         GCC 4.2, which otherwise issues a lot of warnings.
104973         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
104974         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
104975         Likewise.
104976         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
104977         * modules/iconv_open (iconv.h): Likewise.
104978         * modules/locale (locale.h): Likewise.
104979         * modules/netinet_in (netinet/in.h): Likewise.
104980         * modules/sys_select (sys_select.h): Likewise.
104981         * modules/sys_socket (sys/socket.h): Likewise.
104982         * modules/sys_stat (sys/stat.h): Likewise.
104983         * modules/sysexits (sysexits.h): Likewise.
104984         * modules/unistd (unistd.h): Likewise.
104986 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104988         * modules/closein-tests (Makefile.am): Distribute
104989         `test-closein.sh'.
104991 2007-05-17  Bruno Haible  <bruno@clisp.org>
104993         * tests/test-printf-posix.output: Renamed from
104994         tests/test-fprintf-posix.out.
104995         * modules/fprintf-posix-tests: Update.
104996         * modules/printf-posix-tests: Update.
104997         * modules/vfprintf-posix-tests: Update.
104998         * modules/vprintf-posix-tests: Update.
104999         * tests/test-fprintf-posix.sh: Update.
105000         * tests/test-printf-posix.sh: Update.
105001         * tests/test-vfprintf-posix.sh: Update.
105002         * tests/test-vprintf-posix.sh: Update.
105003         Reported by Ralf Wildenhues.
105005 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
105007         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
105008         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
105009         GCC 4.2, which otherwise issues a lot of warnings.
105010         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
105011         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
105012         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
105013         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
105014         it should no longer be needed.
105015         * lib/string_.h: Likewise.
105016         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
105017         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
105018         * modules/inttypes (inttypes.h): Likewise.
105019         * modules/math (math.h): Likewise.
105020         * modules/search (search.h): Likewise.
105021         * modules/signal (signal.h): Likewise.
105022         * modules/stdint (stdint.h): Likewise.
105023         * modules/stdio (stdio.h): Likewise.
105024         * modules/stdlib (stdlib.h): Likewise.
105025         * modules/string (string.h): Likewise.
105026         * modules/sys_time (sys/time.h): Likewise.
105027         * modules/time (time.h): Likewise.
105028         * modules/wchar (wchar.h): Likewise.
105029         * modules/wctype (wtype.h): Likewise.
105031 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
105033         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
105035 2007-05-13  Bruno Haible  <bruno@clisp.org>
105037         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
105038         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
105039         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
105040         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
105041         (gl_PREREQ_STRTOK_R): Don't require it here.
105043 2007-05-13  Bruno Haible  <bruno@clisp.org>
105045         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
105046         when used in C++ mode.
105048 2007-05-12  Bruno Haible  <bruno@clisp.org>
105050         * lib/linebuffer.h: Tweak doc.
105051         * lib/linebuffer.c: Likewise.
105053 2007-05-12  James Youngman  <jay@gnu.org>
105055         * lib/linebuffer.c (readlinebuffer_delim): New function,
105056         like readlinebuffer, but use a caller-specified delimiter.
105057         (readlinebuffer): Just call readlinebuffer_delim with '\n'
105058         as the delimiter.
105059         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
105061 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
105063         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
105064         * modules/openat (Files): Remove openat-die.c.
105065         (Depends-on): Add openat-die.
105066         * modules/openat-die: New module.
105068 2007-05-06  Bruno Haible  <bruno@clisp.org>
105070         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
105071         Update with info about Cygwin.
105072         * doc/functions/fprintf.texi: Update.
105073         * doc/functions/printf.texi: Update.
105074         * doc/functions/snprintf.texi: Update.
105075         * doc/functions/sprintf.texi: Update.
105076         * doc/functions/vfprintf.texi: Update.
105077         * doc/functions/vprintf.texi: Update.
105078         * doc/functions/vsnprintf.texi: Update.
105079         * doc/functions/vsprintf.texi: Update.
105080         Reported by Eric Blake.
105082 2007-05-06  Bruno Haible  <bruno@clisp.org>
105084         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
105085         padding ourselves for the floating-point directives.
105086         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
105087         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
105088         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105089         gl_PRINTF_FLAG_ZERO and test its result. Invoke
105090         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
105091         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105092         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105093         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105094         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105095         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105096         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105097         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105098         * tests/test-snprintf-posix.h (test_function): Also check the width
105099         and some flags in the %f directive.
105100         * tests/test-sprintf-posix.h (test_function): Likewise.
105101         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105102         * tests/test-vasprintf-posix.c (test_function): Likewise.
105103         * doc/functions/fprintf.texi: Update.
105104         * doc/functions/printf.texi: Update.
105105         * doc/functions/snprintf.texi: Update.
105106         * doc/functions/sprintf.texi: Update.
105107         * doc/functions/vfprintf.texi: Update.
105108         * doc/functions/vprintf.texi: Update.
105109         * doc/functions/vsnprintf.texi: Update.
105110         * doc/functions/vsprintf.texi: Update.
105112 2007-05-06  Bruno Haible  <bruno@clisp.org>
105114         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
105115         pass the ' flag character to sprintf or snprintf.
105116         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
105117         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
105118         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105119         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
105120         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
105121         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105122         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
105123         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105124         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105125         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105126         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105127         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105128         * tests/test-snprintf-posix.h (test_function): Also check the grouping
105129         flag.
105130         * tests/test-sprintf-posix.h (test_function): Likewise.
105131         * tests/test-vasnprintf-posix.c (test_function): Likewise.
105132         * tests/test-vasprintf-posix.c (test_function): Likewise.
105133         * doc/functions/fprintf.texi: Update.
105134         * doc/functions/printf.texi: Update.
105135         * doc/functions/snprintf.texi: Update.
105136         * doc/functions/sprintf.texi: Update.
105137         * doc/functions/vfprintf.texi: Update.
105138         * doc/functions/vprintf.texi: Update.
105139         * doc/functions/vsnprintf.texi: Update.
105140         * doc/functions/vsprintf.texi: Update.
105142 2007-05-01  Bruno Haible  <bruno@clisp.org>
105144         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
105146 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
105148         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
105149         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
105151 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
105153         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
105154         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
105155         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
105157 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
105159         * lib/argp-help.c (struct hol_entry): New member `ord'.
105160         (HOL_ENTRY_PTRCMP): Use ord for comparison
105161         (hol_sort): Initialize ord.
105163 2007-05-01  Bruno Haible  <bruno@clisp.org>
105165         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
105166         Reported by Eric Blake.
105167         * doc/gnulib.texi (Function Substitutes): Update.
105169 2007-05-01  Bruno Haible  <bruno@clisp.org>
105171         * doc/functions.texi: Remove file, now redundant through
105172         doc/functions/*.texi.
105174 2007-05-01  Bruno Haible  <bruno@clisp.org>
105176         * modules/argp (Depends-on): Add sleep.
105178 2007-05-01  Bruno Haible  <bruno@clisp.org>
105180         * modules/sleep-tests: New file.
105181         * tests/test-sleep.c: New file.
105183         * modules/sleep: New file.
105184         * lib/sleep.c: New file.
105185         * m4/sleep.m4: New file.
105186         * lib/unistd_.h (sleep): New declaration.
105187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
105188         HAVE_SLEEP.
105189         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
105190         * doc/functions/sleep.texi: Document the sleep module.
105192 2007-05-01  Bruno Haible  <bruno@clisp.org>
105194         * lib/sigprocmask.h: Remove file.
105195         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
105196         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
105197         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
105198         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
105199         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
105200         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
105201         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
105202         HAVE_SIGSET_T as a shell variable.
105203         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
105204         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
105205         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
105206         (Depends-on): Add signal. Remove verify.
105207         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
105208         (Include): Mention <signal.h> instead of sigprocmask.h.
105209         * NEWS: Mention the change.
105210         * lib/fatal-signal.c: Don't include sigprocmask.h.
105212 2007-05-01  Bruno Haible  <bruno@clisp.org>
105214         * modules/signal: New file.
105215         * lib/signal_.h: New file.
105216         * m4/signal_h.m4: New file.
105218 2007-05-01  Bruno Haible  <bruno@clisp.org>
105220         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
105221         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
105222         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
105223         HAVE_WCTYPE_CTMP_BUG into wctype.h.
105225 2007-05-01  Bruno Haible  <bruno@clisp.org>
105227         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
105228         configure time.
105229         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
105230         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
105231         * modules/sys_stat (Makefile.am): Substitute their values into
105232         sys/stat.h.
105234 2007-05-01  Bruno Haible  <bruno@clisp.org>
105236         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
105237         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
105238         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
105240 2007-05-01  Bruno Haible  <bruno@clisp.org>
105242         * doc/header/assert.texi: Undo last change: don't mention the gnulib
105243         'assert' module here.
105245 2007-05-01  Bruno Haible  <bruno@clisp.org>
105247         * doc/functions/*.texi: New files.
105248         * doc/functions/google-ranking.txt: New file.
105249         * doc/gnulib.texi (Function Substitutes): New chapter.
105250         (ctime, inet_ntoa): Remove sections.
105251         * doc/ctime.texi: Remove file.
105252         * doc/inet_ntoa.texi: Remove file.
105253         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
105254         dependencies.
105255         (%.info): New rule, specifying a --reference-limit.
105257 2007-05-01  Bruno Haible  <bruno@clisp.org>
105259         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
105261 2007-05-01  Bruno Haible  <bruno@clisp.org>
105263         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
105264         the portability of 'mkdir' to mingw systems.
105266 2007-05-01  Bruno Haible  <bruno@clisp.org>
105268         * doc/headers/google-ranking.txt: New file.
105270 2007-04-30  Eric Blake  <ebb9@byu.net>
105272         Prefer fseeko to fseek.
105273         * modules/getpass (Depends-on): Add fseeko.
105274         * lib/getpass.c (getpass): Use fseeko, not fseek.
105276 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
105278         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
105279         assumes the sorting is stable, while most qsort implementations
105280         are not.  Use argument addresses to ensure they never compare as
105281         equal.
105283         * tests/test-argp-2.sh (usage-indent test): Fix output
105284         (func_compare): Restore diff options
105285         * tests/test-argp.c: Restore #include "progname.h"
105287 2007-04-29  Bruno Haible  <bruno@clisp.org>
105289         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
105290         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105291         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
105292         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105293         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
105294         (configure.ac): Define CHECK_SNPRINTF_POSIX.
105295         (TESTS, check_PROGRAMS): Add test-snprintf.
105296         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
105297         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
105298         (TESTS, check_PROGRAMS): Add test-vsnprintf.
105299         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
105300         assertions that fail on HP-UX, OSF/1, or IRIX.
105301         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
105303 2007-04-29  Bruno Haible  <bruno@clisp.org>
105305         * MODULES.html.sh (posix_functions): Remove 'contents'.
105307 2007-04-29  Karl Berry  <karl@gnu.org>
105309         * config/srclist.txt (gendocs_template_min): new entry.
105311 2007-04-29  Bruno Haible  <bruno@clisp.org>
105313         Work around fpurge bug on BSD systems.
105314         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
105315         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
105316         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
105317         fpurge to rpl_fpurge if the system already has this function.
105318         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
105319         the case where the system already has this function. Correct invariants
105320         on BSD systems.
105321         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
105322         BSD systems.
105324 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
105326         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
105327         proposed by Sven Verdoolaege.
105329         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
105330         options.
105331         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
105332         (usage and help tests): Update
105334 2007-04-29  Bruno Haible  <bruno@clisp.org>
105336         * tests/test-fflush.c (main): Use a file of size 17, not 10.
105337         Print more information in case of failure. Disable a test on BeOS.
105339 2007-04-29  Bruno Haible  <bruno@clisp.org>
105341         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
105342         This helps debugging on systems on which no gdb is available.
105344 2007-04-29  Bruno Haible  <bruno@clisp.org>
105346         * lib/freading.h: Improve comments.
105347         * lib/fwriting.h: Likewise.
105348         * tests/test-freading.c (main): Don't check freading immediately after
105349         repositioning. Needed for glibc.
105351 2007-04-29  Bruno Haible  <bruno@clisp.org>
105353         * lib/freading.c (freading): Trivial simplification.
105355 2007-04-28  Bruno Haible  <bruno@clisp.org>
105357         * tests/test-fwriting.c (main): Also test the interaction between
105358         fflush and fwriting.
105359         * modules/fwriting-tests (Depends-on): Add fflush.
105361         * tests/test-freading.c (main): Also test the interaction between
105362         fflush and freading.
105363         * modules/freading-tests (Depends-on): Add fflush.
105365 2007-04-28  Bruno Haible  <bruno@clisp.org>
105367         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
105368         fseeko and ftello.
105369         Suggested by Eric Blake.
105371 2007-04-28  Jim Meyering  <jim@meyering.net>
105373         Avoid false-negative in gl_STDINT_H's C99 conformance test.
105374         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
105375         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
105377 2007-04-27  Eric Blake  <ebb9@byu.net>
105379         * doc/headers/assert.texi (assert.h): Document assert module use.
105381 2007-04-27  Bruno Haible  <bruno@clisp.org>
105383         * doc/headers/*.texi: New files.
105384         * doc/gnulib.texi (Header File Substitutes): New chapter.
105385         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
105386         dependencies.
105387         (standards.info ,standards.html, standards.dvi): Update dependencies.
105388         (mostlyclean, clean): New targets.
105390 2007-04-27  Bruno Haible  <bruno@clisp.org>
105392         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
105393         * modules/sysexits (Files, Makefile.am): Update.
105395         * lib/sys_socket_.h: Renamed from lib/socket_.h.
105396         * modules/sys_socket (Files, Makefile.am): Update.
105398         * lib/sys_stat_.h: Renamed from lib/stat_.h.
105399         * modules/sys_stat (Files, Makefile.am): Update.
105401 2007-04-27  Eric Blake  <ebb9@byu.net>
105403         * lib/freading.h: Improve comments.
105404         * lib/fwriting.h: Likewise.
105405         * lib/fflush.c: Likewise.
105407         Fix closein for mingw.
105408         * modules/closein-tests: Add tests for closein.
105409         * tests/test-closein.c: New file.
105410         * tests/test-closein.sh: Likewise.
105411         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
105412         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
105414 2007-04-27  Bruno Haible  <bruno@clisp.org>
105416         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
105417         version is < 6.
105418         * lib/math_.h [__DECC]: Likewise.
105419         * lib/stdio_.h [__DECC]: Likewise.
105420         * lib/stdlib_.h [__DECC]: Likewise.
105421         * lib/string_.h [__DECC]: Likewise.
105422         * lib/time_.h [__DECC]: Likewise.
105423         * lib/wchar_.h [__DECC]: Likewise.
105424         * lib/wctype_.h [__DECC]: Likewise.
105426 2007-04-27  Bruno Haible  <bruno@clisp.org>
105428         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
105430 2007-04-27  Bruno Haible  <bruno@clisp.org>
105432         * lib/fflush.c: Add comments.
105433         * modules/fpurge-tests (Depends-on): Add fflush.
105434         * modules/freadable-tests (Depends-on): Likewise.
105435         * modules/fwritable-tests (Depends-on): Likewise.
105437 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
105439         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
105440         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
105441         Report by Bruno Haible <bruno@clisp.org>.
105443 2007-04-26  Eric Blake  <ebb9@byu.net>
105445         Fix fflush on mingw.
105446         * modules/fflush (Depends-on): Add freading.
105447         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
105448         but unread data.
105450 2007-04-26  Eric Blake  <ebb9@byu.net>
105451         and Bruno Haible  <bruno@clisp.org>
105453         Implement freading and fwriting.
105454         * lib/freading.c: New file.
105455         * lib/freading.h: Likewise.
105456         * m4/freading.m4: Likewise.
105457         * modules/freading: Likewise.
105458         * modules/freading-tests: Likewise.
105459         * tests/test-freading.c: Likewise.
105460         * lib/fwriting.c: New file.
105461         * lib/fwriting.h: Likewise.
105462         * m4/fwriting.m4: Likewise.
105463         * modules/fwriting: Likewise.
105464         * modules/fwriting-tests: Likewise.
105465         * tests/test-fwriting.c: Likewise.
105466         * MODULES.html.sh (File stream based Input/Output): Mention them.
105468 2007-04-26  Bruno Haible  <bruno@clisp.org>
105470         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
105471         'long' when we assume it.
105472         Suggested by Eric Blake.
105474 2007-04-26  Bruno Haible  <bruno@clisp.org>
105476         Ensure fseeko, ftello are declared on glibc systems.
105477         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
105478         * modules/fseeko (configure.ac-early): Likewise.
105479         * modules/ftello (configure.ac-early): Likewise.
105480         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
105481         AC_FUNC_FSEEKO for this.
105482         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
105483         (gl_CHECK_FSEEKO): Remove macro.
105485 2007-04-26  Bruno Haible  <bruno@clisp.org>
105487         * tests/test-fflush.c (main): Also check the ftell result after
105488         fflush and fseek/fseeko.
105489         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
105490         file descriptor position cache in the stream.
105491         * lib/fseeko.c (rpl_fseeko): Likewise.
105493 2007-04-26  Bruno Haible  <bruno@clisp.org>
105495         * modules/fflush-tests (Depends-on): Add fseeko.
105497 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
105498             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105500         * lib/argz_.h: ensure error_t definition is obtained in same
105501         mechanism system argz.h would have.
105502         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
105503         argz facilities are known bad.  Err on the side of caution if
105504         cross-compiling.
105506 2007-04-25  Eric Blake  <ebb9@byu.net>
105508         * lib/fpurge.c (includes): Use stdlib.h for free.
105509         * tests/test-fflush.c (main): Also test fflush-fseeko.
105511 2007-04-25  Bruno Haible  <bruno@clisp.org>
105513         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
105514         * lib/fseeko.c: New file.
105515         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
105516         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
105517         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
105518         gl_FUNC_FSEEKO.
105519         (gl_FUNC_FSEEKO): Invoke it.
105520         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
105521         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
105522         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
105524 2007-04-25  Bruno Haible  <bruno@clisp.org>
105526         * modules/fflush (Depends-on): Add ftello.
105528 2007-04-25  Bruno Haible  <bruno@clisp.org>
105530         * modules/ftello-tests: New file.
105531         * tests/test-ftello.c: New file.
105533         * modules/ftello: New file.
105534         * m4/ftello.m4: New file.
105535         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
105536         HAVE_FTELLO.
105537         * lib/stdio_.h (ftello): New declaration.
105538         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
105539         HAVE_FTELLO.
105541 2007-04-25  Bruno Haible  <bruno@clisp.org>
105543         * modules/fseeko-tests: New file.
105544         * tests/test-fseeko.c: New file.
105546         * modules/fseeko: New file.
105547         * m4/fseeko.m4: New file.
105548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
105549         HAVE_FSEEKO.
105550         * lib/stdio_.h (fseeko): New declaration.
105551         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
105552         HAVE_FSEEKO.
105554 2007-04-25  Bruno Haible  <bruno@clisp.org>
105556         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
105558 2007-04-25  Bruno Haible  <bruno@clisp.org>
105560         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
105561         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
105562         * tests/test-unistd.c: Likewise.
105563         * tests/test-fcntl.c: Likewise.
105565 2007-04-23  Eric Blake  <ebb9@byu.net>
105567         * lib/fflush.c: Fix missing include.
105568         Reported by Bruno Haible.
105570 2007-04-23  Bruno Haible  <bruno@clisp.org>
105572         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
105573         Reported by Eric Blake.
105575 2007-04-23  Bruno Haible  <bruno@clisp.org>
105577         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
105579 2007-04-23  Bruno Haible  <bruno@clisp.org>
105581         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
105583 2007-04-23  Bruno Haible  <bruno@clisp.org>
105585         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
105586         Needed on HP-UX 11.
105588 2007-04-16  Eric Blake  <ebb9@byu.net>
105590         Make fflush rely on fpurge.
105591         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
105592         open coding all variants.
105593         * modules/fflush (Depends-on): Add fpurge and unistd.
105594         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
105595         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
105597         Fix --with-tests compilation on cygwin.
105598         * modules/argmatch-tests (Makefile.am): List gnulib library first
105599         in LDADD.
105600         * modules/argp-tests (Makefile.am): Likewise.
105601         * modules/array-list-tests (Makefile.am): Likewise.
105602         * modules/array-oset-tests (Makefile.am): Likewise.
105603         * modules/avltree-list-tests (Makefile.am): Likewise.
105604         * modules/avltree-oset-tests (Makefile.am): Likewise.
105605         * modules/avltreehash-list-tests (Makefile.am): Likewise.
105606         * modules/carray-list-tests (Makefile.am): Likewise.
105607         * modules/dirname-tests (Makefile.am): Likewise.
105608         * modules/frexp-tests (Makefile.am): Likewise.
105609         * modules/isnanl-tests (Makefile.am): Likewise.
105610         * modules/linked-list-tests (Makefile.am): Likewise.
105611         * modules/linkedhash-list-tests (Makefile.am): Likewise.
105612         * modules/lock-tests (Makefile.am): Likewise.
105613         * modules/rbtree-list-tests (Makefile.am): Likewise.
105614         * modules/rbtree-oset-tests (Makefile.am): Likewise.
105615         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
105616         * modules/tls-tests (Makefile.am): Likewise.
105617         * modules/tsearch-tests (Makefile.am): Likewise.
105618         * modules/xvasprintf-tests (Makefile.am): Likewise.
105620         Fix fpurge for cygwin.
105621         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
105622         value.
105623         * modules/fpurge-tests (Depends-on): Clean up trash.
105625 2007-04-16  Simon Josefsson  <simon@josefsson.org>
105627         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
105629         * m4/autobuild.m4: Re-indent.
105631 2007-04-13  Bruno Haible  <bruno@clisp.org>
105633         * modules/fpurge-tests: New file.
105634         * tests/test-fpurge.c: New file.
105636         * modules/fpurge: New file.
105637         * lib/fpurge.h: New file.
105638         * lib/fpurge.c: New file.
105639         * m4/fpurge.m4: New file.
105641 2007-04-13  Bruno Haible  <bruno@clisp.org>
105643         * modules/fbufmode-tests: New file.
105644         * tests/test-fbufmode.c: New file.
105646         * modules/fbufmode: New file.
105647         * lib/fbufmode.h: New file.
105648         * lib/fbufmode.c: New file.
105649         * m4/fbufmode.m4: New file.
105651 2007-04-13  Bruno Haible  <bruno@clisp.org>
105653         * modules/fwritable-tests: New file.
105654         * tests/test-fwritable.c: New file.
105656         * modules/fwritable: New file.
105657         * lib/fwritable.h: New file.
105658         * lib/fwritable.c: New file.
105659         * m4/fwritable.m4: New file.
105661 2007-04-13  Bruno Haible  <bruno@clisp.org>
105663         * modules/freadable-tests: New file.
105664         * tests/test-freadable.c: New file.
105666         * modules/freadable: New file.
105667         * lib/freadable.h: New file.
105668         * lib/freadable.c: New file.
105669         * m4/freadable.m4: New file.
105671 2007-04-13  Bruno Haible  <bruno@clisp.org>
105673         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
105674         MOSTLYCLEANFILES.
105676 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105678         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
105679         gzip bootstrap.conf to avoid dragging in i18n machinery.
105680         (gnulib_tool_option): Use it.
105682 2007-04-13  Bruno Haible  <bruno@clisp.org>
105684         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
105685         %F directives.
105686         * tests/test-vasprintf-posix.c (test_function): Likewise.
105687         * tests/test-snprintf-posix.h (test_function): Likewise.
105688         * tests/test-sprintf-posix.h (test_function): Likewise.
105689         * tests/test-fprintf-posix.h (test_function): Likewise.
105690         * tests/test-printf-posix.h (test_function): Likewise.
105691         * tests/test-fprintf-posix.out: Likewise.
105693 2007-04-13  Bruno Haible  <bruno@clisp.org>
105695         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
105696         * modules/tls-tests (configure.ac): Likewise.
105697         Reported by Arto C. Nirkko <anirkko@insel.ch>.
105699 2007-04-13  Bruno Haible  <bruno@clisp.org>
105701         * lib/tls.c (glthread_tls_get): Fix return type.
105702         Patch by Arto C. Nirkko <anirkko@insel.ch>.
105704 2007-04-12  Eric Blake  <ebb9@byu.net>
105706         * modules/gettime (Depends-on): Remove gettime.
105707         Reported by Dmitry V. Levin.
105709 2007-04-12  Bruno Haible  <bruno@clisp.org>
105711         * modules/fflush (Include): Mention <stdio.h>.
105712         * modules/strtoimax (Include): Mention <inttypes.h>.
105713         * modules/strtoumax (Include): Likewise.
105715 2007-04-12  Eric Blake  <ebb9@byu.net>
105717         * .cvsignore: New file.
105718         * .gitignore: Likewise.
105720 2007-04-12  Bruno Haible  <bruno@clisp.org>
105722         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
105723         not before, since $(LDADD) often contains libgnu.a.
105724         * modules/striconv-tests (test_striconv_LDADD): Likewise.
105725         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
105726         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
105727         Needed on Cygwin.
105729 2007-04-12  Eric Blake  <ebb9@byu.net>
105731         Work around glibc's failure to flush stdin on fclose.
105732         * lib/closein.c (close_stdin): Flush stdin before closing.
105734         Work around glibc's failure to reset seekable stdin on exit.
105735         * modules/closein: New module.
105736         * lib/closein.c: New file.
105737         * lib/closein.h: Likewise.
105738         * m4/closein.m4: Likewise.
105739         * MODULES.html.sh (File stream based Input/Output): Document it.
105741 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105743         * gnulib-tool: Rename generated 'autobuild' script to
105744         'do-autobuild' in --create-megatestdir output.
105746         * doc/gnulib.texi (Build robot for gnulib): Fix.
105748 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105750         * modules/sysexits (Depends-on): Add absolute-header.
105752 2007-04-12  Eric Blake  <ebb9@byu.net>
105754         No need to preserve errno on success.
105755         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
105756         Reported by Bruno Haible.
105758 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105760         * MODULES.html.sh (Support for maintaining and releasing
105761         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
105763 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105765         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
105767 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105769         * modules/autobuild: New module.
105771         * m4/autobuild.m4: New file.
105773 2007-04-11  Bruno Haible  <bruno@clisp.org>
105775         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
105776         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
105777         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
105778         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
105779         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105780         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105781         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105782         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105783         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105784         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105785         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
105786         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105787         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105788         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
105789         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105790         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105791         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
105792         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105793         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105794         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
105795         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105796         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105797         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
105798         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105799         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105800         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
105801         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105802         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105803         Reported by Eric Blake.
105805 2007-04-11  Bruno Haible  <bruno@clisp.org>
105807         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
105809 2007-04-10  Bruno Haible  <bruno@clisp.org>
105811         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
105812         for NaN and Infinity. Needed on FreeBSD 6.1.
105813         * tests/test-vasnprintf-posix.c (test_function): Undo last change
105814         regarding results for "%010a" of Infinity and NaN.
105815         * tests/test-vasprintf-posix.c (test_function): Likewise.
105816         * tests/test-snprintf-posix.h (test_function): Likewise.
105817         * tests/test-sprintf-posix.h (test_function): Likewise.
105818         * tests/test-fprintf-posix.h (test_function): Likewise.
105819         * tests/test-printf-posix.h (test_function): Likewise.
105820         * tests/test-fprintf-posix.out: Likewise.
105822 2007-04-10  Bruno Haible  <bruno@clisp.org>
105824         * modules/locale-tests: New file.
105825         * tests/test-locale.c: New file.
105827         * modules/locale: New file.
105828         * lib/locale_.h: New file.
105829         * m4/locale_h.m4: New file.
105831 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
105832             Bruno Haible  <bruno@clisp.org>
105834         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
105835         be determined, test for availability of the copysignf, copysign,
105836         copysignl functions.
105837         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
105838         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
105839         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
105841 2007-04-09  Eric Blake  <ebb9@byu.net>
105843         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
105844         * modules/stdio (Makefile.am): Support fflush.
105845         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
105846         * modules/fflush: New file.
105847         * lib/fflush.c: Likewise.
105848         * m4/fflush.m4: Likewise.
105849         * modules/fflush-tests: New test.
105850         * tests/test-fflush.c: Likewise.
105851         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
105853 2007-04-06  Bruno Haible  <bruno@clisp.org>
105855         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
105856         (VASNPRINTF): Use signbit for faster determination whether to print a
105857         minus sign.
105858         * modules/vasnprintf (Files): Remove lib/float+.h.
105859         * modules/fprintf-posix (Depends-on): Add signbit.
105860         * modules/snprintf-posix (Depends-on): Likewise.
105861         * modules/sprintf-posix (Depends-on): Likewise.
105862         * modules/vasnprintf-posix (Depends-on): Likewise.
105863         * modules/vasprintf-posix (Depends-on): Likewise.
105864         * modules/vfprintf-posix (Depends-on): Likewise.
105865         * modules/vsnprintf-posix (Depends-on): Likewise.
105866         * modules/vsprintf-posix (Depends-on): Likewise.
105868 2007-04-06  Bruno Haible  <bruno@clisp.org>
105870         * tests/test-frexp.c (main): Test also the sign bit of zero results.
105871         * tests/test-frexpl.c (main): Likewise.
105872         * tests/test-ldexpl.c (main): Likewise.
105873         * modules/frexp-tests (Depends-on): Add signbit.
105874         * modules/frexpl-tests (Depdends-on): Likewise.
105875         * modules/ldexpl-tests (Depdends-on): Likewise.
105877 2007-04-06  Bruno Haible  <bruno@clisp.org>
105879         * modules/signbit-tests: New file.
105880         * tests/test-signbit.c: New file.
105882         * modules/signbit: New file.
105883         * lib/signbitf.c: New file.
105884         * lib/signbitd.c: New file.
105885         * lib/signbitl.c: New file.
105886         * m4/signbit.m4: New file.
105887         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
105888         (signbit): New macro.
105889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
105890         REPLACE_SIGNBIT.
105891         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
105892         REPLACE_FREXPL into math.h.
105894 2007-04-06  Bruno Haible  <bruno@clisp.org>
105896         * modules/isnanf-nolibm-tests: New file.
105897         * tests/test-isnanf.c: New file.
105899         * modules/isnanf-nolibm: New file.
105900         * lib/isnanf.h: New file.
105901         * lib/isnanf.c: New file.
105902         * lib/isnan.c: Consider the USE_FLOAT macro.
105903         * m4/isnanf.m4: New file.
105905 2007-04-06  Bruno Haible  <bruno@clisp.org>
105907         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
105908         (Link): New section.
105910         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
105912 2007-04-06  Bruno Haible  <bruno@clisp.org>
105914         Assume the 'long double' type.
105915         * m4/longdouble.m4: Remove file.
105916         * config/srclist.txt: Don't mention longdouble.m4.
105917         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
105918         * lib/float+.h: Likewise.
105919         * lib/frexp.c: Likewise.
105920         * lib/printf-args.h: Likewise.
105921         * lib/printf-args.c: Likewise.
105922         * lib/printf-frexp.c: Likewise.
105923         * lib/printf-parse.c: Likewise.
105924         * lib/vasnprintf.c: Likewise.
105925         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
105926         * m4/intl.m4: Likewise.
105927         * m4/isnanl.m4: Likewise.
105928         * m4/printf.m4: Likewise.
105929         * m4/printf-frexpl.m4: Likewise.
105930         * m4/vasnprintf.m4: Likewise.
105931         * modules/allocsa (Files): Remove m4/longdouble.m4.
105932         * modules/gettext (Files): Likewise.
105933         * modules/relocatable-prog-wrapper (Files): Likewise.
105934         * modules/vasnprintf (Files): Likewise.
105935         * modules/isnanl (Files): Likewise.
105936         (Include): Simplify.
105937         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
105938         (Include): Simplify.
105939         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
105940         (Include): Simplify.
105941         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
105942         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105943         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
105944         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105945         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105946         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105947         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
105948         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105949         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105950         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105951         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
105952         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105953         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
105954         * tests/test-isnanl.c: Likewise.
105955         * tests/test-snprintf-posix.h: Likewise.
105956         * tests/test-sprintf-posix.h: Likewise.
105957         * tests/test-vasnprintf-posix.c: Likewise.
105958         * tests/test-vasnprintf-posix2.c: Likewise.
105959         * tests/test-vasprintf-posix.c: Likewise.
105961 2007-04-06  Bruno Haible  <bruno@clisp.org>
105963         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
105964         * lib/math_.h [__DECC]: Include the overridden include file through
105965         #include_next, outside the double-inclusion guard.
105966         * lib/stdio_.h [__DECC]: Likewise.
105967         * lib/stdlib_.h [__DECC]: Likewise.
105968         * lib/string_.h [__DECC]: Likewise.
105969         * lib/time_.h [__DECC]: Likewise.
105970         * lib/wchar_.h [__DECC]: Likewise.
105971         * lib/wctype_.h [__DECC]: Likewise.
105972         * lib/inttypes_.h [__DECC]: Likewise.
105973         Reported by Albert Chin <china@thewrittenword.com> in
105974         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
105976 2007-04-04  Eric Blake  <ebb9@byu.net>
105978         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
105979         1.5.x.
105981 2007-04-04  Bruno Haible  <bruno@clisp.org>
105983         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
105984         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
105986 2007-04-04  Bruno Haible  <bruno@clisp.org>
105988         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
105989         results for "%010a" of Infinity and NaN.
105990         * tests/test-vasprintf-posix.c (test_function): Likewise.
105991         * tests/test-snprintf-posix.h (test_function): Likewise.
105992         * tests/test-sprintf-posix.h (test_function): Likewise.
105993         * tests/test-fprintf-posix.h (test_function): Remove these tests.
105994         * tests/test-printf-posix.h (test_function): Likewise.
105995         * tests/test-fprintf-posix.out: Update.
105996         Needed for FreeBSD 6.1.
105998 2007-04-04  Bruno Haible  <bruno@clisp.org>
106000         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
106001         directly used by the gnulib modules nor by gnulib-tool.
106003 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
106005         * DEPENDENCIES: Give overall description of version dependency
106006         desirability.  Use more-typical names for apps.
106007         Add shell, coreutils, diffutils, grep, tar, gzip.
106009 2007-04-04  Simon Josefsson  <simon@josefsson.org>
106011         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
106013 2007-04-04  Karl Berry  <karl@gnu.org>
106015         * MODULES.html.sh (func_module): missing '.
106017 2007-04-03  Bruno Haible  <bruno@clisp.org>
106019         * modules/argmatch-tests (Makefile.am): New variable
106020         test_argmatch_LDADD.
106021         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
106022         * modules/array-list-tests (Makefile.am): New variable
106023         test_array_list_LDADD.
106024         * modules/array-oset-tests (Makefile.am): New variable
106025         test_array_oset_LDADD.
106026         * modules/avltree-list-tests (Makefile.am): New variable
106027         test_avltree_list_LDADD.
106028         * modules/avltree-oset-tests (Makefile.am): New variable
106029         test_avltree_oset_LDADD.
106030         * modules/avltreehash-list-tests (Makefile.am): New variable
106031         test_avltreehash_list_LDADD.
106032         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
106033         test_canonicalize_lgpl_LDADD.
106034         * modules/carray-list-tests (Makefile.am): New variable
106035         test_carray_list_LDADD.
106036         * modules/dirname-tests (Makefile.am): New variable
106037         test_dirname_LDADD.
106038         * modules/linked-list-tests (Makefile.am): New variable
106039         test_linked_list_LDADD.
106040         * modules/linkedhash-list-tests (Makefile.am): New variable
106041         test_linkedhash_list_LDADD.
106042         * modules/rbtree-list-tests (Makefile.am): New variable
106043         test_rbtree_list_LDADD.
106044         * modules/rbtree-oset-tests (Makefile.am): New variable
106045         test_rbtree_oset_LDADD.
106046         * modules/rbtreehash-list-tests (Makefile.am): New variable
106047         test_rbtreehash_list_LDADD.
106048         * modules/xvasprintf-tests (Makefile.am): New variable
106049         test_xvasprintf_LDADD.
106050         Reported by Eric Blake.
106052 2007-04-03  Eric Blake  <ebb9@byu.net>
106054         * DEPENDENCIES: Weaken m4 requirements.
106056 2007-04-03  Bruno Haible  <bruno@clisp.org>
106058         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
106059         * modules/isnanl-tests (configure.ac): Likewise.
106061 2007-04-03  Ben Pfaff  <blp@gnu.org>
106063         * modules/iconv_open: Add $(srcdir)/ to source directory
106064         references in Makefile fragments that call gperf, to fix VPATH
106065         builds.
106067 2007-04-03  Bruno Haible  <bruno@clisp.org>
106069         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
106070         * lib/ldexpl.c: Undo last change.
106072 2007-04-03  Bruno Haible  <bruno@clisp.org>
106074         * modules/printf-frexpl (Depends-on): Undo last change.
106075         (Files): Add m4/ldexpl.m4.
106077 2007-04-03  Bruno Haible  <bruno@clisp.org>
106079         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
106080         * modules/isnanl (Link): New section.
106082         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
106083         * modules/frexp (Link): New section.
106085         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
106086         * modules/frexpl (Link): New section.
106088         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
106089         * modules/ldexpl (Link): New section.
106091 2007-04-03  Bruno Haible  <bruno@clisp.org>
106093         * modules/TEMPLATE-EXTENDED: New file.
106094         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
106096 2007-04-03  Bruno Haible  <bruno@clisp.org>
106098         * DEPENDENCIES: New file.
106099         Suggested by Simon Josefsson.
106101 2007-04-03  Bruno Haible  <bruno@clisp.org>
106103         * doc/gnulib.texi: Escape @.
106105 2007-04-03  James Youngman  <jay@gnu.org>
106106         and Paul Eggert  <eggert@cs.ucla.edu>
106108         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
106109         birthtime on all systems that have birthtime, not just those which
106110         use st_birthtimensec rather than st_birthtim.  Putting zero in
106111         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
106112         that the birth time is not available for files on an NFS mount.
106114 2007-04-03  Simon Josefsson  <simon@josefsson.org>
106116         * modules/memxor: Move back from crypto/, suggested by Bruno.
106117         * modules/crypto/hmac-sha1: Fix memxor dependency.
106119         * modules/crypto/gc: Moved from ../.
106121 2007-04-02  Eric Blake  <ebb9@byu.net>
106123         * lib/ldexpl.c (includes): Avoid libm.
106125         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
106127 2007-04-02  Bruno Haible  <bruno@clisp.org>
106129         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
106130         on IRIX.
106132 2007-04-02  Bruno Haible  <bruno@clisp.org>
106134         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
106135         x86 or x86_64 platforms running MacOS X.
106136         Reported by Ryan Schmidt <@ryandesign.com>.
106138 2007-04-02  Bruno Haible  <bruno@clisp.org>
106140         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
106141         i386.
106143 2007-04-01  Simon Josefsson  <simon@josefsson.org>
106145         * modules/crypto/arcfour: Moved from ../.
106146         * modules/crypto/arcfour-tests: Moved from ../.
106147         * modules/crypto/arctwo: Moved from ../.
106148         * modules/crypto/arctwo-tests: Moved from ../.
106149         * modules/crypto/des: Moved from ../.
106150         * modules/crypto/des-tests: Moved from ../.
106151         * modules/crypto/gc-arcfour: Moved from ../.
106152         * modules/crypto/gc-arcfour-tests: Moved from ../.
106153         * modules/crypto/gc-arctwo: Moved from ../.
106154         * modules/crypto/gc-arctwo-tests: Moved from ../.
106155         * modules/crypto/gc-des: Moved from ../.
106156         * modules/crypto/gc-des-tests: Moved from ../.
106157         * modules/crypto/gc-hmac-md5: Moved from ../.
106158         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
106159         * modules/crypto/gc-hmac-sha1: Moved from ../.
106160         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
106161         * modules/crypto/gc-md2: Moved from ../.
106162         * modules/crypto/gc-md2-tests: Moved from ../.
106163         * modules/crypto/gc-md4: Moved from ../.
106164         * modules/crypto/gc-md4-tests: Moved from ../.
106165         * modules/crypto/gc-md5: Moved from ../.
106166         * modules/crypto/gc-md5-tests: Moved from ../.
106167         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
106168         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
106169         * modules/crypto/gc-random: Moved from ../.
106170         * modules/crypto/gc-rijndael: Moved from ../.
106171         * modules/crypto/gc-rijndael-tests: Moved from ../.
106172         * modules/crypto/gc-sha1: Moved from ../.
106173         * modules/crypto/gc-sha1-tests: Moved from ../.
106174         * modules/crypto/gc-tests: Moved from ../.
106175         * modules/crypto/hmac-md5: Moved from ../.
106176         * modules/crypto/hmac-md5-tests: Moved from ../.
106177         * modules/crypto/hmac-sha1: Moved from ../.
106178         * modules/crypto/hmac-sha1-tests: Moved from ../.
106179         * modules/crypto/md2: Moved from ../.
106180         * modules/crypto/md2-tests: Moved from ../.
106181         * modules/crypto/md4: Moved from ../.
106182         * modules/crypto/md4-tests: Moved from ../.
106183         * modules/crypto/md5: Moved from ../.
106184         * modules/crypto/md5-tests: Moved from ../.
106185         * modules/crypto/memxor: Moved from ../.
106186         * modules/crypto/rijndael: Moved from ../.
106187         * modules/crypto/rijndael-tests: Moved from ../.
106188         * modules/crypto/sha1: Moved from ../.
106190 2007-03-30  James Youngman  <jay@gnu.org>
106192         * tests/test-stat-time.c (prepare_test): use chmod() rather than
106193         rename() to change the ctime of a file (because ctime is unaffected
106194         by rename on jfs2 on AIX 5.1).
106195         (main): Start by doing cleanup, in case a previous run failed leaving
106196         test files behind.
106198 2007-03-31  Bruno Haible  <bruno@clisp.org>
106200         Support old proprietary implementations of iconv.
106201         * modules/iconv_open: New file.
106202         * lib/iconv_.h: New file.
106203         * m4/iconv_h.m4: New file.
106204         * lib/iconv_open.c: New file.
106205         * lib/iconv_open-aix.gperf: New file.
106206         * lib/iconv_open-hpux.gperf: New file.
106207         * lib/iconv_open-irix.gperf: New file.
106208         * lib/iconv_open-osf.gperf: New file.
106209         * m4/iconv_open.m4: New file.
106210         * modules/linebreak (Depends-on): Add iconv_open.
106211         * modules/striconv (Depends-on): Likewise.
106212         * modules/striconveh (Depends-on): Likewise.
106213         * modules/unicodeio (Depends-on): Likewise.
106214         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
106215         (iconv_t)(-1).
106216         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
106217         conversion if cd is (iconv_t)(-1).
106218         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
106219         is not possible.
106221 2007-03-31  Bruno Haible  <bruno@clisp.org>
106223         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106224         work on Solaris either. Protect also second use of "autodetect_jp".
106226 2007-03-31  Bruno Haible  <bruno@clisp.org>
106228         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
106229         the function is not present.
106231 2007-03-31  Bruno Haible  <bruno@clisp.org>
106233         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
106234         the function is not present.
106236 2007-03-31  Bruno Haible  <bruno@clisp.org>
106238         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
106239         a bug in HP-UX iconv_open().
106241 2007-03-31  Bruno Haible  <bruno@clisp.org>
106243         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
106244         (Mathematics <math.h>): New section, add fpieee.
106245         (Input/output <stdio.h>): Add fseterr.
106246         (Mathematics <math.h>): New section, add printf-frexp.
106247         (Container data structures): Add sublist.
106248         (Core language properties): Add fpucw, inline.
106249         (Functions for greatest-width integer types <inttypes.h>): Add
106250         imaxabs, imaxdiv, inttypes.
106251         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
106252         isnanl-nolibm, ldexp.
106253         (Mathematics <math.h>): New section, add printf-frexpl.
106254         (Support for systems lacking POSIX:2001): Add fprintf-posix,
106255         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
106256         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
106257         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
106258         (Unicode string functions): Add unistr/u*-mbtoucr.
106259         (Java): Add javacomp-script, javaexec-script.
106260         (C#): Add csharpcomp-script, csharpexec-script.
106261         (Support for building libraries and executables): Add havelib,
106262         relocatable-*.
106263         (Support for maintaining and releasing projects): Renamed from
106264         'Support for maintaining and release projects'. Add announce-gen.
106266 2007-03-31  Bruno Haible  <bruno@clisp.org>
106268         * README: Talk primarily about git.
106269         (git and CVS): Renamed from CVS.
106270         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
106271         gnulib is available through git.
106272         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
106274 2007-03-30  Bruno Haible  <bruno@clisp.org>
106276         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
106277         * lib/poll_.h: Likewise.
106278         * lib/stat_.h: Likewise.
106279         * lib/sys_time_.h: Likewise.
106280         * lib/sysexit_.h: Likewise.
106281         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
106282         * lib/stdbool_.h: Likewise.
106283         * lib/byteswap_.h: Add double-inclusion guard.
106285 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
106287         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
106289 2007-03-30  Karl Berry  <karl@gnu.org>
106291         * config/srclist-update: double space after USA in the license
106292         substitution, since that's how it's usually (?) written.
106294 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
106296         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
106297         reported by Bruno Haible.
106299 2007-03-29  Bruno Haible  <bruno@clisp.org>
106301         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
106302         a bug in AIX iconv().
106304 2007-03-29  Bruno Haible  <bruno@clisp.org>
106306         * modules/ldexpl-tests: New file.
106307         * tests/test-ldexpl.c: New file.
106309 2007-03-29  Bruno Haible  <bruno@clisp.org>
106311         * lib/ldexpl.c: Include fpucw.h.
106312         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
106313         multiplication.
106314         * modules/ldexpl (Depends-on): Add fpucw.
106316 2007-03-29  Bruno Haible  <bruno@clisp.org>
106318         * modules/ldexpl: New file.
106319         * m4/ldexpl.m4: New file.
106320         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
106321         set.
106322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
106323         REPLACE_LDEXPL.
106324         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
106325         REPLACE_LDEXPL.
106326         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
106327         gl_FUNC_LDEXPL_WORKS.
106328         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
106329         * modules/mathl (Files): Remove lib/ldexpl.c.
106330         (Depends-on): Add ldexpl.
106332 2007-03-29  Bruno Haible  <bruno@clisp.org>
106334         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
106336 2007-03-29  Bruno Haible  <bruno@clisp.org>
106338         * tests/test-striconveh.c (main): Don't assume that a direct conversion
106339         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
106340         and possibly also HP-UX.
106341         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106342         work on AIX, IRIX, HP-UX, OSF/1.
106343         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
106344         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
106345         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
106346         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
106347         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
106348         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
106350 2007-03-29  Bruno Haible  <bruno@clisp.org>
106352         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
106354 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106356         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
106357         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
106359 2007-03-29  Eric Blake  <ebb9@byu.net>
106361         * lib/acl-internal.h: Remove redundant include.
106362         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
106363         Cygwin when a file is locked.
106365 2007-03-29  Bruno Haible  <bruno@clisp.org>
106367         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
106368         file.
106369         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
106371 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106373         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
106374         try to remove a parent directory if the child couldn't be removed
106375         (except for the first rmdir, which could fail because the child
106376         doesn't exist).  Problem reported by Jeff Blaine in
106377         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
106379 2007-03-28  Bruno Haible  <bruno@clisp.org>
106381         * lib/striconveh.c (utf8conv_carefully): New function.
106382         (mem_cd_iconveh_internal): Invoke it.
106384 2007-03-28  Bruno Haible  <bruno@clisp.org>
106386         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
106387         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
106388         input.
106389         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
106390         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
106391         unistr/u8-uctomb.
106393 2007-03-28  Bruno Haible  <bruno@clisp.org>
106395         * modules/unistr/u8-mbtoucr: New file.
106396         * lib/unistr/u8-mbtoucr.c: New file.
106397         * modules/unistr/u16-mbtoucr: New file.
106398         * lib/unistr/u16-mbtoucr.c: New file.
106399         * modules/unistr/u16-mbtoucr: New file.
106400         * lib/unistr/u16-mbtoucr.c: New file.
106401         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
106403 2007-03-27  Simon Josefsson  <simon@josefsson.org>
106404             Bruno Haible  <bruno@clisp.org>
106406         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
106407         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
106408         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
106410         * m4/stdio_h.m4: Add stubs for vasprintf too.
106412         * modules/stdio: Support vasprintf in sed command.
106414         * modules/vasprintf: Depend on stdio for prototypes.  Remove
106415         vasprintf.h.  Add stdio module indicator.
106417         * lib/stdio_.h: Declare asprintf and vasprintf, based on
106418         vasprintf.h.
106420         * lib/vasprintf.h: File removed.
106422         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
106423         * lib/vasprintf.c: Ditto.
106424         * lib/xvasprintf.c: Ditto.
106425         * tests/test-vasprintf-posix.c: Ditto.
106426         * tests/test-vasprintf.c: Ditto.
106428 2007-03-27  Bruno Haible  <bruno@clisp.org>
106430         Make vasnprintf multithread-safe.
106431         * lib/vasnprintf.c (decimal_point_char): New function.
106432         (VASNPRINTF): Use it.
106433         Suggested by Simon Josefsson.
106435 2007-03-27  Eric Blake  <ebb9@byu.net>
106437         Support sub-second birthtime on cygwin.
106438         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
106439         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
106440         (get_stat_birthtime): Also work with st_birthtim.
106442 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
106444         * lib/stat-time.h (USE_BIRTHTIME): Remove.
106445         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
106446         (get_stat_birthtime_ns): Do not try to use "spare" fields.
106447         (get_stat_birthtime_ns): Simplify compile-time tests.
106448         (get_stat_birthtime): Change the API to look like
106449         get_stat_mtime etc., except return a negative tv_nsec on error.
106450         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
106451         Don't check for "spare" fields.
106452         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
106453         or for struct stat.st_birthtime, as these tests aren't used.
106454         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
106456 2007-03-27  Bruno Haible  <bruno@clisp.org>
106458         * lib/stat-time.h: Include <sys/stat.h>.
106460 2007-03-27  James Youngman  <jay@gnu.org>
106462         * lib/stat-time.h (get_stat_birthtime): New function for
106463           retrieving st_birthtime as provided by UFS2 (hence *BSD).
106464         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
106465           and its variants.
106466         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
106467         * modules/stat-time-test: New file.
106468         * tests/test-stat-time.c: New test, devised by Bruno Haible.
106470 2007-03-26  Bruno Haible  <bruno@clisp.org>
106472         Better support of signalling NaNs.
106473         * lib/atanl.c: Include isnanl.h.
106474         (atanl): Perform test for NaN at the beginning of the function and
106475         through a call to isnanl.
106476         * lib/cosl.c: Include isnanl.h.
106477         (cosl): Perform test for NaN at the beginning of the function and
106478         through a call to isnanl.
106479         * lib/ldexpl.c: Include isnanl.h.
106480         (ldexpl): Perform test for NaN through a call to isnanl.
106481         * lib/logl.c: Include isnanl.h.
106482         (logl): Perform test for NaN at the beginning of the function and
106483         through a call to isnanl.
106484         * lib/sinl.c: Include isnanl.h.
106485         (sinl): Perform test for NaN at the beginning of the function and
106486         through a call to isnanl.
106487         * lib/sqrtl.c: Include isnanl.h.
106488         (sqrtl): Perform test for NaN at the beginning of the function and
106489         through a call to isnanl.
106490         * lib/tanl.c: Include isnanl.h.
106491         (tanl): Perform test for NaN at the beginning of the function and
106492         through a call to isnanl.
106493         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
106494         * modules/mathl (Depends-on): Add isnanl.
106496 2007-03-26  Eric Blake  <ebb9@byu.net>
106498         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
106499         regression in logic sense of previous patch.
106501 2007-03-26  Bruno Haible  <bruno@clisp.org>
106503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
106504         unportable shell command "if ! ...".
106505         Reported by Ralf Wildenhues.
106507 2007-03-25  Bruno Haible  <bruno@clisp.org>
106509         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
106510         <sysexits.h> file, and only add EX_CONFIG.
106511         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
106512         absolute file name and whether it is sufficient. Substitute also
106513         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
106514         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
106515         ABSOLUTE_SYSEXITS_H into sysexits.h.
106517 2007-03-25  Bruno Haible  <bruno@clisp.org>
106519         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
106520         hints is NULL.
106522 2007-03-25  Bruno Haible  <bruno@clisp.org>
106524         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
106525         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
106527 2007-03-25  Bruno Haible  <bruno@clisp.org>
106529         * lib/vasnprintf.c: Include langinfo.h.
106530         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
106531         multithread-safe.
106532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
106533         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
106534         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
106535         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106536         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106537         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106538         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
106539         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
106540         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106541         Reported by Simon Josefsson.
106543 2007-03-25  Bruno Haible  <bruno@clisp.org>
106545         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
106546         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
106547         * modules/vasnprintf (Depends-on): Add stdint.
106549 2007-03-25  Bruno Haible  <bruno@clisp.org>
106551         * modules/fpieee: New file.
106552         * m4/fpieee.m4: New file.
106553         * modules/isnan-nolibm (Depends-on): Add fpieee.
106554         * modules/isnanl-nolibm (Depends-on): Add fpieee.
106555         * modules/isnanl (Depends-on): Add fpieee.
106557 2007-03-25  Bruno Haible  <bruno@clisp.org>
106559         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
106561 2007-03-25  Bruno Haible  <bruno@clisp.org>
106563         Avoid test failures on IRIX 6.5.
106564         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
106565         (main): Use it.
106566         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
106567         macros.
106568         (main): Use them.
106570 2007-03-25  Bruno Haible  <bruno@clisp.org>
106572         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
106573         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
106574         exists but doesn't work.
106575         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
106576         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
106577         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
106578         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
106579         math.h.
106581 2007-03-25  Bruno Haible  <bruno@clisp.org>
106583         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
106584         returns inf. Needed on IRIX 6.5.
106586 2007-03-25  Bruno Haible  <bruno@clisp.org>
106588         * tests/test-frexpl.c: Include isnanl-nolibm.h.
106589         (main): Use isnanl instead of x != x idiom.
106590         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
106592         * tests/test-frexp.c: Include isnan.h.
106593         (main): Use isnan instead of x != x idiom.
106594         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
106596 2007-03-25  Bruno Haible  <bruno@clisp.org>
106598         * tests/test-frexp.c (NaN): New function/macro.
106599         (main): Use it instead of 0.0 / 0.0.
106600         * tests/test-isnan.c (NaN): New function/macro.
106601         (main): Use it instead of 0.0 / 0.0.
106602         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
106603         (test_function): Use it instead of 0.0 / 0.0.
106604         * tests/test-vasprintf-posix.c (NaN): New function/macro.
106605         (test_function): Use it instead of 0.0 / 0.0.
106606         * tests/test-snprintf-posix.h (NaN): New function/macro.
106607         (test_function): Use it instead of 0.0 / 0.0.
106608         * tests/test-sprintf-posix.h (NaN): New function/macro.
106609         (test_function): Use it instead of 0.0 / 0.0.
106610         * tests/test-fprintf-posix.h (NaN): New function/macro.
106611         (test_function): Use it instead of 0.0 / 0.0.
106612         * tests/test-printf-posix.h (NaN): New function/macro.
106613         (test_function): Use it instead of 0.0 / 0.0.
106615         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
106617 2007-03-25  Bruno Haible  <bruno@clisp.org>
106619         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
106621 2007-03-25  Bruno Haible  <bruno@clisp.org>
106623         * lib/regexec.c (merge_state_with_log): Make static.
106625 2007-03-25  Bruno Haible  <bruno@clisp.org>
106627         * lib/trigl.c (kernel_rem_pio2): Make static.
106629 2007-03-25  Bruno Haible  <bruno@clisp.org>
106631         * lib/sincosl.c (sincosl_table): Make static.
106633 2007-03-25  Bruno Haible  <bruno@clisp.org>
106635         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
106636         if the compiler does not support C99.
106638 2007-03-25  Bruno Haible  <bruno@clisp.org>
106640         * modules/time (Makefile.am): Ensure all rule action lines start with a
106641         tab.
106643 2007-03-24  Bruno Haible  <bruno@clisp.org>
106645         * modules/tsearch-tests: New file.
106646         * tests/test-tsearch.sh: New file.
106647         * tests/test-tsearch.c: New file, mostly copied from glibc.
106649         * modules/search-tests: New file.
106650         * tests/test-search.c: New file.
106652         * modules/search: New file.
106653         * lib/search_.h: New file, incorporating lib/tsearch.h.
106654         * m4/search_h.m4: New file.
106655         * lib/tsearch.h: Remove file.
106656         * lib/tsearch.c: Include search.h instead of tsearch.h.
106657         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
106658         HAVE_TSEARCH.
106659         * modules/tsearch (Files): Remove lib/tsearch.h.
106660         (Depends-on): Add search.
106661         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
106662         (Include): Change tsearch.h into search.h.
106664 2007-03-24  Bruno Haible  <bruno@clisp.org>
106666         * modules/fpucw: New file.
106667         * lib/fpucw.h: New file.
106668         * lib/frexp.c: Include fpucw.h.
106669         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106670         (FUNC): Use them.
106671         * lib/printf-frexp.c: Include fpucw.h.
106672         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106673         (FUNC): Use them.
106674         * lib/vasnprintf.c: Include fpucw.h.
106675         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
106676         'long double' calculations.
106677         * tests/test-frexpl.c: Include fpucw.h.
106678         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
106679         * tests/test-printf-frexpl.c: Include fpucw.h.
106680         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
106681         * modules/frexpl (Depends-on): Add fpucw.
106682         * modules/printf-frexpl (Depends-on): Likewise.
106683         * modules/fprintf-posix (Depends-on): Likewise.
106684         * modules/snprintf-posix (Depends-on): Likewise.
106685         * modules/sprintf-posix (Depends-on): Likewise.
106686         * modules/vasnprintf-posix (Depends-on): Likewise.
106687         * modules/vasprintf-posix (Depends-on): Likewise.
106688         * modules/vfprintf-posix (Depends-on): Likewise.
106689         * modules/vsnprintf-posix (Depends-on): Likewise.
106690         * modules/vsprintf-posix (Depends-on): Likewise.
106691         * modules/frexpl-tests (Depends-on): Likewise.
106692         * modules/printf-frexpl-tests (Depends-on): Likewise.
106694 2007-03-24  Bruno Haible  <bruno@clisp.org>
106696         * lib/float+.h: New file.
106697         * lib/isnan.c: Include float+.h.
106698         (SIZE): New macro.
106699         (FUNC): Compare only SIZE bytes of the value.
106700         * lib/vasnprintf.c: Include float+.h.
106701         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
106702         SIZEOF_LDBL or SIZEOF_DBL bytes.
106703         * modules/isnan-nolibm (Files): Add lib/float+.h.
106704         * modules/isnanl-nolibm (Files): Add lib/float+.h.
106705         * modules/isnanl (Files): Add lib/float+.h.
106706         * modules/vasnprintf (Files): Add lib/float+.h.
106708 2007-03-24  Bruno Haible  <bruno@clisp.org>
106710         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
106711         include isnanl-nolibm.h.
106713 2007-03-24  Bruno Haible  <bruno@clisp.org>
106715         * tests/test-read-file.c (main): Don't produce spurious output for
106716         expected situations. Make the test fail if it encountered unexpected
106717         results.
106719 2007-03-24  Bruno Haible  <bruno@clisp.org>
106721         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
106722         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
106724 2007-03-24  Bruno Haible  <bruno@clisp.org>
106726         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
106728 2007-03-24  Bruno Haible  <bruno@clisp.org>
106730         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
106731         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
106733         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
106734         * modules/utf8-ucs4: Turn into a symbolic link to module
106735         unistr/u8-mbtouc.
106737         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
106738         utf8-ucs4-unsafe.
106739         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
106740         unistr/u8-mbtouc-unsafe.
106742         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
106743         * modules/utf16-ucs4: Turn into a symbolic link to module
106744         unistr/u16-mbtouc.
106746         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
106747         utf16-ucs4-unsafe.
106748         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
106749         unistr/u16-mbtouc-unsafe.
106751         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
106752         * modules/ucs4-utf8: Turn into a symbolic link to module
106753         unistr/u8-ubtomb.
106755         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
106756         * modules/ucs4-utf16: Turn into a symbolic link to module
106757         unistr/u16-ubtomb.
106759 2007-03-24  Bruno Haible  <bruno@clisp.org>
106761         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
106762         Enable the function only if HAVE_INLINE.
106763         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
106764         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106765         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
106766         Enable the function only if HAVE_INLINE.
106767         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
106768         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106769         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
106770         Enable the function only if HAVE_INLINE.
106771         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
106772         Enable the function only if HAVE_INLINE.
106773         * modules/utf8-ucs4: Update.
106774         * modules/utf8-ucs4-unsafe: Update.
106775         * modules/utf16-ucs4: Update.
106776         * modules/utf16-ucs4-unsafe: Update.
106777         * modules/ucs4-utf8: Update.
106778         * modules/ucs4-utf16: Update.
106780 2007-03-24  Bruno Haible  <bruno@clisp.org>
106782         * lib/utf8-ucs4.h: Remove file.
106783         * lib/utf8-ucs4-unsafe.h: Remove file.
106784         * lib/utf16-ucs4.h: Remove file.
106785         * lib/utf16-ucs4-unsafe.h: Remove file.
106786         * lib/ucs4-utf8.h: Remove file.
106787         * lib/ucs4-utf16.h: Remove file.
106788         * lib/unistr.h: Include their previous contents.
106789         * m4/utf-ucs4.m4: Remove file.
106790         * m4/ucs4-utf.m4: Remove file.
106791         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
106792         (Depends-on): Add unistr/base.
106793         (configure.ac): Remove gl_UTF_UCS4.
106794         (Makefile.am): Update.
106795         (Include): Change to unistr.h.
106796         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
106797         (Depends-on): Add unistr/base.
106798         (configure.ac): Remove gl_UTF_UCS4.
106799         (Makefile.am): Update.
106800         (Include): Change to unistr.h.
106801         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
106802         (Depends-on): Add unistr/base.
106803         (configure.ac): Remove gl_UTF_UCS4.
106804         (Makefile.am): Update.
106805         (Include): Change to unistr.h.
106806         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
106807         (Depends-on): Add unistr/base.
106808         (configure.ac): Remove gl_UTF_UCS4.
106809         (Makefile.am): Update.
106810         (Include): Change to unistr.h.
106811         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
106812         (Depends-on): Add unistr/base.
106813         (configure.ac): Remove gl_UCS4_UTF.
106814         (Makefile.am): Update.
106815         (Include): Change to unistr.h.
106816         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
106817         (Depends-on): Add unistr/base.
106818         (configure.ac): Remove gl_UCS4_UTF.
106819         (Makefile.am): Update.
106820         (Include): Change to unistr.h.
106821         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
106822         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
106823         utf8-ucs4-unsafe.h.
106824         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
106825         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
106826         utf16-ucs4-unsafe.h.
106827         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
106828         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
106829         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
106830         * lib/unistr/u8-strchr.c: Likewise.
106831         * lib/unistr/u8-strrchr.c: Likewise.
106832         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
106833         * lib/unistr/u16-strchr.c: Likewise.
106834         * lib/unistr/u16-strrchr.c: Likewise.
106835         * lib/striconveh.c: Update.
106836         * lib/linebreak.c: Update.
106838 2007-03-24  Bruno Haible  <bruno@clisp.org>
106840         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
106841         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
106843 2007-03-22  Bruno Haible  <bruno@clisp.org>
106845         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
106847 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
106849         * MODULES.html.sh (File system functions): New module write-any-file.
106850         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
106851         * m4/write-any-file.m4: New files.
106853 2007-03-23  Eric Blake  <ebb9@byu.net>
106855         * gnulib-tool: Rearrange space-tab sequences, since some editors
106856         like to eat them.
106858 2007-03-23  Eric Blake  <ebb9@byu.net>
106860         * lib/version-etc.c (version_etc_va): Update license wording to
106861         be more concise.  Recommended by Richard Stallman.
106863 2007-03-22  Bruno Haible  <bruno@clisp.org>
106865         * lib/poll.c (MSG_PEEK): New fallback definition.
106867 2007-03-22  Bruno Haible  <bruno@clisp.org>
106869         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
106870         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
106871         (main): Update.
106872         Fixes a compilation error on BeOS.
106874 2007-03-22  Bruno Haible  <bruno@clisp.org>
106876         * modules/frexpl-tests: New file.
106877         * tests/test-frexpl.c: New file.
106879         * modules/frexpl: New file.
106880         * m4/frexpl.m4: New file.
106881         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
106882         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
106883         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
106884         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
106885         (Depends-on): Add frexpl. Remove isnanl-nolibm.
106886         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
106888 2007-03-22  Bruno Haible  <bruno@clisp.org>
106890         * lib/frexpl.c: Share code with lib/frexp.c.
106891         * modules/mathl (Files): Add lib/frexp.c.
106892         (Depends-on): Add isnanl-nolibm.
106894 2007-03-22  Bruno Haible  <bruno@clisp.org>
106896         * modules/printf-frexp (Files): Add m4/frexp.m4.
106897         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
106898         only if the found frexp function actually works.
106900 2007-03-22  Bruno Haible  <bruno@clisp.org>
106902         * lib/frexp.c: Remove older implementation that uses divisions.
106904 2007-03-21  Bruno Haible  <bruno@clisp.org>
106906         * modules/frexp-tests: New file.
106907         * tests/test-frexp.c: New file.
106909         * modules/frexp: New file.
106910         * lib/frexp.c: New file.
106911         * m4/frexp.m4: New file.
106912         * lib/math_.h (frexp): New declaration.
106913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
106914         REPLACE_FREXP.
106915         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
106917 2007-03-21  Bruno Haible  <bruno@clisp.org>
106919         * modules/isnanl-tests: New file.
106920         * tests/test-isnanl.c: New file.
106922         * modules/isnanl: New file.
106923         * lib/isnanl.h: New file.
106924         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
106925         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
106926         gl_FUNC_ISNANL_WORKS.
106927         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
106928         New macros.
106930 2007-03-21  Bruno Haible  <bruno@clisp.org>
106932         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
106933         lib/isnanl.h.
106934         (Include): Update.
106935         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
106936         * lib/vasnprintf.c: Update.
106937         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
106938         tests/test-isnanl.h, remove tests/test-isnanl.c.
106939         (Makefile.am): Update.
106940         * tests/test-isnanl-nolibm.c: New file.
106941         * tests/test-isnanl.h: New file.
106942         * tests/test-isnanl.c: Remove file.
106944 2007-03-21  Jim Meyering  <jim@meyering.net>
106946         When trying to open ".", treat ESTALE like EACCES.
106947         * lib/savewd.c (savewd_save): Resort to forking not just upon
106948         failure with EACCES, but also when errno is ESTALE.
106950 2007-03-20  Bruno Haible  <bruno@clisp.org>
106952         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
106953         Needed on AIX 5.1. Reported by Matthew Woehlke.
106955 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106957         Suggestions by Bruno Haible:
106958         * lib/acl-internal.h: Include "gettext.h" rather than rolling
106959         our own.
106960         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
106961         * modules/acl (Depends-on): Add gettext.
106963 2007-03-19  Bruno Haible  <bruno@clisp.org>
106965         * modules/iconvme: Remove file.
106966         * lib/iconvme.h: Remove file.
106967         * lib/iconvme.c: Remove file.
106968         * m4/iconvme.m4: Remove file.
106970 2007-03-19  Bruno Haible  <bruno@clisp.org>
106972         * doc/relocatable-maint.texi: Break long shell script line.
106973         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106975 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106977         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
106978         handle file_has_acl.
106979         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
106980         * lib/acl.c: Move header inclusions and related macro defns into
106981         lib/acl-internal.h.
106982         (S_ISLNK): Remove defn, since that's now done for us.
106983         (file_has_acl): Move to lib/file-has-acl.c.
106984         Call acl_trivial if available.  This is the crucial part of the fix.
106985         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
106986         shared within the library.  Rewrite a bit, partly to make it compatible
106987         with the GNU coding style.
106988         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
106989         Remove unnecessary double-quotes.
106990         Don't test for acl_to_text; the build will catch that.
106991         Replace acl_entries if it doesn't exist and it is needed.
106992         Check for -lsec and acl_trivial (as used on Solaris 10).
106993         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
106994         lib/file-has-acl.c.
106995         (Depends-on): Add sys_stat, for S_ISLNK.
106997 2007-03-19  Ben Pfaff  <blp@gnu.org>
106999         * doc/gnulib.texi: Fix typos.
107000         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
107002 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
107004         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
107005         If size is zero here, buf must be zero.
107007 2007-03-19  Simon Josefsson  <simon@josefsson.org>
107009         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
107010         <bruno@clisp.org>.
107012 2007-03-18  Bruno Haible  <bruno@clisp.org>
107014         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
107015         Suggested by Eric Blake.
107017 2007-03-18  Ben Pfaff  <blp@gnu.org>
107019         * doc/relocatable.texi: Recommend using as prefix a directory
107020         that does not exist and will never be created.  Based on
107021         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
107022         and others.
107024 2007-03-17  Bruno Haible  <bruno@clisp.org>
107026         * lib/fchownat.c: Include lchown.h.
107028 2007-03-17  Bruno Haible  <bruno@clisp.org>
107030         Fix endless loop when the given allocated size was > INT_MAX.
107031         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
107032         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
107033         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
107034         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
107035         * lib/sprintf.c (sprintf): Likewise.
107037 2007-03-17  Bruno Haible  <bruno@clisp.org>
107039         * tests/test-argp-2.sh (func_compare): Output a context diff.
107041 2007-03-17  Bruno Haible  <bruno@clisp.org>
107043         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
107044         locale's decimal-point character.
107046 2007-03-17  Bruno Haible  <bruno@clisp.org>
107048         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
107049         before comparing it. Needed because on some platforms (e.g. x86) a
107050         'long double' occupies less bytes than sizeof (long double).
107052 2007-03-17  Bruno Haible  <bruno@clisp.org>
107054         * tests/test-crc.c (main): Make printf statements 64-bit clean.
107055         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
107056         * tests/test-getaddrinfo.c (simple): Likewise.
107057         * tests/test-read-file.c (main): Likewise.
107059 2007-03-17  Bruno Haible  <bruno@clisp.org>
107061         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
107063 2007-03-17  Bruno Haible  <bruno@clisp.org>
107065         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
107066         unused variable.
107068 2007-03-17  Bruno Haible  <bruno@clisp.org>
107070         * tests/test-c-strcasecmp.c: Include c-strcase.h.
107071         * tests/test-c-strncasecmp.c: Likewise.
107073 2007-03-17  Bruno Haible  <bruno@clisp.org>
107075         * modules/stdlib (Depends-on): Add unistd.
107076         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
107077         Needed for MacOS X 10.3.
107079 2007-03-17  Bruno Haible  <bruno@clisp.org>
107081         * lib/unistr/u-strdup.h: Include <stdlib.h>.
107083 2007-03-17  Bruno Haible  <bruno@clisp.org>
107085         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
107087 2007-03-17  Bruno Haible  <bruno@clisp.org>
107089         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
107090         to reflect files copied from gnulib (with or without modifications).
107091         Suggested by Jim Meyering.
107093 2007-03-17  Eric Blake  <ebb9@byu.net>
107095         * NEWS: Document stdlib change from 2007-02-18.
107097 2007-03-17  Jim Meyering  <jim@meyering.net>
107099         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
107100         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
107101         someone uses a name containing shell meta-characters.
107102         Reported by Alfred M. Szmidt.
107104         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
107106 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107108         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
107109         and copy gettext configuration files only if configure.ac contains
107110         a use of AM_GNU_GETTEXT_VERSION.
107112 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
107114         * build-aux/bootstrap (gnulib_name): New variable.
107115         (gnulib_tool_options): Use it.
107117 2007-03-13  Simon Josefsson  <simon@josefsson.org>
107119         * tests/test-des.c: Use new namespace.
107121 2007-03-15  Bruno Haible  <bruno@clisp.org>
107123         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
107124         Reported by James Youngman <jay@gnu.org>.
107126 2007-03-15  Bruno Haible  <bruno@clisp.org>
107128         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
107129         declared prototype. Needed with cc on OSF/1 5.1.
107131 2007-03-15  Bruno Haible  <bruno@clisp.org>
107133         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
107134         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
107135         (struct gl_list_implementation): Add dispose_fn argument to the
107136         'create_empty', 'create' methods.
107137         (struct gl_list_impl_base): Add field 'dispose_fn'.
107138         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
107139         argument.
107140         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
107141         dispose_fn argument.
107142         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
107143         dispose_fn on the dropped values.
107144         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
107145         dispose_fn argument.
107146         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
107147         dropped values.
107148         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
107149         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107150         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
107151         (gl_tree_remove_node): Call dispose_fn on the dropped value.
107152         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
107153         argument.
107154         (gl_tree_list_free): Call dispose_fn on the dropped values.
107155         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
107156         the dropped values.
107157         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
107158         Add dispose_fn argument.
107159         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
107160         Call dispose_fn on the dropped values.
107161         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
107162         Add dispose_fn argument.
107163         (gl_sublist_create): Initialize the 'dispose_fn' field.
107164         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
107165         * tests/test-array_list.c (main): Update.
107166         * tests/test-carray_list.c (main): Update.
107167         * tests/test-avltree_list.c (main): Update.
107168         * tests/test-rbtree_list.c (main): Update.
107169         * tests/test-avltreehash_list.c (main): Update.
107170         * tests/test-rbtreehash_list.c (main): Update.
107171         * tests/test-linked_list.c (main): Update.
107172         * tests/test-linkedhash_list.c (main): Update.
107173         * tests/test-array_oset.c (main): Update.
107175 2007-03-15  Bruno Haible  <bruno@clisp.org>
107177         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
107178         (gl_oset_create_empty): Add dispose_fn argument.
107179         (struct gl_oset_implementation): Add dispose_fn argument to
107180         'create_empty' method.
107181         (struct gl_oset_impl_base): Add dispose_fn field.
107182         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
107183         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
107184         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
107185         values.
107186         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
107187         (gl_tree_oset_free): Call dispose_fn on the dropped values.
107188         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107189         dropped value.
107190         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107191         dropped value.
107192         * tests/test-array_oset.c (main): Update.
107193         * tests/test-avltree_oset.c (main): Update.
107194         * tests/test-rbtree_oset.c (main): Update.
107195         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
107197 2007-03-13  Bruno Haible  <bruno@clisp.org>
107199         * tests/test-stdbool.c (i): Update after last patch.
107201 2007-03-12  Bruno Haible  <bruno@clisp.org>
107203         * lib/quotearg.c: Include <wctype.h> early, before the definition of
107204         the iswprint macro. Needed on Solaris 2.5.1.
107206 2007-03-12  Bruno Haible  <bruno@clisp.org>
107208         * tests/test-printf-frexp.c (main): Declare x as volatile.
107210 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107212         * doc/gnulib.texi (Build robot for gnulib): New section.
107214 2007-03-12  Jim Meyering  <jim@meyering.net>
107216         * build-aux/bootstrap: New file.
107217         * build-aux/bootstrap.conf: New file, from coreutils.
107219 2007-03-11  Bruno Haible  <bruno@clisp.org>
107221         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
107223 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107225         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
107226         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
107227         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
107229 2007-03-11  Bruno Haible  <bruno@clisp.org>
107231         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
107232         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
107234 2007-03-11  Bruno Haible  <bruno@clisp.org>
107236         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
107237         formula. Needed for SunPRO C 5.0.
107239 2007-03-11  Bruno Haible  <bruno@clisp.org>
107241         * modules/long-options (Depends-on): Add getopt.
107243 2007-03-11  Bruno Haible  <bruno@clisp.org>
107245         * modules/modechange (Depends-on): Add stdbool.
107247 2007-03-11  Bruno Haible  <bruno@clisp.org>
107249         * modules/i-ring (Depends-on): Add stdbool.
107251 2007-03-11  Bruno Haible  <bruno@clisp.org>
107253         * modules/gc-des (Depends-on): Add stdbool.
107255 2007-03-11  Bruno Haible  <bruno@clisp.org>
107257         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
107259 2007-03-11  Bruno Haible  <bruno@clisp.org>
107261         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
107263 2007-03-11  Bruno Haible  <bruno@clisp.org>
107265         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
107267 2007-03-11  Bruno Haible  <bruno@clisp.org>
107269         * lib/vasnprintf.c (sprintf): Undefine.
107271 2007-03-11  Bruno Haible  <bruno@clisp.org>
107273         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
107274         initializers in SunPRO C and Compaq C compilers.
107276 2007-03-11  Bruno Haible  <bruno@clisp.org>
107278         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
107279         decrementing code ANSI C compliant.
107281 2007-03-11  Bruno Haible  <bruno@clisp.org>
107283         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
107284         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
107286 2007-03-11  Bruno Haible  <bruno@clisp.org>
107288         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
107289         <stdbool.h> substitute doesn't pass.
107291 2007-03-11  Bruno Haible  <bruno@clisp.org>
107293         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
107295 2007-03-11  Bruno Haible  <bruno@clisp.org>
107297         * gnulib-tool (func_create_megatestdir): Create also an autobuild
107298         script, for submission to autobuild.josefsson.org.
107300 2007-03-10  Bruno Haible  <bruno@clisp.org>
107302         * modules/canonicalize-lgpl-tests: New file.
107303         * tests/test-canonicalize-lgpl.sh: New file.
107304         * tests/test-canonicalize-lgpl.c: New file.
107306         * modules/c-strcase-tests: New file.
107307         * tests/test-c-strcase.sh: New file.
107308         * tests/test-c-strcasecmp.c: New file.
107309         * tests/test-c-strncasecmp.c: New file.
107311         * modules/atexit-tests: New file.
107312         * tests/test-atexit.sh: New file.
107313         * tests/test-atexit.c: New file.
107315 2007-03-10  Bruno Haible  <bruno@clisp.org>
107317         * tests/test-binary-io.sh: Use temporary filenames that are not so
107318         likely to clash with those of other tests (in a parallel make).
107319         * tests/test-binary-io.c: Likewise.
107321 2007-03-10  Bruno Haible  <bruno@clisp.org>
107323         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
107324         fallback; use #error instead.
107325         Suggested by Simon Josefsson.
107327 2007-03-10  Bruno Haible  <bruno@clisp.org>
107329         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
107330         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
107331         first and the last.
107333 2007-03-10  Bruno Haible  <bruno@clisp.org>
107335         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
107337 2007-03-10  Bruno Haible  <bruno@clisp.org>
107339         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
107340         "make distcheck".
107341         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
107342         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
107343         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
107345 2007-03-10  Bruno Haible  <bruno@clisp.org>
107347         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
107348         variable.
107349         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
107350         variable.
107352 2007-03-09  Eric Blake  <ebb9@byu.net>
107353         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
107355         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
107356         types are not being provided by gnulib.
107357         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
107358         types are supported.
107360 2007-03-10  Bruno Haible  <bruno@clisp.org>
107362         * lib/stdio_.h (__attribute__): New macro.
107363         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
107364         vsprintf): Specify __attribute__ __format__ for GCC.
107365         Suggested by Eric Blake.
107367 2007-03-09  Bruno Haible  <bruno@clisp.org>
107369         * modules/printf-posix-tests: New file.
107370         * tests/test-printf-posix.sh: New file.
107371         * tests/test-printf-posix.c: New file.
107373         * modules/printf-posix: New file.
107374         * lib/printf.c: New file.
107375         * m4/printf-posix-rpl.m4: New file.
107376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
107377         REPLACE_PRINTF.
107378         * lib/stdio_.h (printf): New declaration.
107379         (format, __format__, ____printf____, ____scanf____, ____strftime____,
107380         ____strfmon____): New macros.
107381         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
107382         REPLACE_PRINTF.
107384 2007-03-09  Bruno Haible  <bruno@clisp.org>
107386         * tests/test-vasnprintf-posix2.sh: New file.
107387         * tests/test-vasnprintf-posix2.c: New file.
107388         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
107389         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
107390         (Makefile.am): Activate test-vasnprintf-posix2.sh.
107392         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
107393         a locale dependent decimal point, rather than always '.'.
107395 2007-03-09  Eric Blake  <ebb9@byu.net>
107397         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
107398         spite of platforms like Tandem/NSK that define it to -1.
107400 2007-03-08  Bruno Haible  <bruno@clisp.org>
107402         * modules/vprintf-posix-tests: New file.
107403         * tests/test-vprintf-posix.sh: New file.
107404         * tests/test-vprintf-posix.c: New file.
107405         * tests/test-printf-posix.h: New file.
107407         * modules/vprintf-posix: New file.
107408         * lib/vprintf.c: New file.
107409         * m4/vprintf-posix.m4: New file.
107410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
107411         REPLACE_VPRINTF.
107412         * lib/stdio_.h (vprintf): New declaration.
107413         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
107414         REPLACE_VPRINTF.
107416 2007-03-08  Bruno Haible  <bruno@clisp.org>
107418         * modules/fprintf-posix-tests: New file.
107419         * tests/test-fprintf-posix.sh: New file.
107420         * tests/test-fprintf-posix.c: New file.
107422         * modules/fprintf-posix: New file.
107423         * lib/fprintf.c: New file.
107424         * m4/fprintf-posix.m4: New file.
107425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
107426         REPLACE_FPRINTF.
107427         * lib/stdio_.h (fprintf): New declaration.
107428         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
107429         REPLACE_FPRINTF.
107431 2007-03-08  Bruno Haible  <bruno@clisp.org>
107433         * modules/vfprintf-posix-tests: New file.
107434         * tests/test-vfprintf-posix.sh: New file.
107435         * tests/test-vfprintf-posix.c: New file.
107436         * tests/test-fprintf-posix.h: New file.
107437         * tests/test-fprintf-posix.out: New file.
107439         * modules/vfprintf-posix: New file.
107440         * lib/vfprintf.c: New file.
107441         * m4/vfprintf-posix.m4: New file.
107442         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
107443         REPLACE_VFPRINTF.
107444         * lib/stdio_.h (vfprintf): New declaration.
107445         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
107446         REPLACE_VFPRINTF.
107448 2007-03-08  Bruno Haible  <bruno@clisp.org>
107450         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
107452 2007-03-08  Bruno Haible  <bruno@clisp.org>
107454         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
107455         instead of 'expr' invocations.
107456         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107457         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107458         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107459         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
107460         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107461         Suggested by Paul Eggert.
107463 2007-03-08  Bruno Haible  <bruno@clisp.org>
107465         * modules/fseterr-tests: New file.
107466         * tests/test-fseterr.c: New file.
107468         * modules/fseterr: New file.
107469         * lib/fseterr.h: New file.
107470         * lib/fseterr.c: New file.
107472 2007-03-08  Bruno Haible  <bruno@clisp.org>
107474         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
107475         * lib/getopt_.h: Likewise.
107476         * lib/mbswidth.h: Likewise.
107477         * lib/setenv.h: Likewise.
107478         * lib/vasnprintf.h: Likewise.
107479         * lib/vasprintf.h: Likewise.
107480         * lib/verror.h: Likewise.
107481         * lib/xsetenv.h: Likewise.
107482         * lib/xvasprintf.h: Likewise.
107484 2007-03-08  Jim Meyering  <jim@meyering.net>
107486         * users.txt: Add parted.
107488         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
107490 2007-03-07  Bruno Haible  <bruno@clisp.org>
107492         * m4/printf.m4: Make the shell script snippets copy&pastable.
107494 2007-03-02  Bruno Haible  <bruno@clisp.org>
107496         * lib/netinet_in_.h: New file.
107497         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
107498         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
107499         * modules/netinet_in (Files): Add lib/netinet_in_.h.
107500         (Depends-on): Add absolute-header.
107501         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
107502         into netinet/in.h.
107504 2007-03-03  Bruno Haible  <bruno@clisp.org>
107506         * lib/sys_select_.h: New file.
107507         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
107508         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
107509         * modules/sys_select (Files): Add lib/sys_select_.h.
107510         (Depends-on): Add absolute-header.
107511         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
107512         into sys/select.h.
107514 2007-03-02  Bruno Haible  <bruno@clisp.org>
107516         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
107517         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
107518         values.
107519         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
107520         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
107521         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
107522         * modules/sys_socket (Depends-on): Add absolute-header.
107523         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
107524         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
107525         (Include): Remove requirement of inclusion of <sys/types.h>.
107527 2007-03-02  Bruno Haible  <bruno@clisp.org>
107529         * lib/byteswap_.h (bswap_32): Fix formula.
107531 2007-03-06  Bruno Haible  <bruno@clisp.org>
107533         * modules/sprintf-posix-tests: New file.
107534         * tests/test-sprintf-posix.c: New file.
107536         * modules/sprintf-posix: New file.
107537         * lib/sprintf.c: New file.
107538         * m4/sprintf-posix.m4: New file.
107539         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
107540         REPLACE_SPRINTF.
107541         * lib/stdio_.h (sprintf): New declaration.
107542         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
107543         REPLACE_SPRINTF.
107545 2007-03-06  Bruno Haible  <bruno@clisp.org>
107547         * modules/vsprintf-posix-tests: New file.
107548         * tests/test-vsprintf-posix.c: New file.
107549         * tests/test-sprintf-posix.h: New file.
107551         * modules/vsprintf-posix: New file.
107552         * lib/vsprintf.c: New file.
107553         * m4/vsprintf-posix.m4: New file.
107554         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
107555         REPLACE_VSPRINTF.
107556         * lib/stdio_.h (vsprintf): New declaration.
107557         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
107558         REPLACE_VSPRINTF.
107560 2007-03-06  Bruno Haible  <bruno@clisp.org>
107562         * modules/vsnprintf (Depend-on): Remove minmax.
107564 2007-03-06  Bruno Haible  <bruno@clisp.org>
107566         * modules/snprintf-posix-tests: New file.
107567         * tests/test-snprintf-posix.c: New file.
107569         * modules/snprintf-posix: New file.
107570         * m4/snprintf-posix.m4: New file.
107571         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
107572         gl_FUNC_SNPRINTF.
107573         (gl_FUNC_SNPRINTF): Invoke it.
107574         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
107575         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
107576         is set.
107577         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
107579 2007-03-06  Bruno Haible  <bruno@clisp.org>
107581         * modules/vsnprintf-posix-tests: New file.
107582         * tests/test-vsnprintf-posix.c: New file.
107583         * tests/test-snprintf-posix.h: New file.
107585         * modules/vsnprintf-posix: New file.
107586         * m4/vsnprintf-posix.m4: New file.
107587         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
107588         gl_FUNC_VSNPRINTF.
107589         (gl_FUNC_VSNPRINTF): Invoke it.
107590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
107591         * lib/stdio_.h (vsnprintf): Define as a replacement if
107592         REPLACE_VSNPRINTF is set.
107593         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
107595 2007-03-06  Bruno Haible  <bruno@clisp.org>
107597         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
107598         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
107600 2007-03-06  Bruno Haible  <bruno@clisp.org>
107602         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
107603         (asinl): Declare also if HAVE_DECL_ASINL is set.
107604         (atanl): Declare also if HAVE_DECL_ATANL is set.
107605         (ceill): Declare also if HAVE_DECL_CEILL is set.
107606         (cosl): Declare also if HAVE_DECL_COSL is set.
107607         (expl): Declare also if HAVE_DECL_EXPL is set.
107608         (floorl): Declare also if HAVE_DECL_FLOORL is set.
107609         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
107610         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
107611         (logl): Declare also if HAVE_DECL_LOGL is set.
107612         (sinl): Declare also if HAVE_DECL_SINL is set.
107613         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
107614         (tanl): Declare also if HAVE_DECL_TANL is set.
107615         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
107616         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
107617         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
107618         declaration of frexpl, ldexpl.
107619         * modules/printf-frexpl (Depends-on): Add math.
107620         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
107622 2007-03-05  Bruno Haible  <bruno@clisp.org>
107624         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
107625         frexpl and ldexpl are declared.
107626         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
107628 2007-03-05  Bruno Haible  <bruno@clisp.org>
107630         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
107631         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
107633 2007-03-05  Bruno Haible  <bruno@clisp.org>
107635         * lib/stdio_.h: Include <stddef.h>.
107637 2007-03-05  Bruno Haible  <bruno@clisp.org>
107639         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
107641 2007-03-05  Bruno Haible  <bruno@clisp.org>
107643         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
107644         NetBSD 4, from Ralf Wildenhues.
107646 2007-03-04  Bruno Haible  <bruno@clisp.org>
107648         * lib/vasprintf.h: Update #if logic for the case when the functions
107649         exist but are overridden.
107651 2007-03-04  Bruno Haible  <bruno@clisp.org>
107653         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
107654         implementations: glibc-2.4 and MacOS X 10.3.
107655         * tests/test-vasnprintf-posix.c (test_function): Test also the case
107656         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
107657         * tests/test-vasprintf-posix.c (test_function): Likewise.
107659 2007-03-04  Bruno Haible  <bruno@clisp.org>
107661         * modules/vasprintf-posix-tests: New file.
107662         * tests/test-vasprintf-posix.c: New file.
107664         * modules/vasprintf-posix: New file.
107665         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
107666         defined.
107667         * m4/vasprintf-posix.m4: New file.
107668         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
107669         gl_FUNC_VASPRINTF.
107670         (gl_FUNC_VASPRINTF): Invoke it.
107671         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
107672         here.
107673         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
107675 2007-03-04  Bruno Haible  <bruno@clisp.org>
107677         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
107678         REPLACE_GETTIMEOFDAY.
107679         * modules/sys_time (Makefile.am): Likewise.
107680         * m4/sys_time_h.m4: Likewise.
107681         * m4/gettimeofday.m4: Likewise.
107683 2007-03-04  Bruno Haible  <bruno@clisp.org>
107685         * modules/vasnprintf-posix-tests: New file.
107686         * tests/test-vasnprintf-posix.c: New file.
107688         * modules/vasnprintf-posix: New file.
107689         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
107690         printf-frexpl.h.
107691         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
107692         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
107693         REPLACE_VASNPRINTF is defined.
107694         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
107695         gl_FUNC_VASNPRINTF.
107696         (gl_FUNC_VASNPRINTF): Invoke it.
107697         * m4/vasnprintf-posix.m4: New file.
107698         * m4/printf.m4: New file.
107700 2007-03-04  Bruno Haible  <bruno@clisp.org>
107702         Compile progreloc.c only if --enable-relocatable is specified.
107703         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
107704         if --enable-relocatable was specified.
107705         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
107706         lib_SOURCES.
107708 2007-03-04  Jim Meyering  <jim@meyering.net>
107710         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
107711         Use it consistently, rather than enumerating errno constants.
107713 2007-03-04  Bruno Haible  <bruno@clisp.org>
107715         * modules/xvasprintf-tests: New file.
107716         * tests/test-xvasprintf.c: New file.
107718         * modules/vasprintf-tests: New file.
107719         * tests/test-vasprintf.c: New file.
107721         * modules/vasnprintf-tests: New file.
107722         * tests/test-vasnprintf.c: New file.
107724         * modules/vsnprintf-tests: New file.
107725         * tests/test-vsnprintf.c: New file.
107727         * modules/snprintf-tests: New file.
107728         * tests/test-snprintf.c: New file.
107730 2007-03-04  Bruno Haible  <bruno@clisp.org>
107732         Compile relocatable.c only if --enable-relocatable is specified.
107733         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
107734         gl_RELOCATABLE_LIBRARY.
107735         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
107736         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
107737         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
107738         gl_RELOCATABLE_LIBRARY.
107739         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
107740         (Makefile.am): Remove lib_SOURCES.
107741         * modules/relocatable-lib-lgpl (configure.ac): Invoke
107742         gl_RELOCATABLE_LIBRARY.
107743         (Makefile.am): Remove lib_SOURCES.
107744         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
107745         always.
107746         * modules/relocatable-prog-wrapper (configure.ac): Invoke
107747         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
107749 2007-03-04  Bruno Haible  <bruno@clisp.org>
107751         * modules/argmatch-tests: New file.
107752         * tests/test-argmatch.c: New file.
107754         * tests/test-allocsa.c (main): Halve the number of loop runs.
107756         * modules/alloca-opt-tests: New file.
107757         * tests/test-alloca-opt.c: New file.
107759 2007-03-04  Jim Meyering  <jim@meyering.net>
107761         Work around difference between Linux ACLs and Solaris 10 ZFS.
107762         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
107763         for EINVAL.
107765 2007-03-03  Bruno Haible  <bruno@clisp.org>
107767         * modules/relocatable-prog (Depends-on): Add back progreloc's
107768         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
107770 2007-03-03  Bruno Haible  <bruno@clisp.org>
107772         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
107773         * modules/relocatable-lib: New file.
107775 2007-03-03  Bruno Haible  <bruno@clisp.org>
107777         * modules/relocatable-prog: Renamed from modules/relocatable.
107778         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
107780 2007-03-03  Bruno Haible  <bruno@clisp.org>
107782         * modules/relocatable-script (Files): Add doc/relocatable.texi,
107783         m4/relocatable-lib.m4.
107784         (Depends-on): Remove 'relocatable'.
107785         (configure.ac): Add gl_RELOCATABLE_NOP.
107787 2007-03-03  Bruno Haible  <bruno@clisp.org>
107789         * modules/relocatable-prog-wrapper: New file.
107790         * modules/relocatable (Depends-on): Add it. Remove all other
107791         dependencies except progname.
107792         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
107794         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
107795         (gl_FUNC_STRERROR): Nop.
107796         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
107798         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
107799         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
107801         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
107802         (gl_FUNC_READLINK): Update.
107804         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
107806 2007-03-03  Bruno Haible  <bruno@clisp.org>
107808         * lib/xreadlink.c: Include <unistd.h> unconditionally.
107809         * modules/xreadlink (Depends-on): Add unistd.
107810         * modules/xreadlink-with-size (Depends-on): Likewise.
107812 2007-03-03  Bruno Haible  <bruno@clisp.org>
107814         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
107815         extracted from gt_FUNC_SETENV.
107816         (gt_FUNC_SETENV): Remove macro.
107817         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
107818         remove gt_FUNC_SETENV.
107820 2007-03-03  Bruno Haible  <bruno@clisp.org>
107822         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
107823         ENABLE_RELOCATABLE here.
107824         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
107826 2007-03-03  Bruno Haible  <bruno@clisp.org>
107828         * modules/rbtreehash-list-tests (Depends-on): Add progname.
107829         * tests/test-rbtreehash_list.c: Include progname.h.
107830         (main): Call set_program_name.
107832         * modules/rbtree-oset-tests (Depends-on): Add progname.
107833         * tests/test-rbtree_oset.c: Include progname.h.
107834         (main): Call set_program_name.
107836         * modules/rbtree-list-tests (Depends-on): Add progname.
107837         * tests/test-rbtree_list.c: Include progname.h.
107838         (main): Call set_program_name.
107840         * modules/linked-list-tests (Depends-on): Add progname.
107841         * tests/test-linked_list.c: Include progname.h.
107842         (main): Call set_program_name.
107844 2007-03-03  Bruno Haible  <bruno@clisp.org>
107846         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
107847         All uses of __restrict changed to _Restrict_.
107848         * lib/glob_.h (__restrict): Remove macro.
107850 2007-03-02  Bruno Haible  <bruno@clisp.org>
107852         * modules/gettext (configure.ac): Require gettext infrastructure
107853         from version 0.16.1.
107855 2007-03-02  Bruno Haible  <bruno@clisp.org>
107857         * modules/linkedhash-list-tests (Depends-on): Add progname.
107858         * tests/test-linkedhash_list.c: Include progname.h.
107859         (main): Call set_program_name.
107861         * modules/carray-list-tests (Depends-on): Add progname.
107862         * tests/test-carray_list.c: Include progname.h.
107863         (main): Call set_program_name.
107865         * modules/avltreehash-list-tests (Depends-on): Add progname.
107866         * tests/test-avltreehash_list.c: Include progname.h.
107867         (main): Call set_program_name.
107869         * modules/avltree-oset-tests (Depends-on): Add progname.
107870         * tests/test-avltree_oset.c: Include progname.h.
107871         (main): Call set_program_name.
107873         * modules/avltree-list-tests (Depends-on): Add progname.
107874         * tests/test-avltree_list.c: Include progname.h.
107875         (main): Call set_program_name.
107877         * modules/array-oset-tests (Depends-on): Add progname.
107878         * tests/test-array_oset.c: Include progname.h.
107879         (main): Call set_program_name.
107881         * modules/array-list-tests (Depends-on): Add progname.
107882         * tests/test-array_list.c: Include progname.h.
107883         (main): Call set_program_name.
107885         * modules/argp-tests (Depends-on): Add progname.
107886         * tests/test-argp.c: Include argp.h first. Include progname.h.
107887         (main): Call set_program_name.
107889 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
107891         * doc/gnulib-tool.texi (Initial import): Reword description of
107892         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
107893         limited effect even if defined after the first system include.
107895 2007-03-01  Bruno Haible  <bruno@clisp.org>
107897         * build-aux/config.libpath: Update to libtool-1.5.22.
107898         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
107900 2007-03-01  Bruno Haible  <bruno@clisp.org>
107902         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
107903         foo_CFLAGS.
107904         Reported by Ralf Wildenhues.
107906 2007-03-01  Bruno Haible  <bruno@clisp.org>
107908         * build-aux/install-reloc: Remove object files left over by some
107909         compilers.
107910         Reported by Ralf Wildenhues.
107912 2007-03-01  Bruno Haible  <bruno@clisp.org>
107914         * build-aux/install-reloc: Break long lines.
107916 2007-03-01  Bruno Haible  <bruno@clisp.org>
107918         * doc/relocatable.texi: Document that it may not work on OpenBSD.
107919         Reported by Ralf Wildenhues.
107921 2007-03-01  Bruno Haible  <bruno@clisp.org>
107923         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
107924         include ordering constraints.
107926 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107928         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
107929         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
107930         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
107931         as another example.
107932         * lib/time_.h: Fix misspelling.
107933         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
107934         Require gl_HEADER_TIME_H_DEFAULTS.
107935         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
107936         * m4/time_r.m4 (gl_TIME_R): Likewise.
107937         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
107939 2007-03-01  Bruno Haible  <bruno@clisp.org>
107941         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
107942         * m4/utimens.m4 (gl_UTIMENS): Likewise.
107944 2007-03-01  Jim Meyering  <jim@meyering.net>
107946         * modules/xreadlink (Maintainer): Add my name.
107947         * modules/xreadlink-with-size (Depends-on): Alphabetize.
107949 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
107950             Bruno Haible  <bruno@clisp.org>
107952         * build-aux/install-reloc: Compile also c-ctype.c.
107953         * build-aux/relocatable.sh.in: New file.
107954         * doc/relocatable.texi: New file.
107955         * doc/relocatable-maint.texi: New file.
107956         * doc/gnulib.texi: Include relocatable-maint.texi.
107957         * lib/progreloc.c: Include unistd.h unconditionally.
107958         * lib/relocwrapper.c: Include unistd.h unconditionally.
107959         Include c-ctype.h.
107960         (add_dotbin): Use c_tolower.
107961         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
107962         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
107963         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
107964         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
107965         to m4/relocatable-lib.m4.
107966         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
107967         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
107968         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
107969         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
107970         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
107971         * modules/relocatable: New file.
107972         * modules/relocatable-lib: New file.
107973         * modules/relocatable-script: New file.
107975 2007-02-28  Bruno Haible  <bruno@clisp.org>
107977         Import --enable-relocatable infrastructure.
107978         * build-aux/config.libpath: New file, from GNU gettext.
107979         * build-aux/install-reloc: New file, from GNU gettext.
107980         * build-aux/reloc-ldflags: New file, from GNU gettext.
107981         * lib/relocatable.h: New file, from GNU gettext.
107982         * lib/relocatable.c: New file, from GNU gettext.
107983         * lib/relocwrapper.c: New file, from GNU gettext.
107984         * m4/relocatable.m4: New file, from GNU gettext.
107986 2007-02-28  Bruno Haible  <bruno@clisp.org>
107988         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
107990         * modules/xreadlink: New file, from GNU gettext with modifications.
107991         * lib/xreadlink.c: New file, from GNU gettext.
107992         * lib/xreadlink.h: Add comments.
107993         (xreadlink): New declaration.
107995         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
107996         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
107997         lib/xreadlink-with-size.c.
107998         (configure.ac): Remove gl_XREADLINK invocation.
107999         (Makefile.am): Augment lib_SOURCES.
108000         * m4/xreadlink.m4: Remove file.
108001         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
108002         (xreadlink_with_size): Renamed from xreadink.
108003         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
108004         * modules/canonicalize (Depends-on): Replace xreadlink with
108005         xreadlink-with-size.
108006         * lib/canonicalize.c (canonicalize_filename_mode): Update.
108008 2007-02-25  Jim Meyering  <jim@meyering.net>
108010         * build-aux/announce-gen: When complaining about excess arguments,
108011         list them.
108013 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
108015         * README: Document signed integer overflow situation more
108016         accurately.
108018 2007-02-25  Bruno Haible  <bruno@clisp.org>
108020         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
108021         'a' or 'A' conversion.
108023 2007-02-25  Bruno Haible  <bruno@clisp.org>
108025         * modules/filename: Renamed from modules/pathname.
108026         (Files): Replace lib/pathname.h with lib/filename.h. Replace
108027         lib/concatpath.c with lib/concat-filename.c.
108028         (Makefile.am): Update.
108029         (Include): Replace pathname.h with filename.h.
108030         * lib/filename.h: Renamed from lib/pathname.h.
108031         (concatenated_filename): Renamed from concatenated_pathname.
108032         * lib/concat-filename.c: Renamed from lib/concatpath.c.
108033         (concatenated_filename): Renamed from concatenated_pathname.
108034         * lib/findprog.c: Include filename.h instead of pathname.h.
108035         (find_in_path): Update.
108036         * lib/javacomp.c: Include filename.h instead of pathname.h.
108037         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
108038         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
108039         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
108040         is_oldgcj_14_13_usable, is_javac_usable): Update.
108041         * lib/javaexec.c: Include filename.h instead of pathname.h.
108042         (execute_java_class): Update.
108043         * modules/findprog: Update.
108044         * modules/javacomp: Update.
108045         * modules/javaexec: Update.
108046         * MODULES.html.sh (File system functions): Add 'filename', remove
108047         'pathname'.
108049 2007-02-25  Bruno Haible  <bruno@clisp.org>
108051         * modules/printf-frexpl-tests: New file.
108052         * tests/test-printf-frexpl.c: New file.
108054         * modules/printf-frexpl: New file.
108055         * lib/printf-frexpl.h: New file.
108056         * lib/printf-frexpl.c: New file.
108057         * m4/printf-frexpl.m4: New file.
108059 2007-02-25  Bruno Haible  <bruno@clisp.org>
108061         * modules/printf-frexp-tests: New file.
108062         * tests/test-printf-frexp.c: New file.
108064         * modules/printf-frexp: New file.
108065         * lib/printf-frexp.h: New file.
108066         * lib/printf-frexp.c: New file.
108067         * m4/printf-frexp.m4: New file.
108069 2007-02-25  Bruno Haible  <bruno@clisp.org>
108071         Assume automake >= 1.10 for the tests.
108072         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
108073         * modules/arctwo-tests: Likewise.
108074         * modules/argp-tests: Likewise.
108075         * modules/avltree-list-tests: Likewise.
108076         * modules/avltree-oset-tests: Likewise.
108077         * modules/avltreehash-list-tests: Likewise.
108078         * modules/carray-list-tests: Likewise.
108079         * modules/crc-tests: Likewise.
108080         * modules/des-tests: Likewise.
108081         * modules/gc-arcfour-tests: Likewise.
108082         * modules/gc-arctwo-tests: Likewise.
108083         * modules/gc-des-tests: Likewise.
108084         * modules/gc-hmac-md5-tests: Likewise.
108085         * modules/gc-hmac-sha1-tests: Likewise.
108086         * modules/gc-md2-tests: Likewise.
108087         * modules/gc-md4-tests: Likewise.
108088         * modules/gc-md5-tests: Likewise.
108089         * modules/gc-pbkdf2-sha1-tests: Likewise.
108090         * modules/gc-rijndael-tests: Likewise.
108091         * modules/gc-sha1-tests: Likewise.
108092         * modules/gc-tests: Likewise.
108093         * modules/getaddrinfo-tests: Likewise.
108094         * modules/hmac-md5-tests: Likewise.
108095         * modules/hmac-sha1-tests: Likewise.
108096         * modules/linked-list-tests: Likewise.
108097         * modules/linkedhash-list-tests: Likewise.
108098         * modules/lock-tests: Likewise.
108099         * modules/md2-tests: Likewise.
108100         * modules/md4-tests: Likewise.
108101         * modules/md5-tests: Likewise.
108102         * modules/rbtree-list-tests: Likewise.
108103         * modules/rbtree-oset-tests: Likewise.
108104         * modules/rbtreehash-list-tests: Likewise.
108105         * modules/read-file-tests: Likewise.
108106         * modules/rijndael-tests: Likewise.
108107         * modules/stdint-tests: Likewise.
108108         * modules/tls-tests: Likewise.
108110 2007-02-24  Bruno Haible  <bruno@clisp.org>
108112         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
108113         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
108114         function; instead check whether isnan with a double argument links.
108115         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
108116         function; instead check whether isnan with a 'long double' argument
108117         links.
108118         Reported by Eric Blake <ebb9@byu.net>.
108120 2007-02-24  Bruno Haible  <bruno@clisp.org>
108122         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
108123         defined.
108124         * lib/isnanl.c: Remove all code. Just include isnan.c.
108125         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
108127 2007-02-25  Jim Meyering  <jim@meyering.net>
108129         Avoid conflicting types for 'unsetenv' on FreeBSD.
108130         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
108131         conflicting with FreeBSD's (5.0 and 6.1) function declaration
108132         in stdlib.h.
108134 2007-02-24  Bruno Haible  <bruno@clisp.org>
108136         * modules/isnanl-nolibm-tests: New file.
108137         * tests/test-isnanl.c: New file.
108139         * modules/isnanl-nolibm: New file.
108140         * lib/isnanl.h: New file.
108141         * lib/isnanl.c: New file.
108142         * m4/isnanl.m4: New file.
108144 2007-02-24  Bruno Haible  <bruno@clisp.org>
108146         * modules/isnan-nolibm-tests: New file.
108147         * tests/test-isnan.c: New file.
108149         * modules/isnan-nolibm: New file.
108150         * lib/isnan.h: New file.
108151         * lib/isnan.c: New file.
108152         * m4/isnan.m4: New file.
108154 2007-02-24  Bruno Haible  <bruno@clisp.org>
108156         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
108157         assume that an exponent fits in 20 bits.
108159 2007-02-24  Jim Meyering  <jim@meyering.net>
108161         * m4/regex.m4: Update the description of the configure-time option,
108162         --without-included-regex, to state accurately what the defaults are,
108163         and perhaps to give people an idea why using this option is risky.
108165 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
108167         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
108168         loops on small arguments.  This attempts to avoid the problem
108169         Bruno Haible reported for AIX 4.3.2 in
108170         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
108172 2007-02-23  Bruno Haible  <bruno@clisp.org>
108174         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
108175         Needed for help2man.
108177 2007-02-23  Karl Berry  <karl@gnu.org>
108179         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
108180         exists, foo.h should be cvs-ignored, not committed.
108182 2007-02-23  Eric Blake  <ebb9@byu.net>
108184         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
108185         * lib/stat-time.h (includes): Likewise.
108186         * lib/utimecmp.c (includes): Likewise.
108187         * lib/utimens.h (includes): Likewise.
108188         * lib/getdate.y (includes): Also include "timespec.h" for use
108189         internal to the module.
108190         * modules/utimens (Depends-on): Revert yesterday's patch.
108191         * modules/nanosleep (Depends-on): Add missing dependency.
108193 2007-02-22  Bruno Haible  <bruno@clisp.org>
108195         * lib/glob.c: Don't include getlogin_r.h.
108197 2007-02-22  Jim Meyering  <jim@meyering.net>
108199         * modules/utimens (Depends-on): Add timespec, required for
108200         utimens.h's inclusion of timespec.h.
108202 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
108204         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
108205         long unreadable paths in GNU/Linux.  Problem reported by Andreas
108206         Schwab in
108207         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
108208         I'll try to think of a better way to fix the Solaris problem.
108210         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
108211         like glibc; on Solaris 10, it fails with errno == EINVAL.
108212         POSIX says the behavior is unspecified if the first argument is NULL,
108213         so play it safe and never pass NULL to the system getcwd.
108215 2007-02-21  Jim Meyering  <jim@meyering.net>
108217         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
108218         of gettimeofday.  It would conflict with the one now always
108219         provided via sys_time_.h.  Reported by Matthew Woehlke, as
108220         an IRIX 6.5 build failure.
108222 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
108224         Minor fixups to port to Solaris 10 with Sun C 5.8.
108225         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
108226         * modules/getcwd (Depends-on): Add dirfd.
108227         * lib/putenv.c (putenv): #undef it.
108228         (rpl_putenv): New decl.
108229         (malloc, free): Include <stdlib.h> rather than prototyping separately.
108231 2007-02-20  Bruno Haible  <bruno@clisp.org>
108233         * modules/stdio-tests: New file.
108234         * tests/test-stdio.c: New file.
108236         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
108237         (Depends-on): Add stdio.
108238         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108239         (Include): Use <stdio.h> instead of vsnprintf.h.
108240         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108241         HAVE_DECL_VSNPRINTF.
108242         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
108244         * modules/snprintf (Files): Remove lib/snprintf.h.
108245         (Depends-on): Add stdio.
108246         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108247         (Include): Use <stdio.h> instead of snprintf.h.
108248         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108249         HAVE_DECL_SNPRINTF.
108250         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
108251         * lib/getaddrinfo.c: Likewise.
108253         * modules/stdio: New file.
108254         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
108255         * lib/snprintf.h: Remove file.
108256         * lib/vsnprintf.h: Remove file.
108257         * lib/.cppi-disable: Remove snprintf.h.
108258         * m4/stdio_h.m4: New file.
108259         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
108261 2007-02-20  Jim Meyering  <jim@meyering.net>
108263         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
108264         used by e.g., mingw.  From Bruno Haible.
108266 2007-02-19  Bruno Haible  <bruno@clisp.org>
108268         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
108269         warnings.
108270         Reported by Ben Pfaff <blp@cs.stanford.edu>.
108272 2007-02-19  Bruno Haible  <bruno@clisp.org>
108274         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
108275         from mingw users.
108277 2007-02-19  Bruno Haible  <bruno@clisp.org>
108279         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
108280         warnings.
108281         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
108283 2007-02-19  Jim Meyering  <jim@meyering.net>
108285         Don't use FD after a successful "fdopendir (fd)".
108286         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
108287         Reset it by calling dirfd on the just-obtained DIR*.
108289         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
108290         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
108292 2007-02-18  Bruno Haible  <bruno@clisp.org>
108294         * lib/readlink.c: Include <unistd.h>.
108295         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
108296         HAVE_READLINK.
108297         * modules/readlink (Depends-on): Add unistd.
108298         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108299         (Include): Add <unistd.h>.
108301         * lib/getlogin_r.h: Remove file.
108302         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
108303         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
108304         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
108305         HAVE_DECL_GETLOGIN_R.
108306         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
108307         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108308         (Include): Use <unistd.h> instead of getlogin_r.h.
108310         * lib/getcwd.h: Remove file.
108311         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
108312         * lib/xgetcwd.c: Likewise.
108313         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
108314         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
108315         * modules/getcwd (Files): Remove lib/getcwd.h.
108316         (Depends-on): Add unistd.
108317         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108318         (Include): Use <unistd.h> instad of getcwd.h.
108320         * lib/ftruncate.c: Include <unistd.h> first.
108321         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
108322         Set HAVE_FTRUNCATE.
108323         * modules/ftruncate (Depends-on): Add unistd.
108324         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108326         * lib/fchdir.c: Include <unistd.h> first.
108327         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
108328         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
108329         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
108330         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108331         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
108333         * lib/dup2.c: Include <unistd.h> first.
108334         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
108335         HAVE_DUP2.
108336         * modules/dup2 (Depends-on): Add unistd.
108337         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108339         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
108340         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
108341         REPLACE_CHOWN. Don't define chown as a macro here.
108342         * modules/chown (Depends-on): Add unistd.
108343         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108345         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
108346         Add definition for GL_LINK_WARNING.
108347         (chown, dup2): New declarations.
108348         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
108349         link warning.
108350         (ftruncate): New declaration.
108351         (getcwd): New declaration, taken from old getcwd.h.
108352         (getlogin_r): New declaration, taken from old getlogin_r.h.
108353         (readlink): New declaration.
108354         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
108355         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
108356         (gl_PREREQ_UNISTD): Remove macro.
108357         (gl_UNISTD_MODULE_INDICATOR): New macro.
108358         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
108359         many new variables. Don't set UNISTD_H.
108360         * modules/unistd (Description): Change.
108361         (Depends-on): Add link-warning.
108362         (configure.ac): Update.
108363         (Makefile.am): Create unistd.h always. Substitute many new variables
108364         into it.
108366 2007-02-18  Bruno Haible  <bruno@clisp.org>
108368         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
108369         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
108370         HAVE_GETSUBOPT.
108371         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
108372         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
108373         * lib/getsubopt.h: Remove file.
108374         * modules/getsubopt (Files): Remove lib/getsubopt.h.
108375         (Depends-on): Add stdlib.
108376         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108377         (Includes): Use <stdlib.h> instead of getsubopt.h.
108378         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
108379         Set HAVE_GETSUBOPT.
108380         * lib/getsubopt.c: Don't include getsubopt.h.
108382 2007-02-18  Bruno Haible  <bruno@clisp.org>
108384         * modules/fchdir (Depends-on): Add dup2.
108386 2007-02-18  Bruno Haible  <bruno@clisp.org>
108388         * lib/stdlib_.h: Handle glibc's special invocation convention
108389         specially.
108391 2007-02-18  Bruno Haible  <bruno@clisp.org>
108393         * modules/stdlib-tests: New file.
108394         * tests/test-stdlib.c: New file.
108396         * modules/mkstemp (Files): Remove lib/mkstemp.h.
108397         (Depends-on): Add stdlib.
108398         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108399         (Includes): Use <stdlib.h> instead of mkstemp.h.
108400         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108401         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
108402         * lib/mkstemp.c: Don't include mkstemp.h.
108403         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
108404         * lib/stdlib--.h: Don't include mkstemp.h.
108406         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
108407         (Depends-on): Add stdlib.
108408         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108409         (Includes): Use <stdlib.h> instead of mkdtemp.h.
108410         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108411         HAVE_MKDTEMP.
108412         * lib/mkdtemp.c: Don't include mkdtemp.h.
108413         * lib/clean-temp.c: Don't include mkdtemp.h.
108415         * modules/exit (Files): Remove lib/exit.h.
108416         (Depends-on): Add stdlib.
108417         (Makefile.am): Remove lib_SOURCES.
108418         (Include): Use <stdlib.h> instead of exit.h.
108419         * lib/argmatch.c: Don't include exit.h.
108420         * lib/execute.c: Likewise.
108421         * lib/pagealign_alloc.c: Likewise.
108422         * lib/pipe.c: Likewise.
108423         * lib/wait-process.c: Likewise.
108424         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
108425         * lib/exitfail.c: Likewise.
108426         * lib/savewd.c: Likewise.
108427         * lib/xsetenv.c: Likewise.
108429         * modules/stdlib: New file.
108430         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
108431         and extra comments about mkstemp().
108432         * lib/exit.h: Remove file.
108433         * lib/mkdtemp.h: Remove file.
108434         * lib/mkstemp.h: Remove file.
108435         * m4/stdlib_h.m4: New file.
108436         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
108438 2007-02-18  Bruno Haible  <bruno@clisp.org>
108440         * modules/math-tests: New file.
108441         * tests/test-math.c: New file.
108443         * modules/math: New file.
108444         * modules/mathl (Files): Remove lib/mathl.h.
108445         (Depends-on): Add math.
108446         (Makefile.am): Don't mention mathl.h.
108447         (Include): Use <math.h> instead of mathl.h.
108448         * lib/math_.h: New file.
108449         * lib/mathl.h: Remove file.
108450         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
108451         mathl.h.
108452         * lib/asinl.c: Likewise.
108453         * lib/atanl.c: Likewise.
108454         * lib/ceill.c: Likewise.
108455         * lib/cosl.c: Likewise.
108456         * lib/expl.c: Likewise.
108457         * lib/floorl.c: Likewise.
108458         * lib/frexpl.c: Likewise.
108459         * lib/ldexpl.c: Likewise.
108460         * lib/logl.c: Likewise.
108461         * lib/sincosl.c: Likewise.
108462         * lib/sinl.c: Likewise.
108463         * lib/sqrtl.c: Likewise.
108464         * lib/tanl.c: Likewise.
108465         * lib/trigl.c: Likewise.
108466         * m4/math_h.m4: New file.
108467         * MODULES.html.sh (Mathematics): Add math.
108469 2007-02-17  Bruno Haible  <bruno@clisp.org>
108471         * modules/wctype-tests: New file.
108472         * tests/test-wctype.c: New file.
108474         * modules/wchar-tests: New file.
108475         * tests/test-wchar.c: New file.
108477         * modules/unistd-tests: New file.
108478         * tests/test-unistd.c: New file.
108480         * modules/time-tests: New file.
108481         * tests/test-time.c: New file.
108483         * modules/sysexits-tests: New file.
108484         * tests/test-sysexits.c: New file.
108486         * modules/sys_time-tests: New file.
108487         * tests/test-sys_time.c: New file.
108489         * modules/sys_stat-tests: New file.
108490         * tests/test-sys_stat.c: New file.
108492         * modules/sys_socket-tests: New file.
108493         * tests/test-sys_socket.c: New file.
108495         * modules/sys_select-tests: New file.
108496         * tests/test-sys_select.c: New file.
108498         * modules/string-tests: New file.
108499         * tests/test-string.c: New file.
108501         * modules/stdbool-tests: New file.
108502         * tests/test-stdbool.c: New file.
108504         * modules/netinet_in-tests: New file.
108505         * tests/test-netinet_in.c: New file.
108507         * modules/inttypes-tests: New file.
108508         * tests/test-inttypes.c: New file.
108510         * modules/fcntl-tests: New file.
108511         * tests/test-fcntl.c: New file.
108513         * modules/byteswap-tests: New file.
108514         * tests/test-byteswap.c: New file.
108516         * modules/arpa_inet-tests: New file.
108517         * tests/test-arpa_inet.c: New file.
108519 2007-02-17  Bruno Haible  <bruno@clisp.org>
108521         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
108522         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
108523         if the corresponding module is not enabled. Emit link warnings if
108524         the function is used nevertheless.
108525         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
108526         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
108527         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
108528         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
108529         * modules/inttypes (Depends-on): Add link-warning.
108530         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108531         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
108532         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
108533         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
108534         * modules/imaxdiv (configure.ac): Likewise.
108535         * modules/strtoimax (configure.ac): Likewise.
108536         * modules/strtoumax (configure.ac): Likewise.
108538 2007-02-17  Bruno Haible  <bruno@clisp.org>
108540         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
108541         gl_STRING_MODULE_INDICATOR_DEFAULTS.
108542         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
108543         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
108545 2007-02-17  Bruno Haible  <bruno@clisp.org>
108547         * modules/link-warning: New file.
108548         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
108549         * lib/string_.h (GL_LINK_WARNING): Remove definition.
108550         * modules/string (Depends-on): Add link-warning.
108551         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108552         string.h.
108553         * MODULES.html.sh (Support for building libraries and executables): Add
108554         link-warning.
108556 2007-02-17  Bruno Haible  <bruno@clisp.org>
108558         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
108559         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
108560         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
108561         long lines.
108563 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
108564             Bruno Haible  <bruno@clisp.org>
108566         * modules/tmpfile: New file.
108567         * lib/tmpfile.c: New file.
108568         * m4/tmpfile.m4: New file.
108569         * MODULES.html.sh (func_all_modules): New section "Input/output".
108571 2007-02-15  Bruno Haible  <bruno@clisp.org>
108573         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
108574         (supports_delete_on_close): New function.
108575         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
108577 2007-02-14  Bruno Haible  <bruno@clisp.org>
108579         * modules/mbspcasecmp-tests: New file.
108580         * tests/test-mbspcasecmp.sh: New file.
108581         * tests/test-mbspcasecmp.c: New file.
108583         New module mbspcasecmp.
108584         * modules/mbspcasecmp: New file.
108585         * lib/mbspcasecmp.c: New file.
108586         * lib/string_.h (strncasecmp): Change warning message.
108587         (mbspcasecmp): New declaration.
108588         * m4/mbspcasecmp.m4: New file.
108589         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108590         GNULIB_MBSPCASECMP.
108591         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
108592         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
108594 2007-02-14  Bruno Haible  <bruno@clisp.org>
108596         * modules/mbsncasecmp-tests: New file.
108597         * tests/test-mbsncasecmp.sh: New file.
108598         * tests/test-mbsncasecmp.c: New file.
108600         New module mbsncasecmp.
108601         * modules/mbsncasecmp: New file.
108602         * lib/mbsncasecmp.c: New file.
108603         * lib/string_.h (mbsncasecmp): New declaration.
108604         * m4/mbsncasecmp.m4: New file.
108605         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108606         GNULIB_MBSNCASECMP.
108607         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
108608         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
108610 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
108612         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
108613         Verify that it doesn't overlap with our flags.
108614         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
108615         do not have the desired effect in multibyte locales; instead, use
108616         mbscasecmp.
108617         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
108618         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
108619         we don't require GNU fnmatch ourselves (if our users require it, they
108620         should do so explicitly).
108622         Fix regex code so it doesn't rely on strcasecmp.
108623         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
108624         Otherwise, include gnulib's langinfo.h.
108625         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
108626         undesirable behavior in non-C locales.  Instead, rely on localecharset.
108627         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
108628         * modules/regex (FILES): Remove m4/codeset.m4.
108629         (Depends-on): Add localcharset.  Remove strcase.
108631 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108633         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
108634         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
108636 2007-02-13  Bruno Haible  <bruno@clisp.org>
108638         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
108639         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108641 2007-02-12  Bruno Haible  <bruno@clisp.org>
108643         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108644         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
108645         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
108646         time warning rather than a link error.
108648 2007-02-12  Bruno Haible  <bruno@clisp.org>
108650         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
108651         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
108652         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108654 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108656         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
108657         args, not 2.
108659 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108661         New module 'time', so that apps can include <time.h> as per
108662         POSIX and GNU instead of separate include files like time_r.h
108663         and timegm.h.  This implementation tries out a simpler approach
108664         for replacing decls in standard include files (as compared to
108665         the string module), somewhat as an experiment.
108667         * config/srclist.txt: Comment out mktime.c for now.
108668         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
108669         since it doesn't apply any more.  Use generic wording instead.
108670         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
108671         'time'.
108672         * lib/time_.h, m4/time_h.m4, modules/time: New files.
108673         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
108674         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
108675         Don't include <sys/types.h>; no longer needed since we assume C89.
108676         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
108677         * lib/strftime.c: Likewise.
108678         * lib/time_r.c: Likewise.
108679         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
108680         * lib/nanosleep.c: Include <time.h> first, to check interface.
108681         * lib/strptime.c: Likewise.
108682         * lib/time_r.c: Likewise.
108683         * lib/timegm.c: Likewise.
108684         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
108685         needed.
108686         * lib/timegm.c: Don't include timegm.h; no longer needed.
108687         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
108688         time.h now handles any problems in that area.
108689         (struct timespec, nanosleep): Remove; time.h now arranges for these.
108690         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
108691         that time.h defines struct timespec.
108692         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
108693         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
108694         handles that.
108695         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
108696         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
108697         needed.  Set REPLACE_LOCALTIME.
108698         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
108699         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
108700         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
108701         nanosleep; time_h.m4 now does that.  Don't require
108702         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
108703         module handles this now.
108704         * modules/getdate (Depends-on): Remove timespec.  Add time.
108705         * modules/nanosleep (Depends-on): Likewise.
108706         * modules/stat-time (Depends-on): Likewise.
108707         * modules/nanosleep (Include): Include time.h, not timespec.h.
108708         * modules/strptime (Files): Remove lib/strptime.h.
108709         (Depends-on): Add extensions, time.
108710         (Include): Include time.h, not strptime.h.
108711         * modules/time_r (Files): Remove lib/time_r.h.
108712         (Depends-on): Add time.
108713         (Include): Include time.h, not time_r.h.
108714         * modules/timegm: Likewise.
108715         * modules/timespec (Description): Now does timespec-related decls
108716         of our own, instead of struct timespec itself.
108717         (Depends-on): Add time; remove extensions.
108718         (Maintainer): Add self.
108719         * modules/utimecmp (Depends-on): Add time; remove timespec.
108720         * modules/utimens (Depends-on): Likewise.
108721         * modules/xnanosleep (Depends-on): Likewise.
108723 2007-02-11  Bruno Haible  <bruno@clisp.org>
108725         * lib/c-strstr.c: Include allocsa.h.
108726         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108727         * lib/c-strcasestr.c: Include allocsa.h.
108728         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108729         * lib/strcasestr.c: Include allocsa.h.
108730         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108731         * lib/mbsstr.c: Include allocsa.h.
108732         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108733         allocsa/freesa instead of malloc/free.
108734         * lib/mbscasestr.c: Include allocsa.h.
108735         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108736         allocsa/freesa instead of malloc/free.
108737         * modules/c-strstr (Depends-on): Add allocsa.
108738         * modules/c-strcasestr (Depends-on): Likewise.
108739         * modules/strcasestr (Depends-on): Likewise.
108740         * modules/mbsstr (Depends-on): Likewise.
108741         * modules/mbscasestr (Depends-on): Likewise.
108743 2007-02-11  Bruno Haible  <bruno@clisp.org>
108745         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
108747         * modules/mbsspn-tests: New file.
108748         * tests/test-mbsspn.sh: New file.
108749         * tests/test-mbsspn.c: New file.
108751 2007-02-11  Bruno Haible  <bruno@clisp.org>
108753         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
108755         * modules/mbspbrk-tests: New file.
108756         * tests/test-mbspbrk.sh: New file.
108757         * tests/test-mbspbrk.c: New file.
108759 2007-02-11  Bruno Haible  <bruno@clisp.org>
108761         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
108762         unneeded cast.
108764         * modules/mbscspn-tests: New file.
108765         * tests/test-mbscspn.sh: New file.
108766         * tests/test-mbscspn.c: New file.
108768 2007-02-11  Bruno Haible  <bruno@clisp.org>
108770         * modules/mbscasecmp-tests: New file.
108771         * tests/test-mbscasecmp.sh: New file.
108772         * tests/test-mbscasecmp.c: New file.
108774 2007-02-11  Bruno Haible  <bruno@clisp.org>
108776         Ensure O(n) worst-case complexity of mbscasestr.
108777         * lib/mbscasestr.c: Include stdbool.h.
108778         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108779         functions.
108780         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
108781         the bookkeeping indicates that it's worth it.
108782         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
108784         * modules/mbscasestr-tests: New file.
108785         * tests/test-mbscasestr1.c: New file.
108786         * tests/test-mbscasestr2.sh: New file.
108787         * tests/test-mbscasestr2.c: New file.
108788         * tests/test-mbscasestr3.sh: New file.
108789         * tests/test-mbscasestr3.c: New file.
108790         * tests/test-mbscasestr4.sh: New file.
108791         * tests/test-mbscasestr4.c: New file.
108792         * m4/locale-tr.m4: New file.
108794 2007-02-11  Bruno Haible  <bruno@clisp.org>
108796         Ensure O(n) worst-case complexity of mbsstr.
108797         * lib/mbsstr.c: Include stdbool.h.
108798         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108799         functions.
108800         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
108801         bookkeeping indicates that it's worth it.
108802         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
108804         * modules/mbsstr-tests: New file.
108805         * tests/test-mbsstr1.c: New file.
108806         * tests/test-mbsstr2.sh: New file.
108807         * tests/test-mbsstr2.c: New file.
108808         * tests/test-mbsstr3.sh: New file.
108809         * tests/test-mbsstr3.c: New file.
108810         * m4/locale-fr.m4: New file.
108812 2007-02-11  Bruno Haible  <bruno@clisp.org>
108814         * lib/mbsrchr.c (mbsrchr): Fix bug.
108816         * modules/mbsrchr-tests: New file.
108817         * tests/test-mbsrchr.sh: New file.
108818         * tests/test-mbsrchr.c: New file.
108820 2007-02-11  Bruno Haible  <bruno@clisp.org>
108822         * lib/mbschr.c (mbschr): Fix bug.
108824         * modules/mbschr-tests: New file.
108825         * tests/test-mbschr.sh: New file.
108826         * tests/test-mbschr.c: New file.
108827         * m4/locale-zh.m4: New file.
108829 2007-02-11  Bruno Haible  <bruno@clisp.org>
108831         Support for copying multibyte string iterators.
108832         * lib/mbiter.h: Include <string.h>.
108833         (mbiter_multi_copy): New function.
108834         (mbi_copy): New macro.
108835         * lib/mbuiter.h: Include <string.h>.
108836         (mbuiter_multi_copy): New function.
108837         (mbui_copy): New macro.
108839 2007-02-11  Bruno Haible  <bruno@clisp.org>
108841         New module mbslen.
108842         * modules/mbslen: New file.
108843         * lib/mbslen.c: New file.
108844         * lib/string_.h (mbslen): New declaration.
108845         * m4/mbslen.m4: New file.
108846         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108847         GNULIB_MBSLEN.
108848         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
108849         * MODULES.html.sh (Internationalization functions): Add mbslen.
108851 2007-02-11  Bruno Haible  <bruno@clisp.org>
108853         Ensure O(n) worst-case complexity of strcasestr substitute.
108854         * lib/strcasestr.c: Include stdbool.h.
108855         (knuth_morris_pratt): New function.
108856         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108857         bookkeeping indicates that it's worth it.
108858         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
108860         * modules/strcasestr-tests: New file.
108861         * tests/test-strcasestr.c: New file.
108863 2007-02-11  Bruno Haible  <bruno@clisp.org>
108865         Ensure O(n) worst-case complexity of c_strcasestr.
108866         * lib/c-strcasestr.c: Include stdbool.h, string.h.
108867         (knuth_morris_pratt): New function.
108868         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
108869         the bookkeeping indicates that it's worth it.
108870         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
108872         * modules/c-strcasestr-tests: New file.
108873         * tests/test-c-strcasestr.c: New file.
108875 2007-02-11  Bruno Haible  <bruno@clisp.org>
108877         Ensure O(n) worst-case complexity of c_strstr.
108878         * lib/c-strstr.c: Include stdbool.h, string.h.
108879         (knuth_morris_pratt): New function.
108880         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108881         bookkeeping indicates that it's worth it.
108882         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
108884         * lib/c-strstr.c: Complete rewrite for maintainability.
108886         * modules/c-strstr-tests: New file.
108887         * tests/test-c-strstr.c: New file.
108889 2007-02-11  Bruno Haible  <bruno@clisp.org>
108891         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
108892         5.2.1 and earlier, whereby \055 was treated just like the range
108893         delimiter '-'.
108894         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
108896 2007-02-08  Bruno Haible  <bruno@clisp.org>
108898         * modules/regex (Depends-on): Add stdbool.
108899         Reported by Dalibor Topic <robilad@kaffe.org>.
108901 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
108903         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
108904         Prefer returning from main to exiting from it.
108905         Remove unnecessary parens after sizeof.
108907 2007-02-05  Bruno Haible  <bruno@clisp.org>
108909         New module mbssep.
108910         * modules/mbssep: New file.
108911         * lib/mbssep.c: New file.
108912         * lib/string_.h (strsep): Add a conditional link warning.
108913         (mbssep): New declaration.
108914         * m4/mbssep.m4: New file.
108915         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108916         GNULIB_MBSSEP.
108917         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
108918         * MODULES.html.sh (Internationalization functions): Add mbssep.
108920 2007-02-05  Bruno Haible  <bruno@clisp.org>
108922         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
108923         Optimize search in case of 1 delimiter.
108925 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108927         * lib/acl.h: Include sys/types.h before sys/acl.h.
108929 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108931         Merge upstream fix for glibc bugzilla #3957:
108933         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
108935         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
108936         bit for RE_HAT_LISTS_NOT_NEWLINE.
108937         (build_charclass_op): Remove bogus comment.
108939 2007-02-05  Simon Josefsson  <simon@josefsson.org>
108941         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
108943 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108945         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
108946         * lib/memmem.c [!defined _LIBC]: Include config.h.
108948 2007-02-04  Bruno Haible  <bruno@clisp.org>
108950         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
108951         warning message.
108953 2007-02-04  Bruno Haible  <bruno@clisp.org>
108955         New module mbstok_r.
108956         * modules/mbstok_r: New file.
108957         * lib/mbstok_r.c: New file.
108958         * lib/string_.h (strtok_r): Change argument names to match the
108959         comments. Add a conditional link warning.
108960         (mbstok_r): New declaration.
108961         * m4/mbstok_r.m4: New file.
108962         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108963         GNULIB_MBSTOK_R.
108964         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
108965         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
108967 2007-02-04  Bruno Haible  <bruno@clisp.org>
108969         New module mbsspn.
108970         * modules/mbsspn: New file.
108971         * lib/mbsspn.c: New file.
108972         * lib/string_.h (strspn): Add a conditional link warning.
108973         (mbsspn): New declaration.
108974         * m4/mbsspn.m4: New file.
108975         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108976         GNULIB_MBSSPN.
108977         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
108978         * MODULES.html.sh (Internationalization functions): Add mbsspn.
108980 2007-02-04  Bruno Haible  <bruno@clisp.org>
108982         New module mbspbrk.
108983         * modules/mbspbrk: New file.
108984         * lib/mbspbrk.c: New file.
108985         * lib/string_.h (strpbrk): Add a conditional link warning.
108986         (mbspbrk): New declaration.
108987         * m4/mbspbrk.m4: New file.
108988         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108989         GNULIB_MBSPBRK.
108990         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
108991         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
108993 2007-02-04  Bruno Haible  <bruno@clisp.org>
108995         New module mbscspn.
108996         * modules/mbscspn: New file.
108997         * lib/mbscspn.c: New file.
108998         * lib/string_.h (strcspn): Add a conditional link warning.
108999         (mbscspn): New declaration.
109000         * m4/mbscspn.m4: New file.
109001         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109002         GNULIB_MBSCSPN.
109003         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
109004         * MODULES.html.sh (Internationalization functions): Add mbscspn.
109006 2007-02-04  Bruno Haible  <bruno@clisp.org>
109008         New module mbscasestr, reduced goal of strcasestr.
109009         * modules/mbscasestr: New file.
109010         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
109011         (mbscasestr): Renamed from strcasestr.
109012         * lib/strcasestr.c: Don't include mbuiter.h.
109013         (strcasestr): Remove support for multibyte locales.
109014         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
109015         Change the conditional link warning.
109016         (mbscasestr): New declaration.
109017         * m4/mbscasestr.m4: New file.
109018         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
109019         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
109020         REPLACE_STRCASESTR.
109021         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
109022         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109023         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109024         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
109025         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
109026         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
109027         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
109028         (Depends-on): Remove mbuiter.
109029         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
109031 2007-02-04  Bruno Haible  <bruno@clisp.org>
109033         Simplify handling of strncasecmp.
109034         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
109035         the conditional link warning.
109036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
109037         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
109038         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
109039         * modules/strcase (configure.ac): Don't invoke
109040         gl_STRING_MODULE_INDICATOR.
109041         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
109043 2007-02-04  Bruno Haible  <bruno@clisp.org>
109045         New module mbscasecmp, reduced goal of strcasecmp.
109046         * modules/mbscasecmp: New file.
109047         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
109048         (mbscasecmp): Renamed from strcasecmp.
109049         * lib/strcasecmp.c: Don't include mbuiter.h.
109050         (strcasecmp): Remove support for multibyte locales.
109051         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
109052         Change the conditional link warning.
109053         (mbscasecmp): New declaration.
109054         * m4/mbscasecmp.m4: New file.
109055         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
109056         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
109057         REPLACE_STRCASECMP.
109058         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
109059         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109060         GNULIB_MBSCASECMP.
109061         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
109062         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
109063         * modules/strcase (Files): Remove m4/mbrtowc.m4.
109064         (Depends-on): Remove mbuiter.
109065         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
109067 2007-02-04  Bruno Haible  <bruno@clisp.org>
109069         New module mbsstr. Remove module strstr.
109070         * modules/mbsstr: New file.
109071         * modules/strstr: Remove file.
109072         * lib/mbsstr.c: Renamed from lib/strstr.c.
109073         (mbsstr): Renamed from strstr.
109074         * lib/string_.h (strstr): Remove declaration. Change the conditional
109075         link warning.
109076         (mbsstr): New declaration.
109077         * m4/mbsstr.m4: New file.
109078         * m4/strstr.m4: Remove file.
109079         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
109080         REPLACE_STRSTR.
109081         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
109082         Don't initialize GNULIB_STRSTR.
109083         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
109084         substitute GNULIB_STRSTR and REPLACE_STRSTR.
109085         * MODULES.html.sh (Internationalization functions): Add mbsstr.
109086         (Support for systems lacking ANSI C 89): Remove strstr.
109088 2007-02-04  Bruno Haible  <bruno@clisp.org>
109090         New module mbsrchr.
109091         * modules/mbsrchr: New file.
109092         * lib/mbsrchr.c: New file.
109093         * lib/string_.h (strrchr): Add a conditional link warning.
109094         (mbsrchr): New declaration.
109095         * m4/mbsrchr.m4: New file.
109096         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109097         GNULIB_MBSRCHR.
109098         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
109099         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
109101 2007-02-04  Bruno Haible  <bruno@clisp.org>
109103         New module mbschr.
109104         * modules/mbschr: New file.
109105         * lib/mbschr.c: New file.
109106         * lib/string_.h (strchr): Add a conditional link warning.
109107         (mbschr): New declaration.
109108         * m4/mbschr.m4: New file.
109109         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
109110         GNULIB_MBSCHR.
109111         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
109112         * MODULES.html.sh (Internationalization functions): Add mbschr.
109114 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
109116         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
109118         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
109120 2007-02-04  Bruno Haible  <bruno@clisp.org>
109122         New module description section 'configure.ac-early'.
109123         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
109124         (func_get_autoconf_early_snippet): New function.
109125         (func_import, func_create_testdir): Use it. Remove special cases for
109126         modules 'extensions' and 'lock'.
109127         * modules/extensions (configure.ac-early): Require
109128         gl_USE_SYSTEM_EXTENSIONS.
109129         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
109131 2007-02-04  Bruno Haible  <bruno@clisp.org>
109133         Make use of gcj-4.3's -fsource and -ftarget option.
109134         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
109135         and if so try the options -fsource and -ftarget.
109136         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
109137         source_version, ftarget_option, target_version arguments.
109138         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
109139         (is_envjavac_oldgcj_14_14_usable): Renamed from
109140         is_envjavac_gcj_14_14_usable.
109141         (is_envjavac_oldgcj_14_13_usable): Renamed from
109142         is_envjavac_gcj_14_13_usable.
109143         (is_gcj_present): Update.
109144         (is_gcj_43, is_gcj43_usable): New functions.
109145         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
109146         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
109147         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
109148         try the options -fsource and -ftarget.
109150 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
109152         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
109153         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
109154         larger value.
109156 2007-02-03  Jim Meyering  <jim@meyering.net>
109158         Give tools a better chance to allocate space for very large buffers.
109159         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
109161         Make pwd and readlink work also when run with an unreadable parent dir
109162         on systems with openat support.
109163         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
109164         provided getcwd function, even when we have openat support.
109165         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
109167 2007-02-02  Bruno Haible  <bruno@clisp.org>
109169         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109170         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
109171         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
109172         portability problems if one of these functions is only used on specific
109173         platforms.
109174         Reported by Paul Eggert.
109176 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
109178         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
109179         is causing more trouble than it's curing.
109180         * lib/regex_internal.h (__mempcpy): Remove.
109181         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
109182         (and make the code a tad smaller to boot).
109183         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
109185 2007-02-02  Jim Meyering  <jim@meyering.net>
109187         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
109188         section, not in the Makefile.am: one.
109190 2007-02-02  Eric Blake  <ebb9@byu.net>
109192         * lib/strchrnul.c: Always include config.h first.
109194         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
109195         gnulib strstr is not necessary here.
109197 2007-02-02  Simon Josefsson  <simon@josefsson.org>
109199         * m4/socklen.m4: Fix typo.
109201 2007-02-02  Eric Blake  <ebb9@byu.net>
109203         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
109204         * modules/netinet_in (Makefile.am): Likewise.
109206 2007-02-01  Bruno Haible  <bruno@clisp.org>
109208         * lib/string_.h (GL_LINK_WARNING): New macro.
109209         (strcasecmp, strstr, strcasestr): If provided by the system,
109210         conditionally define as a macro that leads to a warning instead of to
109211         an error.
109212         (strncasecmp): Conditionally define as a macro that leads to a warning.
109214 2007-02-01  Karl Berry  <karl@gnu.org>
109216         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
109218 2007-02-01  Bruno Haible  <bruno@clisp.org>
109220         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
109221         renamings.
109223 2007-02-01  Eric Blake  <ebb9@byu.net>
109225         * modules/regex (Depends-on): Revert dependence on mempcpy.
109226         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
109227         module's definition of mempcpy.
109228         Reported by Paul Eggert.
109230 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
109232         * lib/string_.h: If the gnulib module XYZ is not present, undefine
109233         the symbol XYZ before redefining it.  This fixes a problem with
109234         programs that don't use XYZ, when compiled on systems that define
109235         XYZ to something else.
109237 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
109239         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
109240         occurs when "mkdir -m foo" creates a setgid directory that is (1)
109241         writeable to group or other and (2) is intended to have a special
109242         mode bit that is set or cleared.  In such a case, the directory
109243         should be neither group- nor other-writeable until the special
109244         mode bits are right.
109246 2007-01-31  Eric Blake  <ebb9@byu.net>
109248         * modules/mountlist (Depends-on): Add strstr.
109250         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
109251         bug.
109252         * modules/string (Makefile.am): Remove redundant replacement.
109253         * modules/regex (Depends-on): Add mempcpy.
109255 2007-01-31  Bruno Haible  <bruno@clisp.org>
109257         New module description field 'Link'.
109258         * gnulib-tool (func_usage): Document --extract-link-directive.
109259         (sed_extract_prog): Recognize 'Link' directive.
109260         (func_get_link_directive): New function.
109261         (func_import): Show summary of link directives.
109262         Handle --extract-link-directive option.
109263         * modules/acl (Link): New section.
109264         * modules/clock-time (Link): New section.
109265         * modules/euidaccess (Link): New section.
109266         * modules/gettext (Link): New section.
109267         * modules/iconv (Link): New section.
109268         * modules/lock (Link): New section.
109269         * modules/nanosleep (Link): New section.
109270         * modules/readline (Link): New section.
109272 2007-01-27  Bruno Haible  <bruno@clisp.org>
109274         Enforce the use of gnulib modules for unportable <string.h> functions.
109275         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
109276         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
109277         (gl_HEADER_STRING_H_BODY): Require it.
109278         * lib/string_.h: If the gnulib module XYZ is not present, redefine
109279         the symbol XYZ to one that gives a link error.
109280         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
109281         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
109282         * modules/mempcpy (configure.ac): Likewise.
109283         * modules/memrchr (configure.ac): Likewise.
109284         * modules/stpcpy (configure.ac): Likewise.
109285         * modules/stpncpy (configure.ac): Likewise.
109286         * modules/strcase (configure.ac): Likewise.
109287         * modules/strcasestr (configure.ac): Likewise.
109288         * modules/strchrnul (configure.ac): Likewise.
109289         * modules/strdup (configure.ac): Likewise.
109290         * modules/strndup (configure.ac): Likewise.
109291         * modules/strnlen (configure.ac): Likewise.
109292         * modules/strpbrk (configure.ac): Likewise.
109293         * modules/strsep (configure.ac): Likewise.
109294         * modules/strstr (configure.ac): Likewise.
109295         * modules/strtok_r (configure.ac): Likewise.
109297 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
109299         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
109301 2007-01-30  Jim Meyering  <jim@meyering.net>
109303         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
109305 2007-01-29  Bruno Haible  <bruno@clisp.org>
109307         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
109308         * lib/execute.c: Likewise.
109309         * lib/pipe.c: Likewise.
109310         * lib/printf-args.h: Likewise.
109311         * lib/printf-args.c: Likewise.
109312         * lib/printf-parse.c: Likewise.
109313         * lib/vasnprintf.c: Likewise.
109315 2007-01-29  Eric Blake  <ebb9@byu.net>
109317         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
109318         declaration.
109320 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
109322         * lib/strptime.h (strptime): Use 'restrict' for args where
109323         POSIX requires this.
109324         * lib/strptime.c (strptime): Likewise.
109325         Change license notice from LGPL to GPL, since gnulib-tool will
109326         change this as needed.
109327         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
109328         defined.
109329         Include "strptime.h" first, to check interface.
109330         Do not #undef _LIBC and _NL_CURRENT.
109331         Do not include <stdlib.h>; no longer needed.
109332         Include "time_r.h" and declare ptime_locale_status
109333         only if _LIBC is not defined.
109334         (__P): Remove unused macro.
109335         (match_string): Bring back glibc version, but use it only if _LIBC
109336         is defined.
109337         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
109338         Remove unnecessary assertion and abort() call.
109339         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
109340         * m4/strptime.m4: Fix serial number comment.
109341         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
109342         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
109343         (Depends-on): Add time_r.
109345 2007-01-29  Bruno Haible  <bruno@clisp.org>
109347         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
109348         strptime.
109349         * modules/strptime (Depends-on): Add stdbool.
109350         * lib/strptime.h: Include <time.h> always. Add comments.
109352 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
109354         * modules/strptime: New file.
109355         * lib/strptime.h: New file.
109356         * lib/strptime.c: New file.
109357         * m4/strptime.m4: New file.
109359 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
109361         * MODULES.html.sh: New module mpsort.
109362         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
109364         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
109365         a circularity problem with HP-UX ia64 reported by Bob Proulx in
109366         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
109367         All uses changed.
109368         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
109369         All uses changed.
109370         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
109371         to _Restrict_.
109372         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
109373         the parameter matches the prototype.
109375 2007-01-28  Jim Meyering  <jim@meyering.net>
109377         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
109378         sys/time.h here, reverting that part of the previous patch:
109379         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
109381 2007-01-28  Bruno Haible  <bruno@clisp.org>
109383         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
109384         value of $(SYS_TIME_H).
109385         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
109386         remove it conditionally, too. [added by Jim Meyering]
109387         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
109388         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109389         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
109390         GETTIMEOFDAY_REPLACEMENT to 1.
109392 2007-01-28  Bruno Haible  <bruno@clisp.org>
109394         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
109395         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
109396         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
109397         Set UNISTD_H instead of UNISTD_H2.
109398         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
109400 2007-01-28  Bruno Haible  <bruno@clisp.org>
109402         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
109403         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
109405 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109407         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
109408         (func_create_testdir): Ensure C locale for `grep' and `tr'
109409         character ranges.
109410         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
109411         ACLOCAL_AMFLAGS parsing state machine.
109413 2007-01-27  Bruno Haible  <bruno@clisp.org>
109415         * modules/unistr/base: Update.
109417 2007-01-27  Bruno Haible  <bruno@clisp.org>
109419         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
109420         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
109421         * modules/unistr/u32-mbtouc-unsafe: Renamed from
109422         modules/unistr/u32-mbtouc.
109423         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
109424         * lib/unistr.h: Update.
109425         * lib/linebreak.c: Update.
109426         * modules/unistr/u32-mbtouc: Renamed from
109427         modules/unistr/u32-mbtouc-safe.
109428         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
109429         * lib/unistr.h: Update.
109430         * lib/unistr/u32-to-u8.c: Update.
109431         * lib/unistr/u32-to-u16.c: Update.
109433 2007-01-27  Bruno Haible  <bruno@clisp.org>
109435         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
109436         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
109437         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
109438         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
109439         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
109440         * modules/unistr/u16-mbtouc-unsafe: Renamed from
109441         modules/unistr/u16-mbtouc.
109442         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
109443         * lib/unistr.h: Update.
109444         * lib/linebreak.c: Update.
109445         * modules/linebreak: Update.
109446         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
109447         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
109448         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
109449         * modules/unistr/u16-mbtouc: Renamed from
109450         modules/unistr/u16-mbtouc-safe.
109451         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
109452         * lib/unistr.h: Update.
109453         * lib/unistr/u16-to-u8.c: Update.
109454         * modules/unistr/u16-to-u8: Update.
109455         * lib/unistr/u16-to-u32.c: Update.
109456         * modules/unistr/u16-to-u32: Update.
109458 2007-01-27  Bruno Haible  <bruno@clisp.org>
109460         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
109461         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
109462         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
109463         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
109464         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
109465         * modules/unistr/u8-mbtouc-unsafe: Renamed from
109466         modules/unistr/u8-mbtouc.
109467         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
109468         * lib/unistr.h: Update.
109469         * lib/striconveh.c: Update.
109470         * modules/striconveh: Update.
109471         * lib/linebreak.c: Update.
109472         * modules/linebreak: Update.
109473         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
109474         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
109475         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
109476         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
109477         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
109478         * lib/unistr.h: Update.
109479         * lib/striconveh.c: Update.
109480         * modules/striconveh: Update.
109481         * lib/unistr/u8-to-u16.c: Update.
109482         * modules/unistr/u8-to-u16: Update.
109483         * lib/unistr/u8-to-u32.c: Update.
109484         * modules/unistr/u8-to-u32: Update.
109486 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109488         Sync from Libtool.
109489         * lib/argz.c: Do not include strings.h nor memory.h, include
109490         string.h unconditionally.  Patch by Simon Josefsson.
109492 2007-01-27  Bruno Haible  <bruno@clisp.org>
109494         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
109495         from gl_HEADER_STRING_H_BODY.
109496         (gl_HEADER_STRING_H_BODY): Require it.
109497         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
109498         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
109499         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
109500         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
109501         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
109502         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
109503         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
109504         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
109505         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
109506         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
109507         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
109508         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
109509         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
109510         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
109511         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
109513 2007-01-27  Bruno Haible  <bruno@clisp.org>
109515         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
109516         check_PROGRAMS into noinst_PROGRAMS.
109517         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
109518         check_PROGRAMS in this case.
109519         (func_import): Set for_test to false.
109520         (func_create_testdir): Set for_test to true.
109522 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109523             Bruno Haible  <bruno@clisp.org>
109525         * modules/strcasestr (Files): Remove lib/strcasestr.h.
109526         (Depends-on): Add string.
109527         (Includes): Use <string.h> instead of strcasestr.h.
109528         * modules/string (Makefile.am): Also substitute the value of
109529         REPLACE_STRCASESTR.
109530         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
109531         assume strcasestr is declared in <string.h> not <strings.h>. Also
109532         set REPLACE_STRCASESTR.
109533         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
109534         REPLACE_STRCASESTR.
109535         * lib/strcasestr.h: Remove file.
109536         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
109537         * lib/string_.h (strcasestr): New declaration.
109539 2007-01-27  Bruno Haible  <bruno@clisp.org>
109541         * lib/string_.h: Use 'extern'.
109543 2007-01-27  Jim Meyering  <jim@meyering.net>
109545         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
109546         of set-but-not-used local, "q".
109548         * lib/mempcpy.c: Include <config.h> before <string.h>.
109549         This fixes a compilation error on HP-UX, due to the system's
109550         "restrict"-using mempcpy prototype.
109552 2007-01-26  Bruno Haible  <bruno@clisp.org>
109554         Small optimization.
109555         * lib/javacomp.c: Include c-strstr.h.
109556          (is_envjavac_gcj): Use c_strstr instead of strstr.
109557         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
109559 2007-01-26  Bruno Haible  <bruno@clisp.org>
109561         * MODULES.html.sh (Unicode string functions): Add the new modules.
109563         * modules/uniconv/u32-strconv-to-locale: New file.
109564         * lib/uniconv/u32-strconv-to-locale.c: New file.
109566         * modules/uniconv/u16-strconv-to-locale: New file.
109567         * lib/uniconv/u16-strconv-to-locale.c: New file.
109569         * modules/uniconv/u8-strconv-to-locale: New file.
109570         * lib/uniconv/u8-strconv-to-locale.c: New file.
109572         * modules/uniconv/u32-strconv-from-locale: New file.
109573         * lib/uniconv/u32-strconv-from-locale.c: New file.
109575         * modules/uniconv/u16-strconv-from-locale: New file.
109576         * lib/uniconv/u16-strconv-from-locale.c: New file.
109578         * modules/uniconv/u8-strconv-from-locale: New file.
109579         * lib/uniconv/u8-strconv-from-locale.c: New file.
109581         * modules/uniconv/u32-strconv-to-enc: New file.
109582         * lib/uniconv/u32-strconv-to-enc.c: New file.
109583         * modules/uniconv/u32-strconv-to-enc-tests: New file.
109584         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
109586         * modules/uniconv/u16-strconv-to-enc: New file.
109587         * lib/uniconv/u16-strconv-to-enc.c: New file.
109588         * lib/uniconv/u-strconv-to-enc.h: New file.
109589         * modules/uniconv/u16-strconv-to-enc-tests: New file.
109590         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
109592         * modules/uniconv/u8-strconv-to-enc: New file.
109593         * lib/uniconv/u8-strconv-to-enc.c: New file.
109594         * modules/uniconv/u8-strconv-to-enc-tests: New file.
109595         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
109597         * modules/uniconv/u32-strconv-from-enc: New file.
109598         * lib/uniconv/u32-strconv-from-enc.c: New file.
109599         * modules/uniconv/u32-strconv-from-enc-tests: New file.
109600         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
109602         * modules/uniconv/u16-strconv-from-enc: New file.
109603         * lib/uniconv/u16-strconv-from-enc.c: New file.
109604         * modules/uniconv/u16-strconv-from-enc-tests: New file.
109605         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
109607         * modules/uniconv/u8-strconv-from-enc: New file.
109608         * lib/uniconv/u8-strconv-from-enc.c: New file.
109609         * lib/uniconv/u-strconv-from-enc.h: New file.
109610         * modules/uniconv/u8-strconv-from-enc-tests: New file.
109611         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
109613         * modules/uniconv/u32-conv-from-enc: New file.
109614         * lib/uniconv/u32-conv-from-enc.c: New file.
109615         * modules/uniconv/u32-conv-from-enc-tests: New file.
109616         * tests/uniconv/test-u32-conv-from-enc.c: New file.
109618         * modules/uniconv/u16-conv-from-enc: New file.
109619         * lib/uniconv/u16-conv-from-enc.c: New file.
109620         * lib/uniconv/u-conv-from-enc.h: New file.
109621         * modules/uniconv/u16-conv-from-enc-tests: New file.
109622         * tests/uniconv/test-u16-conv-from-enc.c: New file.
109624         * modules/uniconv/u8-conv-from-enc: New file.
109625         * lib/uniconv/u8-conv-from-enc.c: New file.
109626         * modules/uniconv/u8-conv-from-enc-tests: New file.
109627         * tests/uniconv/test-u8-conv-from-enc.c: New file.
109629         * modules/uniconv/base: New file.
109630         * lib/uniconv.h: New file.
109632 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
109634         * doc/gnulib-tool.texi (Initial import): Update to match current
109635         behavior with strdup module.
109636         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
109637         * lib/memmem.h: Remove; all uses removed.  This is now done
109638         by <string.h>.
109639         * lib/mempcpy.h: Likewise.
109640         * lib/memrchr.h: Likewise.
109641         * lib/stpcpy.h: Likewise.
109642         * lib/stpncpy.h: Likewise.
109643         * lib/strcase.h: Likewise.
109644         * lib/strchrnul.h: Likewise.
109645         * lib/strdup.h: Likewise.
109646         * lib/strndup.h: Likewise.
109647         * lib/strnlen.h: Likewise.
109648         * lib/strpbrk.h: Likewise.
109649         * lib/strsep.h: Likewise.
109650         * lib/strstr.h: Likewise.
109651         * lib/strtok_r.h: Likewise.
109652         * lib/string_.h: New file.
109653         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
109654         Rely on <string.h> instead.
109655         * lib/canon-host.c: Likewise.
109656         * lib/chdir-long.c: Likewise.
109657         * lib/concatpath.c: Likewise.
109658         * lib/exclude.c: Likewise.
109659         * lib/fchdir.c: Likewise.
109660         * lib/getaddrinfo.c: Likewise.
109661         * lib/getcwd.c: Likewise.
109662         * lib/getsubopt.c: Likewise.
109663         * lib/glob.c: Likewise.
109664         * lib/hard-locale.c: Likewise.
109665         * lib/iconvme.c: Likewise.
109666         * lib/javacomp.c: Likewise.
109667         * lib/mempcpy.c: Likewise.
109668         * lib/memrchr.c: Likewise.
109669         * lib/regex_internal.h: Likewise.
109670         * lib/stpncpy.c: Likewise.
109671         * lib/strcasecmp.c: Likewise.
109672         * lib/strchrnul.c: Likewise.
109673         * lib/strdup.c: Likewise.
109674         * lib/striconv.c: Likewise.
109675         * lib/striconveh.c: Likewise.
109676         * lib/striconveha.c: Likewise.
109677         * lib/strncasecmp.c: Likewise.
109678         * lib/strndup.c: Likewise.
109679         * lib/strnlen.c: Likewise.
109680         * lib/strsep.c: Likewise.
109681         * lib/strstr.c: Likewise.
109682         * lib/strtok_r.c: Likewise.
109683         * lib/userspec.c: Likewise.
109684         * lib/w32spawn.h: Likewise.
109685         * lib/xstrndup.c: Likewise.
109686         * lib/mountlist.c (strstr): Remove decl.
109687         * m4/string_h.m4: New file.
109688         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
109689         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
109690         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
109691         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
109692         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
109693         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
109694         Set REPLACE_STRCASECMP if necessary.
109695         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
109696         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
109697         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
109698         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
109699         HAVE_DECL_STRDUP if necessary.
109700         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
109701         since gl_FUNC_STRNDUP does that now.
109702         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
109703         Check for decl here...
109704         (gl_PREREQ_STRNLEN): ... not here.
109705         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
109706         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
109707         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
109708         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
109709         necessary.
109710         * modules/string: New file.
109711         * modules/memmem (Files): Remove special-purpose include file.
109712         (Depends-on): Add string.
109713         (Include): Include <string.h>, not the removed file.
109714         * modules/mempcpy: Likewise.
109715         * modules/memrchr: Likewise.
109716         * modules/stpcpy: Likewise.
109717         * modules/stpncpy: Likewise.
109718         * modules/strcase: Likewise.
109719         * modules/strchrnul: Likewise.
109720         * modules/strdup: Likewise.
109721         * modules/strndup: Likewise.
109722         * modules/strnlen: Likewise.
109723         * modules/strpbrk: Likewise.
109724         * modules/strsep: Likewise.
109725         * modules/strstr: Likewise.
109726         * modules/strtok_r: Likewise.
109727         * tests/test-dirname.c: Don't include "strdup.h", since
109728         <string.h> now suffices.
109729         * tests/test-memmem.c: Don't include "memmem.h", since
109730         <string.h> now suffices.
109732 2007-01-25  Bruno Haible  <bruno@clisp.org>
109734         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
109735         *resultp is 0.
109737         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
109738         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
109739         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
109740         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
109742         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
109743         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
109744         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
109745         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
109746         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
109747         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
109749 2007-01-24  Bruno Haible  <bruno@clisp.org>
109751         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
109752         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
109753         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
109754         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
109755         gl_FUNC_FTS_CORE.
109756         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
109757         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
109758         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
109759         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
109760         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
109761         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
109762         gl_FUNC_FCHOWNAT.
109763         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
109764         gl_FUNC_STRFTIME.
109765         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
109766         Reported by Ralf Wildenhues.
109768 2007-01-24  Bruno Haible  <bruno@clisp.org>
109770         Drop AC_REQUIRE calls that are redundant with the module dependencies.
109771         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
109772         gl_GETADDRINFO.
109773         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
109774         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
109775         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
109777 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
109779         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
109780         Don't use 'exit'; just return from 'main'.
109781         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
109783         * lib/fnmatch_.h: Readjust white space and comments to match
109784         glibc, to avoid spurious diffs.
109786 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109788         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
109789         2004-12-01 change by Jakub Jelinek, since this code won't compile
109790         if !LIBC.  Problem reported by Bob Proulx.
109792 2007-01-23  Bruno Haible  <bruno@clisp.org>
109794         * lib/striconveh.c: Include c-strcaseeq.h.
109795         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
109796         * modules/striconveh (Depends-on): Add c-strcaseeq.
109798 2007-01-23  Bruno Haible  <bruno@clisp.org>
109800         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
109802         * modules/c-strcaseeq: New file.
109803         * lib/c-strcaseeq.h: New file.
109805         * modules/streq: New file.
109806         * lib/streq.h: New file.
109808 2007-01-23  Bruno Haible  <bruno@clisp.org>
109810         * modules/striconveha-tests: New file.
109811         * tests/test-striconveha.c: New file.
109813         * lib/striconveha.h: Include <stdbool.h>.
109814         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
109815         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
109816         (mem_iconveha_notranslit): Renamed from mem_iconveha.
109817         (mem_iconveha): New function.
109818         (str_iconveha_notranslit): Renamed from str_iconveha.
109819         (str_iconveha): New function.
109820         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
109821         c-strcase.
109823 2007-01-23  Bruno Haible  <bruno@clisp.org>
109825         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
109826         encodings without forgiving before trying any encoding with handler.
109827         (str_iconveha): Try all encodings without forgiving before trying any
109828         encoding with handler.
109830 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109832         Import the following changes from libc.
109834         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
109836         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
109838         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
109840         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
109841         normal_bracket label.
109843         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
109845         [BZ #361]
109846         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
109847         to normal_bracket after fetching the next character.
109849 2007-01-22  Bruno Haible  <bruno@clisp.org>
109851         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
109852         argument.
109853         * lib/striconveh.c (iconv_carefully_1): New function.
109854         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
109855         argument.
109856         (str_cd_iconveh): Update.
109857         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
109858         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
109859         * tests/test-striconveh.c (MAGIC): New macro.
109860         (new_offsets): New function.
109861         (main): Test call with and without offsets.
109863 2007-01-22  Bruno Haible  <bruno@clisp.org>
109865         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
109866         * modules/sys_select (Makefile.am): Likewise.
109867         * modules/sys_socket (Makefile.am): Likewise.
109868         * modules/sys_time (Makefile.am): Likewise.
109870 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
109872         * modules/gettimeofday (License): Change from GPL to LGPL, since
109873         gettimeofday is a library function.
109875 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109877         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
109879 2007-01-21  Bruno Haible  <bruno@clisp.org>
109881         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
109883 2007-01-21  Bruno Haible  <bruno@clisp.org>
109885         * modules/striconveha: New file.
109886         * lib/striconveha.h: New file.
109887         * lib/striconveha.c: New file.
109888         * MODULES.html.sh (Internationalization functions): Add striconveha.
109889         * lib/striconv.c (str_iconv): Optimize the case of an empty input
109890         string.
109891         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
109893 2007-01-21  Bruno Haible  <bruno@clisp.org>
109895         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
109896         * lib/striconveh.c (str_iconveh): Likewise.
109898 2007-01-21  Bruno Haible  <bruno@clisp.org>
109900         * lib/striconveh.h (mem_iconveh): New declaration.
109901         * lib/striconveh.c (mem_iconveh): New function.
109902         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
109904 2007-01-21  Bruno Haible  <bruno@clisp.org>
109906         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
109908         * lib/striconveh.h (mem_cd_iconveh): Change specification.
109909         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
109910         original result buffer.
109911         (str_cd_iconveh): Update.
109912         * tests/test-striconveh.c (main): Update.
109914         * lib/striconv.h (mem_cd_iconv): Change specification.
109915         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
109916         result buffer.
109917         (str_cd_iconv): Update.
109918         * tests/test-striconv.c (main): Update.
109920 2007-01-21  Bruno Haible  <bruno@clisp.org>
109922         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
109924 2007-01-20  Jim Meyering  <jim@meyering.net>
109926         * lib/userspec.c (parse_with_separator): If a user or group string
109927         starts with "+", skip the corresponding name-to-ID look-up, since
109928         such a look-up must fail: user and group names may not include "+".
109930 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
109932         * lib/poll.c: Include sys/time.h and time.h unconditionally,
109933         since we now assume the sys_time module.
109934         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
109935         check for sys/time.h; no longer needed.
109936         * modules/poll (Depends-on): Depend on sys_time.
109938 2007-01-18  Bruno Haible  <bruno@clisp.org>
109940         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
109941         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109943         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
109944         gettimeofday.
109946         * tests/test-gettimeofday.c: Include <time.h>.
109947         (dummy): Remove variable.
109949         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
109950         gl_HEADER_SYS_TIME_H.
109951         (gl_HEADER_SYS_TIME_H): New macro.
109953         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
109954         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109955         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
109956         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
109957         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109958         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
109959         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
109960         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109961         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
109962         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
109963         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109965         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
109966         last change; it caused a compilation error when cross-compiling to
109967         Cygwin.
109969 2007-01-18  Jim Meyering  <jim@meyering.net>
109971         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
109972         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
109973         than the race-prone "test -d sys || mkdir sys".
109974         (configure.ac): Use AC_PROG_MKDIR_P.
109975         * modules/sys_select: Likewise.
109976         * modules/sys_socket: Likewise.
109977         * modules/sys_time: Likewise.
109979 2007-01-18  Eric Blake  <ebb9@byu.net>
109981         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
109982         replace gettimeofday.
109983         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
109984         name, to avoid infinite recursion.
109986 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
109988         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
109989         module sys_time.
109990         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
109991         assume timespec.h defines struct timeval.
109992         * lib/settime.c: Likewise.
109993         * lib/utimens.c: Likewise.
109994         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
109995         since we now assume the gettimeofday module.
109996         * lib/tempname.c (__gen_tempname): Likewise.
109997         * lib/gettimeofday.h: Remove.
109998         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
109999         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
110000         Include <time.h>, for 'time()'.
110001         (localtime_buffer_addr): Also use this workaround if
110002         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
110003         to simplify the uses.  All uses changed.
110004         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
110005         that #undef is inside {}, and 'const' follows type name consistently.
110006         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
110007         (gettimeofday): Do not use the maximum possible value for
110008         tv->tv_usec, since that might break usages other than ls.c.
110009         Instead, we'll leave ls.c alone.  This undoes today's patch
110010         by Bruno.  Add a compile-time warning for 1s-clock resolution;
110011         we've never observed the problem but might as well keep the
110012         canary.
110013         * lib/nanosleep.c: Include timespec.h first, for interface check.
110014         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
110015         now assume the sys_time module.
110016         * lib/tempname.c: Likewise.
110017         * lib/timespec.h: Likewise.
110018         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
110019         needed.
110020         * lib/strftime.c: Likewise.
110021         * lib/timespec.h: Likewise.
110022         * lib/posixtm.c: Include posixtm.h first, for interface check.
110023         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
110024         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
110025         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
110026         * lib/sys_time_.h: New file.
110027         * lib/timespec.h (struct timespec): Use long int, not long.
110028         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
110029         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
110030         Remove obsolescent call to AC_HEADER_TIME.
110031         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
110032         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
110033         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
110034         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
110035         Likewise.
110036         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
110037         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
110038         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
110039         into the sys_time module.  Check for gettimeofday just once.
110040         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
110041         for gettimeofday signature to just check the signature.  Merely
110042         compile it, since linking doesn't test signature.  Improve test for
110043         whether gettimeofday.o is actually needed.
110044         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
110045         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
110046         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
110047         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110048         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
110049         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
110050         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
110051         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
110052         than worrying about sys/time.h.
110053         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
110054         Don't bother worrying about TIME_WITH_SYS_TIME.
110055         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
110056         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
110057         * m4/sys_time_h.m4: New file.
110058         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
110059         Don't include sys/time.h.  Return from main rather than exiting.
110060         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
110061         all uses changed.
110062         * modules/gethrxtime (Depends-on): Add sys_time.
110063         * modules/gettime (Depends-on): Likewise.
110064         * modules/gettimeofday (Depends-on): Likewise.
110065         * modules/nanosleep (Depends-on): Likewise.
110066         * modules/settime (Depends-on): Likewise.
110067         * modules/tempname (Depends-on): Likewise.
110068         * modules/utimens (Depends-on): Likewise.
110069         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
110070         (Include): Change back to <sys/time.h>.
110071         (Maintainer): Add self.
110072         * modules/sys_time: New file.
110073         * modules/tempname (Depends-on): Add gettimeofday.
110074         * tests/test-gettimeofday.c: Include <sys/time.h>
110075         rather than gettimeofday.h.
110077 2007-01-17  Bruno Haible  <bruno@clisp.org>
110079         * gnulib-tool (func_get_license): Revert last patch. Instead, let
110080         the license default to GPL.
110081         (func_create_testdir): Don't complain if a module is LGPL and its
110082         tests module depends on GPLed modules.
110084 2007-01-17  Bruno Haible  <bruno@clisp.org>
110086         * lib/gettimeofday.c (gettimeofday): Add code for the case
110087         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
110088         maximum possible value for tv->tv_usec, rather than the minimum one.
110090 2005-10-08  Martin Lambers  <marlam@marlam.de>
110091 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
110092 2007-01-16  Bruno Haible  <bruno@clisp.org>
110094         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
110095         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
110096         gl_FUNC_GETTIMEOFDAY.
110097         (Include): Add gettimeofday.h.
110098         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
110099         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
110100         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
110101         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
110102         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
110103         * lib/gettimeofday.h: New file.
110104         * lib/gettimeofday.c: Include <sys/timeb.h>.
110105         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
110106         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
110107         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
110108         fall back on time().
110110         * tests/test-gettimeofday.c: New file.
110111         * modules/gettimeofday-tests: New file.
110113 2007-01-16  Eric Blake  <ebb9@byu.net>
110115         * modules/fnmatch (Depends-on): Depend on wchar.
110116         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
110117         * m4/fnmatch.m4: Likewise.
110118         * modules/mbchar (Makefile.am): Assume <wchar.h>.
110119         * m4/mbchar.m4: Likewise.
110120         * modules/mbswidth (Depends-on): Depend on wchar.
110121         * lib/mbswidth.c: Assume <wchar.h>.
110122         * m4/mbswidth.m4: Likewise.
110123         * modules/quotearg (Depends-on): Depend on wchar.
110124         * lib/quotearg.c: Assume <wchar.h>.
110125         * m4/quotearg.m4: Likewise.
110126         * modules/regex (Depends-on): Depend on wchar.
110127         * lib/regex_internal.h: Assume <wchar.h>.
110128         * m4/regex.m4: Likewise.
110129         * modules/stdint (Depends-on): Depend on wchar.
110130         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
110131         * m4/stdint.m4: Likewise.
110132         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
110133         * modules/strftime (Depends-on): Depend on wchar.
110134         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
110135         * modules/strtol (Depends-on): Depend on wchar.
110136         * lib/strtol.c: Assume <wchar.h>.
110137         * modules/wcwidth (Depends-on): Depend on wchar.
110138         * lib/wcwidth.h: Assume <wchar.h>.
110139         * m4/wcwidth.m4: Likewise.
110141 2007-01-16  Bruno Haible  <bruno@clisp.org>
110143         * modules/csharpexec-script: New, created from...
110144         * modules/csharpexec: ... this.
110146 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
110148         * modules/javaexec-script: New, created from...
110149         * modules/javaexec: ... this.
110151 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110153         * modules/poll (Dependencies): Add sys_select.
110155 2007-01-15  Jim Meyering  <jim@meyering.net>
110157         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
110158         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
110159         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
110160         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
110162 2007-01-15  Bruno Haible  <bruno@clisp.org>
110164         * modules/striconveh: New file.
110165         * lib/striconveh.h: New file.
110166         * lib/striconveh.c: New file.
110167         * MODULES.html.sh (Internationalization functions): Add striconveh.
110169         * modules/striconveh-tests: New file.
110170         * tests/test-striconveh.c: New file.
110172 2007-01-15  Bruno Haible  <bruno@clisp.org>
110174         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
110175         not from GNU libiconv or GNU libc.
110177 2007-01-15  Bruno Haible  <bruno@clisp.org>
110179         * doc/gnulib-intro.texi (Copyright): Explain the different license
110180         terms for module descriptions, autoconf macros, tests, documentation.
110182 2007-01-14  Bruno Haible  <bruno@clisp.org>
110184         * modules/striconv-tests: New file.
110185         * tests/test-striconv.c: New file.
110187 2007-01-14  Bruno Haible  <bruno@clisp.org>
110189         * modules/iconv-tests: New file.
110190         * tests/test-iconv.c: New file.
110192 2007-01-14  Bruno Haible  <bruno@clisp.org>
110194         * gnulib-tool (func_get_license): For test modules, use the license of
110195         the main module.
110197 2007-01-14  Bruno Haible  <bruno@clisp.org>
110199         * modules/iconv (Include): Clarify that <iconv.h> can only be included
110200         if iconv is found to exist.
110202 2007-01-14  Bruno Haible  <bruno@clisp.org>
110204         * modules/c-ctype-tests: New file.
110205         * tests/test-c-ctype.c: New file.
110207 2007-01-14  Bruno Haible  <bruno@clisp.org>
110209         * modules/binary-io-tests: New file.
110210         * tests/test-binary-io.sh: New file.
110211         * tests/test-binary-io.c: New file.
110213 2007-01-14  Bruno Haible  <bruno@clisp.org>
110215         * modules/array-oset-tests: New file.
110216         * tests/test-array_oset.c: New file.
110218 2007-01-14  Bruno Haible  <bruno@clisp.org>
110220         * modules/array-list-tests: New file.
110221         * tests/test-array_list.c: New file.
110223 2007-01-14  Bruno Haible  <bruno@clisp.org>
110225         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
110226         and make.
110227         Reported by Simon Josefsson in
110228         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
110230 2007-01-14  Bruno Haible  <bruno@clisp.org>
110232         * modules/allocsa-tests: New file.
110233         * tests/test-allocsa.c: New file.
110235 2007-01-14  Bruno Haible  <bruno@clisp.org>
110237         * modules/fchdir (Depends-on): Add absolute-header.
110238         * modules/unistd (Depends-on): Likewise.
110240 2006-12-30  Bruno Haible  <bruno@clisp.org>
110242         * modules/fchdir: New file.
110243         * modules/unistd (Files): Add lib/unistd_.h.
110244         (Makefile.am): Generate unistd.h from unistd_.h.
110245         * lib/fchdir.c: New file.
110246         * lib/dirent_.h: New file.
110247         * lib/unistd_.h: New file.
110248         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
110249         * m4/fchdir.m4: New file.
110250         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
110251         (gl_HEADER_UNISTD): Invoke it.
110252         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
110253         function.
110254         * lib/backupfile.c (opendir, closedir): Undefine.
110255         * lib/chown.c (open, close): Undefine.
110256         * lib/clean-temp.c (open, close): Undefine.
110257         * lib/copy-file.c (open, close): Undefine.
110258         * lib/execute.c (open, close): Undefine.
110259         * lib/fsusage.c (open, close): Undefine.
110260         * lib/gc-gnulib.c (open, close): Undefine.
110261         * lib/getcwd.c (opendir, closedir): Undefine.
110262         * lib/glob.c (opendir, closedir): Undefine.
110263         * lib/javacomp.c (open, close): Undefine.
110264         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
110265         * lib/openat-proc.c (open, close): Undefine.
110266         * lib/pagealign_alloc.c (open, close): Undefine.
110267         * lib/pipe.c (open, close): Undefine.
110268         * lib/progreloc.c (open, close): Undefine.
110269         * lib/savedir.c (opendir, closedir): Undefine.
110270         * lib/utime.c (open, close): Undefine.
110271         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
110273 2007-01-10  Bruno Haible  <bruno@clisp.org>
110275         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
110277 2007-01-12  Eric Blake  <ebb9@byu.net>
110279         Provide a robust <wchar.h>.  Further simplifications are now
110280         possible in other modules, but not included here.
110281         * modules/wchar: New module.
110282         * m4/wchar.m4: New file.
110283         * lib/wchar_.h: Likewise.
110284         * modules/mbchar (Depends-on): Depend on wchar, as the first use
110285         of the new module.
110286         * MODULES.html.sh (Extended multibyte and wide character utilities):
110287         New section.
110289 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
110291         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
110292         to a reasonable default for memory allocation.
110293         (xreadlink): Don't allocate a huge buffer, to work around a buggy
110294         file system that reports garbage st_size values for symlinks.
110295         Problem reported by Liyang Hu.
110297 2007-01-11  Simon Josefsson  <simon@josefsson.org>
110299         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
110300         Emacs .#* auto-save files).
110302 2007-01-11  Bruno Haible  <bruno@clisp.org>
110304         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
110305         directory.
110307 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
110309         Use @...@ consistently in lib/wctype_.h.
110310         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
110311         on it being set to 1 or 0.
110312         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
110313         go back to AC_SUBSTing it.
110314         * modules/wctype (Makefile.am): Undo previous change.
110316 2007-01-10  Eric Blake  <ebb9@byu.net>
110318         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
110319         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
110320         * modules/wctype (Makefile.am): Likewise.
110321         Reported by Chris McGuire.
110323 2007-01-10  Jim Meyering  <jim@meyering.net>
110325         fts.c: a small readability/maintainability improvement
110326         * lib/fts.c (fts_read): Make this code slightly more readable and
110327         maintainable by hoisting the "sp->fts_cur = p" assignments to
110328         immediately follow the statements that set P.  Derived from
110329         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
110331 2007-01-10  Eric Blake  <ebb9@byu.net>
110333         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
110334         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
110335         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110336         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
110337         Reported by Chris McGuire.
110339 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110341         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
110342         in sed script.
110344 2007-01-09  Bruno Haible  <bruno@clisp.org>
110346         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
110347         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
110348         variables.
110349         (func_module): Use them.
110351 2007-01-09  Bruno Haible  <bruno@clisp.org>
110353         * modules/unistr/base: New file.
110354         * lib/unistr.h: New file.
110356         * modules/unistr/u8-to-u16: New file.
110357         * lib/unistr/u8-to-u16.c: New file.
110359         * modules/unistr/u8-to-u32: New file.
110360         * lib/unistr/u8-to-u32.c: New file.
110362         * modules/unistr/u16-to-u8: New file.
110363         * lib/unistr/u16-to-u8.c: New file.
110365         * modules/unistr/u16-to-u32: New file.
110366         * lib/unistr/u16-to-u32.c: New file.
110368         * modules/unistr/u32-to-u8: New file.
110369         * lib/unistr/u32-to-u8.c: New file.
110371         * modules/unistr/u32-to-u16: New file.
110372         * lib/unistr/u32-to-u16.c: New file.
110374         * modules/unistr/u8-check: New file.
110375         * modules/unistr/u16-check: New file.
110376         * modules/unistr/u32-check: New file.
110377         * lib/unistr/u8-check.c: New file.
110378         * lib/unistr/u16-check.c: New file.
110379         * lib/unistr/u32-check.c: New file.
110381         * modules/unistr/u8-chr: New file.
110382         * modules/unistr/u16-chr: New file.
110383         * modules/unistr/u32-chr: New file.
110384         * lib/unistr/u8-chr.c: New file.
110385         * lib/unistr/u16-chr.c: New file.
110386         * lib/unistr/u32-chr.c: New file.
110388         * modules/unistr/u8-cmp: New file.
110389         * modules/unistr/u16-cmp: New file.
110390         * modules/unistr/u32-cmp: New file.
110391         * lib/unistr/u8-cmp.c: New file.
110392         * lib/unistr/u16-cmp.c: New file.
110393         * lib/unistr/u32-cmp.c: New file.
110395         * modules/unistr/u8-cpy: New file.
110396         * modules/unistr/u16-cpy: New file.
110397         * modules/unistr/u32-cpy: New file.
110398         * lib/unistr/u8-cpy.c: New file.
110399         * lib/unistr/u16-cpy.c: New file.
110400         * lib/unistr/u32-cpy.c: New file.
110401         * lib/unistr/u-cpy.h: New file.
110403         * modules/unistr/u8-cpy-alloc: New file.
110404         * modules/unistr/u16-cpy-alloc: New file.
110405         * modules/unistr/u32-cpy-alloc: New file.
110406         * lib/unistr/u8-cpy-alloc.c: New file.
110407         * lib/unistr/u16-cpy-alloc.c: New file.
110408         * lib/unistr/u32-cpy-alloc.c: New file.
110409         * lib/unistr/u-cpy-alloc.h: New file.
110411         * modules/unistr/u8-endswith: New file.
110412         * modules/unistr/u16-endswith: New file.
110413         * modules/unistr/u32-endswith: New file.
110414         * lib/unistr/u8-endswith.c: New file.
110415         * lib/unistr/u16-endswith.c: New file.
110416         * lib/unistr/u32-endswith.c: New file.
110417         * lib/unistr/u-endswith.h: New file.
110419         * modules/unistr/u8-mblen: New file.
110420         * modules/unistr/u16-mblen: New file.
110421         * modules/unistr/u32-mblen: New file.
110422         * lib/unistr/u8-mblen.c: New file.
110423         * lib/unistr/u16-mblen.c: New file.
110424         * lib/unistr/u32-mblen.c: New file.
110426         * modules/unistr/u8-mbtouc: New file.
110427         * modules/unistr/u16-mbtouc: New file.
110428         * modules/unistr/u32-mbtouc: New file.
110429         * lib/unistr/u8-mbtouc.c: New file.
110430         * lib/unistr/u16-mbtouc.c: New file.
110431         * lib/unistr/u32-mbtouc.c: New file.
110433         * modules/unistr/u8-mbtouc-safe: New file.
110434         * modules/unistr/u16-mbtouc-safe: New file.
110435         * modules/unistr/u32-mbtouc-safe: New file.
110436         * lib/unistr/u8-mbtouc-safe.c: New file.
110437         * lib/unistr/u16-mbtouc-safe.c: New file.
110438         * lib/unistr/u32-mbtouc-safe.c: New file.
110440         * modules/unistr/u8-move: New file.
110441         * modules/unistr/u16-move: New file.
110442         * modules/unistr/u32-move: New file.
110443         * lib/unistr/u8-move.c: New file.
110444         * lib/unistr/u16-move.c: New file.
110445         * lib/unistr/u32-move.c: New file.
110446         * lib/unistr/u-move.h: New file.
110448         * modules/unistr/u8-next: New file.
110449         * modules/unistr/u16-next: New file.
110450         * modules/unistr/u32-next: New file.
110451         * lib/unistr/u8-next.c: New file.
110452         * lib/unistr/u16-next.c: New file.
110453         * lib/unistr/u32-next.c: New file.
110455         * modules/unistr/u8-prev: New file.
110456         * modules/unistr/u16-prev: New file.
110457         * modules/unistr/u32-prev: New file.
110458         * lib/unistr/u8-prev.c: New file.
110459         * lib/unistr/u16-prev.c: New file.
110460         * lib/unistr/u32-prev.c: New file.
110462         * modules/unistr/u8-set: New file.
110463         * modules/unistr/u16-set: New file.
110464         * modules/unistr/u32-set: New file.
110465         * lib/unistr/u8-set.c: New file.
110466         * lib/unistr/u16-set.c: New file.
110467         * lib/unistr/u32-set.c: New file.
110468         * lib/unistr/u-set.h: New file.
110470         * modules/unistr/u8-startswith: New file.
110471         * modules/unistr/u16-startswith: New file.
110472         * modules/unistr/u32-startswith: New file.
110473         * lib/unistr/u8-startswith.c: New file.
110474         * lib/unistr/u16-startswith.c: New file.
110475         * lib/unistr/u32-startswith.c: New file.
110476         * lib/unistr/u-startswith.h: New file.
110478         * modules/unistr/u8-stpcpy: New file.
110479         * modules/unistr/u16-stpcpy: New file.
110480         * modules/unistr/u32-stpcpy: New file.
110481         * lib/unistr/u8-stpcpy.c: New file.
110482         * lib/unistr/u16-stpcpy.c: New file.
110483         * lib/unistr/u32-stpcpy.c: New file.
110484         * lib/unistr/u-stpcpy.h: New file.
110486         * modules/unistr/u8-stpncpy: New file.
110487         * modules/unistr/u16-stpncpy: New file.
110488         * modules/unistr/u32-stpncpy: New file.
110489         * lib/unistr/u8-stpncpy.c: New file.
110490         * lib/unistr/u16-stpncpy.c: New file.
110491         * lib/unistr/u32-stpncpy.c: New file.
110492         * lib/unistr/u-stpncpy.h: New file.
110494         * modules/unistr/u8-strcat: New file.
110495         * modules/unistr/u16-strcat: New file.
110496         * modules/unistr/u32-strcat: New file.
110497         * lib/unistr/u8-strcat.c: New file.
110498         * lib/unistr/u16-strcat.c: New file.
110499         * lib/unistr/u32-strcat.c: New file.
110500         * lib/unistr/u-strcat.h: New file.
110502         * modules/unistr/u8-strchr: New file.
110503         * modules/unistr/u16-strchr: New file.
110504         * modules/unistr/u32-strchr: New file.
110505         * lib/unistr/u8-strchr.c: New file.
110506         * lib/unistr/u16-strchr.c: New file.
110507         * lib/unistr/u32-strchr.c: New file.
110509         * modules/unistr/u8-strcmp: New file.
110510         * modules/unistr/u16-strcmp: New file.
110511         * modules/unistr/u32-strcmp: New file.
110512         * lib/unistr/u8-strcmp.c: New file.
110513         * lib/unistr/u16-strcmp.c: New file.
110514         * lib/unistr/u32-strcmp.c: New file.
110516         * modules/unistr/u8-strcpy: New file.
110517         * modules/unistr/u16-strcpy: New file.
110518         * modules/unistr/u32-strcpy: New file.
110519         * lib/unistr/u8-strcpy.c: New file.
110520         * lib/unistr/u16-strcpy.c: New file.
110521         * lib/unistr/u32-strcpy.c: New file.
110522         * lib/unistr/u-strcpy.h: New file.
110524         * modules/unistr/u8-strcspn: New file.
110525         * modules/unistr/u16-strcspn: New file.
110526         * modules/unistr/u32-strcspn: New file.
110527         * lib/unistr/u8-strcspn.c: New file.
110528         * lib/unistr/u16-strcspn.c: New file.
110529         * lib/unistr/u32-strcspn.c: New file.
110530         * lib/unistr/u-strcspn.h: New file.
110532         * modules/unistr/u8-strdup: New file.
110533         * modules/unistr/u16-strdup: New file.
110534         * modules/unistr/u32-strdup: New file.
110535         * lib/unistr/u8-strdup.c: New file.
110536         * lib/unistr/u16-strdup.c: New file.
110537         * lib/unistr/u32-strdup.c: New file.
110538         * lib/unistr/u-strdup.h: New file.
110540         * modules/unistr/u8-strlen: New file.
110541         * modules/unistr/u16-strlen: New file.
110542         * modules/unistr/u32-strlen: New file.
110543         * lib/unistr/u8-strlen.c: New file.
110544         * lib/unistr/u16-strlen.c: New file.
110545         * lib/unistr/u32-strlen.c: New file.
110546         * lib/unistr/u-strlen.h: New file.
110548         * modules/unistr/u8-strmblen: New file.
110549         * modules/unistr/u16-strmblen: New file.
110550         * modules/unistr/u32-strmblen: New file.
110551         * lib/unistr/u8-strmblen.c: New file.
110552         * lib/unistr/u16-strmblen.c: New file.
110553         * lib/unistr/u32-strmblen.c: New file.
110555         * modules/unistr/u8-strmbtouc: New file.
110556         * modules/unistr/u16-strmbtouc: New file.
110557         * modules/unistr/u32-strmbtouc: New file.
110558         * lib/unistr/u8-strmbtouc.c: New file.
110559         * lib/unistr/u16-strmbtouc.c: New file.
110560         * lib/unistr/u32-strmbtouc.c: New file.
110562         * modules/unistr/u8-strncat: New file.
110563         * modules/unistr/u16-strncat: New file.
110564         * modules/unistr/u32-strncat: New file.
110565         * lib/unistr/u8-strncat.c: New file.
110566         * lib/unistr/u16-strncat.c: New file.
110567         * lib/unistr/u32-strncat.c: New file.
110568         * lib/unistr/u-strncat.h: New file.
110570         * modules/unistr/u8-strncmp: New file.
110571         * modules/unistr/u16-strncmp: New file.
110572         * modules/unistr/u32-strncmp: New file.
110573         * lib/unistr/u8-strncmp.c: New file.
110574         * lib/unistr/u16-strncmp.c: New file.
110575         * lib/unistr/u32-strncmp.c: New file.
110577         * modules/unistr/u8-strncpy: New file.
110578         * modules/unistr/u16-strncpy: New file.
110579         * modules/unistr/u32-strncpy: New file.
110580         * lib/unistr/u8-strncpy.c: New file.
110581         * lib/unistr/u16-strncpy.c: New file.
110582         * lib/unistr/u32-strncpy.c: New file.
110583         * lib/unistr/u-strncpy.h: New file.
110585         * modules/unistr/u8-strnlen: New file.
110586         * modules/unistr/u16-strnlen: New file.
110587         * modules/unistr/u32-strnlen: New file.
110588         * lib/unistr/u8-strnlen.c: New file.
110589         * lib/unistr/u16-strnlen.c: New file.
110590         * lib/unistr/u32-strnlen.c: New file.
110591         * lib/unistr/u-strnlen.h: New file.
110593         * modules/unistr/u8-strpbrk: New file.
110594         * modules/unistr/u16-strpbrk: New file.
110595         * modules/unistr/u32-strpbrk: New file.
110596         * lib/unistr/u8-strpbrk.c: New file.
110597         * lib/unistr/u16-strpbrk.c: New file.
110598         * lib/unistr/u32-strpbrk.c: New file.
110599         * lib/unistr/u-strpbrk.h: New file.
110601         * modules/unistr/u8-strrchr: New file.
110602         * modules/unistr/u16-strrchr: New file.
110603         * modules/unistr/u32-strrchr: New file.
110604         * lib/unistr/u8-strrchr.c: New file.
110605         * lib/unistr/u16-strrchr.c: New file.
110606         * lib/unistr/u32-strrchr.c: New file.
110608         * modules/unistr/u8-strspn: New file.
110609         * modules/unistr/u16-strspn: New file.
110610         * modules/unistr/u32-strspn: New file.
110611         * lib/unistr/u8-strspn.c: New file.
110612         * lib/unistr/u16-strspn.c: New file.
110613         * lib/unistr/u32-strspn.c: New file.
110614         * lib/unistr/u-strspn.h: New file.
110616         * modules/unistr/u8-strstr: New file.
110617         * modules/unistr/u16-strstr: New file.
110618         * modules/unistr/u32-strstr: New file.
110619         * lib/unistr/u8-strstr.c: New file.
110620         * lib/unistr/u16-strstr.c: New file.
110621         * lib/unistr/u32-strstr.c: New file.
110622         * lib/unistr/u-strstr.h: New file.
110624         * modules/unistr/u8-strtok: New file.
110625         * modules/unistr/u16-strtok: New file.
110626         * modules/unistr/u32-strtok: New file.
110627         * lib/unistr/u8-strtok.c: New file.
110628         * lib/unistr/u16-strtok.c: New file.
110629         * lib/unistr/u32-strtok.c: New file.
110630         * lib/unistr/u-strtok.h: New file.
110632         * modules/unistr/u8-uctomb: New file.
110633         * modules/unistr/u16-uctomb: New file.
110634         * modules/unistr/u32-uctomb: New file.
110635         * lib/unistr/u8-uctomb.c: New file.
110636         * lib/unistr/u16-uctomb.c: New file.
110637         * lib/unistr/u32-uctomb.c: New file.
110639         * MODULES.html.sh (Unicode string functions): Add the new modules.
110641 2007-01-08  Bruno Haible  <bruno@clisp.org>
110643         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
110644         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
110645         subdirectories.
110647 2007-01-08  Karl Berry  <karl@gnu.org>
110649         * doc/error.texi: mention that main() fns must set program_name
110650         when progname is used.
110652 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
110654         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
110655         WCTYPE_H is empty, for the benefit of builds from non-distclean
110656         directories.  Problem reported by Eric Blake in
110657         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
110659 2007-01-08  Bruno Haible  <bruno@clisp.org>
110661         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
110662         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
110663         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
110664         PROVIDE_CANONICALIZE_FILENAME_MODE.
110665         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
110667 2007-01-08  Bruno Haible  <bruno@clisp.org>
110669         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
110670         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
110671         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
110672         * lib/fts.c: Likewise.
110673         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
110675 2006-12-25  Bruno Haible  <bruno@clisp.org>
110677         * modules/utf8-ucs4-safe: New file.
110678         * lib/utf8-ucs4-safe.h: New file.
110679         * lib/unistr/utf8-ucs4-safe.c: New file.
110681         * modules/utf16-ucs4-safe: New file.
110682         * lib/utf16-ucs4-safe.h: New file.
110683         * lib/unistr/utf16-ucs4-safe.c: New file.
110685         * MODULES.html.sh (Unicode string functions): Add the new modules.
110687 2007-01-08  Bruno Haible  <bruno@clisp.org>
110689         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
110690         (Depends-on): Add unitypes.
110691         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
110692         (u8_mbtouc_aux): Move out to separate file.
110693         (u8_mbtouc): Use ucs4_t, uint8_t types.
110694         * lib/unistr/utf8-ucs4.c: New file.
110696         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
110697         (Depends-on): Add unitypes.
110698         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
110699         (u16_mbtouc_aux): Move out to separate file.
110700         (u16_mbtouc): Use ucs4_t, uint16_t types.
110701         * lib/unistr/utf16-ucs4.c: New file.
110703         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
110704         (Depends-on): Add unitypes.
110705         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
110706         (u8_uctomb_aux): Move out to separate file.
110707         (u8_uctomb): Use ucs4_t, uint8_t types.
110708         * lib/unistr/ucs4-utf8.c: New file.
110710         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
110711         (Depends-on): Add unitypes.
110712         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
110713         (u16_uctomb_aux): Move out to separate file.
110714         (u16_uctomb): Use ucs4_t, uint16_t types.
110715         * lib/unistr/ucs4-utf16.c: New file.
110717 2006-12-25  Bruno Haible  <bruno@clisp.org>
110719         * modules/unitypes: New file.
110720         * lib/unitypes.h: New file.
110721         * MODULES.html.sh (func_all_modules): New section "Unicode string
110722         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
110723         this section. Add unitypes.
110725 2007-01-08  Bruno Haible  <bruno@clisp.org>
110727         Avoid variable names that conflict with those from libtool.
110728         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
110729         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
110730         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
110731         library_names_spec to acl_library_names_spec, hardcode_* to
110732         acl_hardcode_*.
110733         Reported by Ralf Wildenhues.
110735 2007-01-08  Bruno Haible  <bruno@clisp.org>
110737         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
110738         definition.
110739         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
110740         definition.
110741         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
110742         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
110743         definition.
110744         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
110745         definition.
110746         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
110747         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
110748         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
110749         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
110750         definition.
110751         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
110752         definition.
110753         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
110754         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
110755         GC_USE_<algorithm>.
110756         * lib/gc-libgcrypt.c: Likewise.
110757         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
110758         * modules/gc-arctwo (configure.ac): Likewise.
110759         * modules/gc-des (configure.ac): Likewise.
110760         * modules/gc-hmac-md5 (configure.ac): Likewise.
110761         * modules/gc-hmac-sha1 (configure.ac): Likewise.
110762         * modules/gc-md2 (configure.ac): Likewise.
110763         * modules/gc-md4 (configure.ac): Likewise.
110764         * modules/gc-md5 (configure.ac): Likewise.
110765         * modules/gc-random (configure.ac): Likewise.
110766         * modules/gc-rijndael (configure.ac): Likewise.
110767         * modules/gc-sha1 (configure.ac): Likewise.
110769 2007-01-08  Bruno Haible  <bruno@clisp.org>
110771         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
110772         macro definition.
110773         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
110774         definition.
110775         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
110776         definition.
110777         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
110778         * modules/fcntl-safer (configure.ac): Likewise.
110779         * modules/fopen-safer (configure.ac): Likewise.
110780         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
110781         GNULIB_FWRITEERROR macro definition.
110783 2007-01-08  Bruno Haible  <bruno@clisp.org>
110785         * m4/gnulib-common.m4: New file.
110786         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
110787         (func_get_filelist): Add m4/gnulib-common.m4.
110789 2007-01-08  Bruno Haible  <bruno@clisp.org>
110791         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
110792         command.
110794 2007-01-08  Jim Meyering  <jim@meyering.net>
110796         Use a more robust test for a "can't happen" condition.
110797         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
110798         narrowed the st_size value.  Presuming the "can't happen" condition
110799         is true, that narrowing could conceivably convert an invalid st_size
110800         value into a valid one.  Instead, use a change based on Matthew
110801         Woehlke's original patch.
110803         Slight readability improvement: use an assert-like macro
110804         in place of literal "abort ()" uses.
110805         * lib/fts.c (fts_assert): Define.
110806         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
110807         Use this macro instead of a bare 'abort'.
110809 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
110811         Don't worry about using IRIX 5.3's wctype.h broken definitions;
110812         simply work around them.
110813         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
110814         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
110815         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
110816         declaring.
110817         Don't bother to define as macros, since the standard doesn't require it.
110818         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
110819         longer worry about IRIX 5.3.
110820         (HAVE_WCTYPE_CTMP_BUG): Remove.
110822 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
110824         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
110825         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
110826         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
110827         Problems reported by Georg Schwarz for IRIX 5.3.
110829         * gnulib-tool (autoconf_minversion): Take the maximum version number
110830         found, not the minimum.  Problem reported by James Youngman.
110832 2007-01-03  Karl Berry  <karl@gnu.org>
110834         * doc/error.texi: new file, explaining interaction with progname.
110835         * doc/gnulib.texi: include it.  Update copyright.
110837 2007-01-03  Simon Josefsson  <simon@josefsson.org>
110839         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
110840         AC_CANONICAL_HOST, to improve autobuild outputs.
110842 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
110843             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
110845         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
110846         sockets, server sockets, and other file descriptors.  Count errors
110847         to compute the return value.  Reorder the code a bit to be easier
110848         to follow.  Don't set event bits that were not requested (except
110849         POLLERR and POLLHUP).
110851 2007-01-01  Bruno Haible  <bruno@clisp.org>
110853         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
110855 2007-01-03  Jim Meyering  <jim@meyering.net>
110857         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
110859 2007-01-02  Bruno Haible  <bruno@clisp.org>
110861         * modules/settime (Include): Require timespec.h.
110862         * modules/nanosleep (Include): Likewise.
110864 2007-01-01  Bruno Haible  <bruno@clisp.org>
110866         * gnulib-tool (func_emit_copyright_notice): Bump year.
110867         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
110869 2007-01-01  Bruno Haible  <bruno@clisp.org>
110871         Improve support for OpenBSD.
110872         * build-aux/config.rpath (libname_spec): Export.
110873         (library_names_spec): New variable. Export.
110874         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
110875         library_names_spec from the config.rpath output. Locate shared library
110876         through the name pattern in library_names_spec.
110878 2007-01-01  Eric Blake  <ebb9@byu.net>
110880         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
110882 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
110884         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
110885         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
110886         assume the C locale, and avoid an "eval" that could cause trouble.
110887         Problem with SORT reported by Bob Proulx.
110889         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
110890         Define.  Trivial patch from Henning Nielsen Lund, originally
110891         sent to bug-grep@gnu.org today.
110893 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
110895         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
110896         struct stat.  Problem reported by Henning Nielsen Lund.
110897         * lib/acl.c: Include acl.h first, to check interface.  Don't
110898         bother to include sys/types.h and sys/stat.h again.
110900 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
110902         Import the following change from libc; problem reported by
110903         Sven Verdoolaege.
110905         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
110907         [BZ #1373]
110908         * lib/argp.h: Remove __NTH for __argp_usage inline function.
110910 2006-12-28  Jim Meyering  <jim@meyering.net>
110912         * build-aux/announce-gen: Do not assume that the package
110913         builds any of tar.gz, tar.bz2, and .xdelta files.
110914         Suggestion from Simon Josefsson.
110916 2006-12-28  Simon Josefsson  <simon@josefsson.org>
110918         * modules/announce-gen: New file.
110920 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
110922         * lib/mbchar.h: Just include <wctype.h>; the wctype module
110923         handles its gotchas now.
110924         * lib/mbswidth.c: Likewise.
110925         * lib/wcwidth.h: Likewise.
110926         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
110927         and iswcntrl; the wctype module does this stuff now.
110928         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
110929         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110930         * modules/mbchar (Depends-on): Add wctype.
110931         * modules/mbswidth (Depends-on): Likewise.
110932         * modules/wcwidth (Depends-on): Likewise.
110934 2006-12-27  Eric Blake  <ebb9@byu.net>
110936         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
110937         module uses more than what <wctype.h> is required to provide.
110939 2006-12-26  Eric Blake  <ebb9@byu.net>
110941         * gnulib-tool (sed_extract_prog): Avoid space-tab.
110943 2006-12-26  Eric Blake  <ebb9@byu.net>
110945         * modules/absolute-header: New module.
110946         * modules/fcntl (Depends-on): Depend on it.
110947         * modules/inttypes (Depends-on): Likewise.
110948         * modules/stdint (Depends-on): Likewise.
110949         * modules/sys_stat (Depends-on): Likewise.
110950         * modules/wctype (Depends-on): Likewise.
110951         * MODULES.html.sh (Support for building libraries and
110952         executables): Document it.
110954 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
110956         * gnulib-tool (SED): Remove, undoing previous change.
110957         The problem was that it broke coreutils on Solaris, because
110958         "sed --posix" leaked into a makefile.
110959         (sed): New alias, if 'alias' and GNU sed.
110961 2006-12-24  Jim Meyering  <jim@meyering.net>
110963         Work around an fchownat bug in glibc-2.4:
110964         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
110965         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
110966         in spite of the -P option.
110967         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
110968         New macros.
110969         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
110970         * modules/openat (Files): Add lib/fchownat.c.
110971         * lib/openat.c (fchownat): Don't define here.  Move to...
110972         * lib/fchownat.c: ...this new file.
110974 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
110976         Fix bug reported by Bruno Haible in
110977         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
110978         where quotearg.c didn't compile on Mac OS X 10.2 because it
110979         lacks <wchar.h> and wint_t.
110980         * lib/wctype_.h (__wctype_wint_t): New type.
110981         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
110982         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
110983         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
110984         Arg is now of type __wctype_wint_t, not wint_t.
110985         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
110986         substitute HAVE_WINT_T.
110987         * modules/wctype (Files): Add m4/wint_t.m4.
110988         (wctype.h): Substitute HAVE_WINT_T.
110990 2006-12-23  Bruno Haible  <bruno@clisp.org>
110992         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
110994 2006-12-23  Bruno Haible  <bruno@clisp.org>
110996         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
110997         S_ISLNK.
110998         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
110999         mingw.
111001 2006-12-22  Bruno Haible  <bruno@clisp.org>
111003         * lib/copy-file.c: Include acl.h.
111004         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
111005         Close the file descriptors only after being done with copy_acl.
111006         * modules/copy-file (Depends-on): Add acl.
111008 2006-12-22  Bruno Haible  <bruno@clisp.org>
111010         * gnulib-tool (SED): New variable.
111011         Use $SED instead of sed everywhere.
111013 2006-12-22  Bruno Haible  <bruno@clisp.org>
111015         * modules/no-c++: New file.
111016         * m4/no-c++.m4: New file.
111017         * MODULES.html.sh (Support for building libraries and executables):
111018         Add no-c++.
111020 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
111022         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
111023         Include <limits.h>, and use its INT_MAX to rewrite the
111024         j loop so that it does not overflow 'int'.  Problem reported by
111025         Ralf Wildenhues in
111026         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
111027         Play it safe by shifting left by 1 rather than multiplying by 2,
111028         as GCC is less likely to optimize this away when the value
111029         is signed (when it assumes overflow leads to undefined behavior).
111030         Also, don't assume time_t uses two's complement.
111032 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
111034         * MODULES.html.sh: New module wctype.
111035         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
111036         * lib/fnmatch.c: Don't bother to include <wchar.h> before
111037         <wctype.h>, since the new wctype module should fix this.
111038         * lib/quotearg.c: Include <wctype.h> unconditionally, since
111039         the wctype module should arrange for it.
111040         * lib/regex_internal.h: Likewise.
111041         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
111042         since the wctype module should handle this now.
111043         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
111044         * modules/fnmatch (Depends-on): Add wctype.
111045         * modules/quotearg (Depends-on): Likewise.
111046         * modules/regex (Depends-on): Likewise.
111048 2006-12-19  Bruno Haible  <bruno@clisp.org>
111050         * lib/strdup.h [C++]: Wrap definitions in extern "C".
111051         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
111053 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111055         * modules/savewd (Depends-on): Fix dependency on fcntl.
111057 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111059         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
111060         conforms to C99, rather than relying on the user's environment
111061         setting of STDINT_H.
111063 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
111064         and Eric Blake  <ebb9@byu.net>
111066         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
111067         This is more consistent with the other defines here.
111068         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
111069         Port to z/OS.  Problem reported by Paul Gilmartin.
111070         Change local vars to use gl_ prefix rather than ac_.
111071         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
111072         with other defines.
111073         * modules/double-slash-root: New module.
111074         * modules/dirname (Files): Remove m4/double-slash-root.m4.
111075         (Depends-on): Add double-slash-root.
111076         * MODULES.html.sh (File system functions): Mention new module.
111078 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
111080         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
111081         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
111082         This is for the benefit of gzip, which doesn't do i18n.
111084 2006-12-12  Jim Meyering  <jim@meyering.net>
111086         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
111087         Reported by Andreas Schwab <schwab@suse.de>.
111089 2006-12-12  Bruno Haible  <bruno@clisp.org>
111091         Merge these changes.
111092         2006-09-05  Bruno Haible  <bruno@clisp.org>
111093         * lib/iconvme.c (iconv_string): No need to save and restore errno when
111094         iconv_alloc succeeded.
111095         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
111096         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
111097         test for " && dest " at the end - dest is always != NULL there. Call
111098         iconv with 4xNULL arguments initially, to reset the state. Call iconv
111099         with 2xNULL arguments, also to flush the state storage. Handle the
111100         IRIX iconv behaviour. Realloc the final result, to throw away unused
111101         memory.
111103 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
111105         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
111106         and fchmodat unconditionally, since glibc 2.4 has them.
111107         Problem reported by Arkadiusz Miskiewicz.
111109 2006-12-10  Bruno Haible  <bruno@clisp.org>
111111         * gnulib-tool (func_import): Show the include files only for those
111112         modules that are copied and specified.
111113         Reported by Karl Berry.
111115 2006-12-08  Jim Meyering  <jim@meyering.net>
111117         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
111118         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
111120         * build-aux/announce-gen: Add two new options, both optional:
111121         --bootstrap-tools=TOOL_LIST
111122               a comma-separated list of tools, e.g.,
111123               autoconf,automake,bison,gnulib
111124         --gnulib-snapshot-date=DATE
111125               if gnulib is in the bootstrap tool list,
111126               then report this as the snapshot date.
111127               If not specified, use the current date/time.
111128               If you specify a date here, be sure it's UTC.
111130 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111132         * tests/test-argp-2.sh: Fix test to match actual output.
111133         (func_compare): Fix sed script to be portable.
111135 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
111137         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
111138         workaround for this case.  It is not autoconfigured now; offhand
111139         it's hard to see how to autoconfigure it.
111141 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
111143         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
111144         a directory that is about to be chowned.  Such a directory's
111145         initial file permissions should permit the owner only and this
111146         should not be changed until after the chown, since the group and
111147         other bits would be incorrect if they granted permission before
111148         the chown.
111150         Fix porting problem for iswctype reported by Georg Schwarz in:
111151         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
111152         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
111153         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
111154         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
111155         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
111157 2006-12-03  Jim Meyering  <jim@meyering.net>
111159         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
111160         p->fts_statp may not yet be defined.
111161         (fts_read): Instead, set it in the caller, once p->fts_statp is
111162         sure to be defined, and corresponds to a top-level directory.
111163         This bug made du -x fail.  Here's the coreutils test case:
111164         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
111165         Reported by Mike Frysinger.
111167 2006-12-01  Jim Meyering  <jim@meyering.net>
111169         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
111170         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
111171         Reported by Simon Josefsson.
111173 2006-11-30  Jim Meyering  <jim@meyering.net>
111175         * m4/warning.m4: Use the all-permissive copyright notice
111176         recommended by RMS (rather than LGPL).
111177         * m4/vararrays.m4: Likewise.
111178         * m4/flexmember.m4: Likewise.
111180 2006-11-29  Bruno Haible  <bruno@clisp.org>
111182         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111183         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
111184         using +=.
111185         Reported by Simon Josefsson <simon@josefsson.org>.
111187 2006-11-28  James Youngman  <jay@gnu.org>
111189         * README: Advise users that they might find the bug-gnulib@gnu.org
111190         and autotools-announce@gnu.org mailing lists useful.
111192 2006-11-28  Bruno Haible  <bruno@clisp.org>
111194         * m4/ptrdiff_max.m4: Remove file.
111196 2006-11-21  Bruno Haible  <bruno@clisp.org>
111198         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
111199         _AC_COMPUTE_INT.
111200         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111201         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
111202         _AC_COMPUTE_INT.
111203         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111204         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
111205         _AC_COMPUTE_INT.
111206         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111208 2006-11-28  Jim Meyering  <jim@meyering.net>
111210         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
111211         warning from "gcc -Wshadow" about shadowing the builtin.
111213 2006-11-27  Bruno Haible  <bruno@clisp.org>
111215         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
111216         _AC_COMPUTE_INT.
111217         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111219 2006-11-27  Bruno Haible  <bruno@clisp.org>
111220             Paul Eggert  <eggert@cs.ucla.edu>
111222         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
111224 2006-11-26  Bruno Haible  <bruno@clisp.org>
111226         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111227         noinst_LTLIBRARIES.
111229 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
111230             Bruno Haible  <bruno@clisp.org>
111232         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
111233         if compiling with "gcc -ansi".
111235 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
111237         Fix some incompatibilities with gcc -ansi -pedantic.
111238         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
111239         if compiling pedantically with GCC, unless it's C99 or later.
111240         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
111241         it mishandles gcc -ansi -pedantic as well.
111242         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
111243         if gcc -pedantic.
111244         * lib/regexec.c (check_node_accept_bytes): Don't use auto
111245         initializers for struct if -pedantic, unless it's C99 or later.
111247 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
111249         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
111250         Don't close an fd more than once. Identical atimes indicate
111251         success, not failure.
111253 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
111255         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
111257 2006-11-23  Jim Meyering  <jim@meyering.net>
111259         * build-aux/announce-gen: New file.  From coreutils.
111261 2006-11-22  Jim Meyering  <jim@meyering.net>
111263         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
111264         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
111265         (fts_read): Use a temporary to narrow the overused st_size member
111266         before using it in a switch statement.  Reported by Matthew Woehlke.
111268         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
111269         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
111271 2006-11-20  Bruno Haible  <bruno@clisp.org>
111273         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
111274         changequote instead of pairs of brackets.
111275         Reported by Andreas Schwab <schwab@suse.de>.
111277 2006-11-21  Jim Meyering  <jim@meyering.net>
111279         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
111280         so as to remain compatible with older compilers.
111281         Patch from Michael Deutschmann.
111283 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111285         * MODULES.html.sh (File system functions): Add openat.
111287         * lib/openat.h (rpl_fstatat): New macro, if
111288         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
111289         (fstatat): Define to rpl_fstatat under the same conditions,
111290         unless COMPILING_FSTATAT.
111291         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
111292         seems to have the bug.
111293         * lib/fstatat.c: New file.
111294         * modules/openat (Files): Add it.
111296 2006-11-20  Bruno Haible  <bruno@clisp.org>
111298         * Makefile: New file.
111300 2006-11-20  Jim Meyering  <jim@meyering.net>
111302         The beginnings of syntax-related checks for gnulib.
111303         * lib/Makefile: New file.
111304         * lib/t-idcache: New script.  Ensure that the two halves of
111305         idcache.c stay in sync.
111307         * lib/idcache.c: Adjust comments in user- and group- portions to
111308         be more accurate, and to be consistent with one another.
111310 2006-11-20  Jim Meyering  <jim@meyering.net>
111312         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
111313         continue using the flexible array member (thus, this module performs
111314         half as many malloc calls), with the addition that...
111315         (getgroup, getuser): Consistently record a non-match via an empty
111316         "name" string, and map an empty string match to a NULL return value.
111317         * modules/idcache (Depends-on): Re-add flexmember.
111319         * lib/idcache.c (getuser): Remove all uses of the register keyword.
111320         (getuidbyname, getgroup, getgidbyname): Likewise.
111322         Use cleaner syntax: NULL rather than 0.
111323         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
111325 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111327         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
111328         It mishandled the case where the group was missing.
111329         Problem reported by Greg Schafer.
111330         * modules/idcache: Likewise.
111332 2006-11-18  Jim Meyering  <jim@meyering.net>
111334         * check-module (%exempt_header): Add exception for some
111335         conditionally-included headers.
111337         * modules/i-ring (Depends-on): Add verify.
111338         (License): Change to LGPL.
111340 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
111342         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
111343         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
111344         and inttostr.h.  Use snprintf rather than uinttostr, so that
111345         LGPLed code doesn't depend on GPLed.
111347 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
111349         * modules/inline (License): Change from GPL to LGPL.
111351 2006-11-17  Jim Meyering  <jim@meyering.net>
111353         * modules/d-type (License): Switch to LGPL.
111355 2006-11-15  Bruno Haible  <bruno@clisp.org>
111357         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
111359 2006-11-15  Eric Blake  <ebb9@byu.net>
111361         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
111362         the module dependency.
111364 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
111365             Bruno Haible  <bruno@clisp.org>
111367         * gnulib-tool (func_create_testdir): Add license consistency check.
111369 2006-11-15  Eric Blake  <ebb9@byu.net>
111371         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
111372         random "(cached)" in configure output.
111374 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111376         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
111377         test for conforming inttypes.h is both announced and cached.
111379         * MODULES.html.sh (seen_modules, seen_files): New variables.
111380         (func_module): Rewrite to use a few less gnulib-tool and sed
111381         invocations.  Avoid a couple of quadratic algorithms for ...
111382         (missed_modules, missed_files): ... these, with ...
111383         (func_append, func_tmpdir): ... these new functions, from
111384         gnulib-tool.  Analogously, install traps for cleanup.
111386         * tests/test-gc.c (main): Remove unused variables.
111387         * tests/test-read-file.c: Include stdlib.h, for 'free'.
111389 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
111391         * modules/inttostr (License): Change to LGPL.
111393 2006-11-14  Eric Blake  <ebb9@byu.net>
111395         * modules/tempname (License): Change to LGPL.
111397 2006-11-14  Eric Blake  <ebb9@byu.net>
111399         * doc/functions.texi (Function Portability): *printf functions on
111400         Cygwin now understand all POSIX size specifiers.
111402 2006-11-14  Bruno Haible  <bruno@clisp.org>
111404         * modules/c-ctype (License): Change to LGPL.
111406 2006-11-12  Bruno Haible  <bruno@clisp.org>
111408         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
111409         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
111410         for GNOME libraries, for which the include files are installed in
111411         subdirectories of $prefix/include.
111413 2006-11-12  Bruno Haible  <bruno@clisp.org>
111415         * m4/lib-link.m4: Require at least autoconf-2.54.
111416         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
111417         name to underscores for the --with option.
111419 2006-11-13  Bruno Haible  <bruno@clisp.org>
111421         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
111422         the tests directory.
111423         Reported by Ralf Wildenhues.
111425 2006-11-13  Bruno Haible  <bruno@clisp.org>
111427         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
111428         (func_emit_initmacro_end): Undo the override here.
111429         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
111430         Works around the famous automake error in coreutils.
111432 2006-11-13  Eric Blake  <ebb9@byu.net>
111434         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
111435         element, not its node.
111437 2006-11-12  Bruno Haible  <bruno@clisp.org>
111439         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
111440         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
111442 2006-11-12  Bruno Haible  <bruno@clisp.org>
111444         * gnulib-tool: New option --local-symlink.
111445         (func_usage): Document it.
111446         (lsymbolic): New variable.
111447         (func_import, func_create_testdir): If --symlink was not specified,
111448         test whether --local-symlink was specified and the file comes from
111449         the local_gnulib_dir.
111451 2006-11-12  Bruno Haible  <bruno@clisp.org>
111453         * gnulib-tool (func_ln): New function.
111454         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
111456 2006-11-12  Bruno Haible  <bruno@clisp.org>
111458         Finish support for source files in subdirectories.
111459         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
111460         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
111461         AUTOMAKE_OPTIONS.
111462         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
111464 2006-11-12  Bruno Haible  <bruno@clisp.org>
111466         * gnulib-tool (func_get_automake_snippet): Synthesize also an
111467         EXTRA_lib_SOURCES augmentation.
111468         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
111470 2006-11-12  Jim Meyering  <jim@meyering.net>
111472         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
111473         file descriptors.  This also averts a failure on systems with
111474         native openat support when a traversed directory lacks "x" access.
111475         * lib/fts_.h: Include "i-ring.h"
111476         (struct FTS) [fts_fd_ring]: New member.
111477         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
111478         (FCHDIR): Add parentheses.
111479         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
111480         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
111481         When descending, rather than simply closing the previous
111482         fts_cwd_fd value, push that file descriptor onto the ring.
111483         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
111484         (fts_open): Initialize the new fd_ring member.
111485         (fts_close): Clear the ring.
111486         (fts_safe_changedir): When possible, use our new fd_ring to skip
111487         the diropen and fstat and dev/ino comparison that would normally
111488         accompany a virtual `chdir ("..")'.
111490         * modules/fts (Depends-on): Add i-ring.
111491         * modules/i-ring: New module.
111492         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
111493         * m4/i-ring.m4: New file.
111495 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111497         * gnulib-tool (func_create_testdir): Fix replacement of
111498         `build-aux' in configure.ac.  Run autotools in gltests
111499         subdirectory.
111500         (func_create_testdir, func_create_megatestdir, test): There is
111501         no need for '--force' in most autotool invocations in a new
111502         tree.  Actually fail the whole test if any of the tools, or the
111503         configure or make stages fail.
111505         Sync from Automake.
111506         * build-aux/gnupload: Revert last change.  Add pointer to upload
111507         instructions of the GNU Maintenance Instructions.
111508         Suggestion by Karl Berry.
111510 2006-11-10  Jim Meyering  <jim@meyering.net>
111512         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
111514 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111516         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
111517         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
111518         (bind_textdomain_codeset) [! ENABLE_NLS]:
111519         Evaluate all the arguments.  That way, callers get compatible behavior
111520         if the arguments have side effects.  Also, it avoids some GCC
111521         diagnostics in some cases; Joel E. Denny reported problems when Bison
111522         was configured with --enable-gcc-warnigs.
111524 2006-11-10  Jim Meyering  <jim@meyering.net>
111526         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
111527         relevant options in CFLAGS (like -O, -fno-inline) are taken into
111528         account.
111530 2006-11-10  Jim Meyering  <jim@meyering.net>
111532         * modules/inline: New file/module.
111533         * modules/xalloc (Files): Remove m4/inline.m4.
111534         (Depends-on): Add inline, instead.
111535         * modules/oset: Likewise.
111536         * modules/list: Likewise.
111538 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111540         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
111541         Problem reported by Matthew Woehlke.
111543 2006-11-09  Bruno Haible  <bruno@clisp.org>
111545         * lib/tempname.c (gen_tempname): Remove variant that invokes
111546         __gen_tempname.
111547         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
111548         __gen_tempname.
111550 2006-11-08  Bruno Haible  <bruno@clisp.org>
111552         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
111553         to 'yes' instead of 'cross-compiling'.
111555 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
111557         * lib/quotearg.h (quotearg_free): New decl.
111558         * lib/quotearg.c (quotearg_free): New function.
111559         (slot0, nslots, slotvec0, slotvec):
111560         Now file-scope so that quotearg_free can get at them.
111562 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111564         Sync from Automake.
111565         * build-aux/gnupload: Add missing 'gnu' to example URL.
111566         Report by Karl Berry.
111568 2006-11-08  Bruno Haible  <bruno@clisp.org>
111570         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
111571         Suggested by Paul Eggert.
111573 2006-11-08  Jim Meyering  <jim@meyering.net>
111575         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
111576         It's already included if !_LIBC.
111577         (fts_safe_changedir): Add a comment.
111579 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111581         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
111582         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
111583         Matthew Woehlke.
111585         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
111586         definitions up, to avoid colliding with change below.
111587         (static_inline) [HAVE_INLINE]: New macro.
111588         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
111589         Provide extern decls when !HAVE_INLINE.  Do not define unless
111590         static_inline is defined, either by us or by xmalloc.c.  Use
111591         static_inline rather than static inline.
111592         (XCALLOC): Optimize sizeof(T) = 1 case.
111593         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
111595 2006-11-07  Bruno Haible  <bruno@clisp.org>
111597         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
111598         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
111599         AC_C_INLINE.
111600         * modules/xalloc (Files): Add m4/inline.m4.
111602 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111604         * README: Fix typo.
111605         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
111606         (Miscellanous Notes): ...from this.
111608 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111610         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
111611         Mention that offsetof should be used instead of sizeof.
111612         From Bruno Haible.
111614 2006-11-07  Bruno Haible  <bruno@clisp.org>
111616         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
111618 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111620         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111621         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
111622         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111623         (gl_tree_add_before, gl_tree_add_after):
111624         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
111625         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
111626         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
111627         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
111628         (gl_linked_add_after, gl_linked_add_at): Likewise.
111629         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
111630         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111631         (gl_tree_add_before, gl_tree_add_after): Likewise.
111632         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
111633         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
111634         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
111636 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111638         * lib/gl_oset.h: Use C comment style, not C++ comment style.
111640 2006-11-06  Bruno Haible  <bruno@clisp.org>
111642         * m4/inline.m4: New file.
111643         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
111644         * modules/list (Files): Add m4/inline.m4.
111645         * modules/oset (Files): Likewise.
111647 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111649         * lib/idcache.c: Include <stddef.h>, for offsetof.
111650         (struct userid.name): Change from char * to a flexible array member.
111651         All uses changed.
111652         * modules/idcache (Depends-on): Add flexmember.
111654         * MODULES.html.sh (Core language properties): New module flexmember.
111655         * modules/flexmember, m4/flexmember.m4: New files.
111657         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
111658         inline functions that are identical with the old xnmalloc_inline,
111659         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
111660         that we can avoid some unnecessary integer multiplications and
111661         divisions in the common case where the element size is known at
111662         compile time.
111663         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
111664         needed.
111665         (xnboundedmalloc): Remove.
111666         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
111667         arguments, for consistency with rest of this header.
111668         (xcharalloc): Rewrite using XNMALLOC.
111669         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
111670         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
111671         versions have been moved to lib/xalloc.h and renamed to be the
111672         non-*_inline versions.
111673         (xmalloc, xrealloc): Implement without reference to the xnmalloc
111674         and xnrealloc functions, since those functions are now inline and
111675         now call us.
111676         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
111677         renaming described above.
111678         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
111679         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
111680         captures the dependency in AC_C_INLINE.
111682         New module canonicalize-lgpl, proposed by Charles Wilson in
111683         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
111684         with a few small changes afterwards.
111685         * MODULES.html.sh (File system functions): New module
111686         canonicalize-lgpl.
111687         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
111688         and canonicalize_file_name.
111689         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
111690         * modules/canonicalize-lgpl: New files.
111692 2006-11-05  Bruno Haible  <bruno@clisp.org>
111694         * gnulib-tool (func_import, func_create_testdir): Create directories
111695         also for files in subdirectories of lib/.
111697 2006-11-05  Bruno Haible  <bruno@clisp.org>
111699         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
111700         ANSI C compliant.
111702 2006-11-03  Bruno Haible  <bruno@clisp.org>
111704         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111705         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
111706         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
111707         (xnboundedmalloc): New inline function.
111708         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
111709         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
111710         xmalloc.
111711         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
111712         xmalloc.
111713         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
111714         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
111715         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
111716         xmalloc.
111717         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
111718         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
111719         xmalloc.
111720         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
111721         gl_tree_add_after): Use XMALLOC instead of xmalloc.
111722         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
111723         xmalloc.
111724         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
111725         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
111726         gl_tree_add_after): Use XMALLOC instead of xmalloc.
111727         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
111728         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
111729         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
111730         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
111732 2006-11-03  Bruno Haible  <bruno@clisp.org>
111734         * lib/c-ctype.h [C++]: Define functions without name mangling.
111735         * lib/fwriteerror.h [C++]: Likewise.
111736         * lib/gcd.h [C++]: Likewise.
111737         * lib/linebreak.h [C++]: Likewise.
111739 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
111741         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
111742         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
111743         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
111744         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
111745         Check for functions and headers just once.
111746         Check for declaration of canonicalize_file_name.
111747         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
111749 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111751         * gnulib-tool (func_import): Fix typo in actioncmd.
111753 2006-11-02  Bruno Haible  <bruno@clisp.org>
111755         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
111756         newline sequence in the Makefile.am snippet as a space, like "make"
111757         does.
111758         Reported by Roger Persson <perrog@gmail.com>.
111760 2006-11-01  Bruno Haible  <bruno@clisp.org>
111762         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
111763         already declared in <string.h>.
111764         * lib/strcase.h (strncasecmp): Don't declare it if yes.
111766 2006-11-01  Bruno Haible  <bruno@clisp.org>
111768         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
111769         * lib/strcase.h: Include <string.h>.
111770         (strcasecmp): Define to rpl_strcasecmp here.
111772 2006-11-01  Bruno Haible  <bruno@clisp.org>
111774         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
111776 2006-11-01  Eric Blake  <ebb9@byu.net>
111778         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
111780         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
111782 2006-10-29  Bruno Haible  <bruno@clisp.org>
111784         Make it compile in C++ mode.
111785         * lib/full-write.c (full_rw): Add a cast.
111787 2006-11-01  Bruno Haible  <bruno@clisp.org>
111789         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
111790         be POSIX compliant.
111791         Reported by Roger Persson <perrog@gmail.com>.
111793 2006-11-01  Eric Blake  <ebb9@byu.net>
111795         * lib/getopt_.h: Fix comments.
111797 2006-10-31  Eric Blake  <ebb9@byu.net>
111799         * modules/tmpdir (Depends-on): Add sys_stat.
111800         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
111801         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
111802         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
111803         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
111804         tempname.
111806 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
111808         Avoid some C++ diagnostics reported by Bruno Haible.
111809         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
111810         xmalloc.
111811         (quotearg_alloc): Use xcharalloc rather than xmalloc.
111812         (struct slotvec): Move to top level.
111813         (quotearg_n_options): Rewrite to avoid xmalloc.
111814         * lib/xalloc.h (xcharalloc): New function.
111815         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
111816         [defined __cplusplus]: Add function template that provides result
111817         type propagation.  This part of the change is from Bruno Haible.
111819 2006-10-29  Bruno Haible  <bruno@clisp.org>
111821         Make it compile in C++ mode.
111822         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
111823         * lib/strnlen1.c (strnlen1): Cast memchr result.
111824         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
111825         * lib/clean-temp.c (string_equals, string_hash): Add casts.
111826         (create_temp_dir): Rename local variable 'template'.
111827         (compile_csharp_using_sscli): Add cast.
111828         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
111829         * lib/findprog.c (find_in_path): Likewise.
111830         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
111831         * lib/wait-process.c (register_slave_subprocess): Likewise.
111833 2006-10-22  Bruno Haible  <bruno@clisp.org>
111835         * modules/tsearch: New file.
111836         * lib/tsearch.h: New file.
111837         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
111838         * m4/tsearch.m4: New file.
111839         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
111841 2006-10-29  Eric Blake  <ebb9@byu.net>
111843         * lib/arcfour.c: Assume config.h.
111844         * lib/arctwo.c: Likewise.
111845         * lib/base64.c: Likewise.
111846         * lib/check-version.c: Likewise.
111847         * lib/crc.c: Likewise.
111848         * lib/des.c: Likewise.
111849         * lib/gc-gnulib.c: Likewise.
111850         * lib/gc-libgcrypt.c: Likewise.
111851         * lib/gc-pbkdf2-sha1.c: Likewise.
111852         * lib/getaddrinfo.c: Likewise.
111853         * lib/getdelim.c: Likewise.
111854         * lib/getline.c: Likewise.
111855         * lib/hmac-md5.c: Likewise.
111856         * lib/hmac-sha1.c: Likewise.
111857         * lib/iconvme.c: Likewise.
111858         * lib/md2.c: Likewise.
111859         * lib/md4.c: Likewise.
111860         * lib/memxor.c: Likewise.
111861         * lib/read-file.c: Likewise.
111862         * lib/readline.c: Likewise.
111863         * lib/rijndael-alg-fst.c: Likewise.
111864         * lib/rijndael-api-fst.c: Likewise.
111865         * lib/xgetdomainname.c: Likewise.
111867 2006-10-28  Eric Blake  <ebb9@byu.net>
111869         * lib/xstrndup.c: Assume config.h.
111871 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
111873         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
111874         stat-macros.h is now for our own macros, whereas stat_h is for
111875         macros in the <sys/stat.h> name space.
111876         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
111877         (STAT_MACROS_H): Remove.
111878         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
111879         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
111880         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
111881         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
111882         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
111883         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
111884         Move these macros to ...
111885         * lib/stat_.h: here.  Don't include stat-macros.h.
111886         * lib/canonicalize.c: Don't include stat-macros.h.
111887         * lib/chown.c: Likewise.
111888         * lib/euidaccess.c: Likewise.
111889         * lib/file-type.c: Likewise.
111890         * lib/filemode.c: Likewise.
111891         * lib/glob.c: Likewise.
111892         * lib/isapipe.c: Likewise.
111893         * lib/lchown.c: Likewise.
111894         * lib/lstat.c: Likewise.
111895         * lib/mkdir-p.c: Likewise.
111896         * lib/rmdir.c: Likewise.
111897         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
111898         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
111899         unless mkdir isn't declared, to speed up 'configure'.
111900         Always create sys/stat.h, since it's unlikely any real sys/stat.h
111901         would define all the S_* symbols.
111902         * modules/canonicalize (Depends-on):
111903         Depend on sys_stat, not stat-macros.
111904         * modules/chown: Likewise.
111905         * modules/euidaccess: Likewise.
111906         * modules/filemode: Likewise.
111907         * modules/file-type: Likewise.
111908         * modules/glob: Likewise.
111909         * modules/isapipe: Likewise.
111910         * modules/lchown: Likewise.
111911         * modules/lstat: Likewise.
111912         * modules/mkancesdirs: Likewise.
111913         * modules/rmdir: Likewise.
111914         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
111915         * modules/modechange: Likewise.
111916         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
111917         (configure.ac): Remove gl_STAT_MACROS.
111918         * modules/sys_stat (Depends-on): Remove stat-macros.
111920 2006-10-27  Bruno Haible  <bruno@clisp.org>
111922         * m4/signed.m4: Remove file.
111923         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
111924         invocation.
111925         * modules/vasnprintf (Files): Remove m4/signed.m4.
111927 2006-10-27  Bruno Haible  <bruno@clisp.org>
111929         Update to GNU gettext 0.16.
111930         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
111931         m4/inttypes-h.m4, m4/signed.m4.
111932         * m4/gettext.m4: Update to GNU gettext 0.16.
111933         * m4/intl.m4: New file, from GNU gettext.
111934         * m4/intldir.m4: New file, from GNU gettext.
111935         * config/srclist.txt: Update
111937 2006-10-27  Eric Blake  <ebb9@byu.net>
111939         * MODULES.html.sh: Document tempname.
111940         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
111941         dependencies.
111942         (Files): Move lib/tempname.c...
111943         * modules/tempname: ...to this new module.
111944         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
111945         (gl_PREREQ_TEMPNAME): Move...
111946         * m4/tempname.m4: ...to this new file.
111947         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
111948         * modules/sys_stat (Depends-on): Add stat-macros.
111949         * lib/stat_.h (includes): Pick up stat macros.
111950         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
111951         if stat macros are broken.
111952         * lib/tempname.c (includes): No need to include "stat-macros.h".
111953         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
111954         (direxists, __path_search) [!_LIBC]: Don't compile these in
111955         gnulib; the tmpdir module covers that.
111956         * lib/tempname.h: New file.
111958 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
111960         * COPYING: Explain how gnulib-tool converts licence headers.
111961         Almost all wording by Eric Blake.
111963 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
111965         * lib/mbchar.h (is_basic_table): Make read-only.
111966         * lib/mbchar.c (is_basic_table): Likewise.
111967         Reported by John Darrington.
111969 2006-10-25  Bruno Haible  <bruno@clisp.org>
111971         * lib/progname.h (set_program_name): Undefine before defining.
111973 2006-10-25  Bruno Haible  <bruno@clisp.org>
111975         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
111976         false for non-gcc C++ compilers.
111977         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
111979 2006-10-24  Bruno Haible  <bruno@clisp.org>
111981         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
111982         iconv implementations like Irix iconv.
111984 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111986         * modules/vararrays: New file.
111987         * m4/vararrays.m4: New file, taken from diffutils.
111988         * MODULES.html.sh: New module vararrays.
111990 2006-10-24  Karl Berry  <karl@gnu.org>
111992         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
111993         Don't call GNU Unix.
111995 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111997         * users.txt: Add Libtool.
111999         Sync from Libtool:
112001         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112003         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
112004         to gnulib's policy of including config.h unconditionally.
112006 2006-10-24  Bruno Haible  <bruno@clisp.org>
112008         * modules/wcwidth (Files): Add m4/wint_t.m4.
112009         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
112010         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
112012 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
112014         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
112015         to pacify GCC with some -W flags enabled.  Problem reported by
112016         Bruno Haible.
112018 2006-10-24  Jim Meyering  <jim@meyering.net>
112020         * MODULES.html.sh: Remove uinttostr.  It's not a module.
112021         Reported by Karl Berry.
112023 2006-10-23  Bruno Haible  <bruno@clisp.org>
112025         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
112027 2006-10-24  Bruno Haible  <bruno@clisp.org>
112029         * lib/gl_list.h: Use C comment style, not C++ comment style.
112031 2006-10-23  Eric Blake  <ebb9@byu.net>
112033         * lib/getaddrinfo.c (includes): Add missing include.
112035 2006-10-23  Bruno Haible  <bruno@clisp.org>
112036             Paul Eggert  <eggert@cs.ucla.edu>
112038         Ability to rename obstack_free.
112039         * lib/obstack.h (__obstack_free): New macro. Declare instead of
112040         obstack_free.
112041         (obstack_free): Invoke the __obstack_free macro.
112042         * lib/obstack.c (obstack_free): Use __obstack_free macro.
112044 2006-10-23  Bruno Haible  <bruno@clisp.org>
112045             Paul Eggert  <eggert@cs.ucla.edu>
112047         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
112048         __argc, __argv from the declaration. (They are defined as macros on
112049         mingw.)
112051 2006-10-22  Bruno Haible  <bruno@clisp.org>
112053         * doc/gnulib-intro.texi: New file.
112054         * doc/gnulib.texi: Include it.
112056 2006-10-21  Bruno Haible  <bruno@clisp.org>
112058         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
112059         "Introduction", "Miscellanous Notes", "Particular Modules".
112061 2006-10-21  Bruno Haible  <bruno@clisp.org>
112063         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112064         Change mostlyclean-local rule to avoid sh syntax error from bash
112065         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
112067 2006-10-23  Jim Meyering  <jim@meyering.net>
112069         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
112070         in place of snprintf.
112072         * modules/inttostr (Files): Add lib/uinttostr.c.
112073         * lib/uinttostr.c (inttostr): New file/function.
112074         * lib/inttostr.h (uinttostr): Declare.
112075         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
112076         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
112077         Add uinttostr.
112078         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
112080 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112082         * lib/canonicalize.c (ELOOP): Define if not already defined.
112083         Problem reported by Bruno Haible in
112084         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
112086 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
112088         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
112089         Problem reported by Perry Smith and Ville Laurikari.
112091         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
112092         uses.
112094 2006-10-19  Bruno Haible  <bruno@clisp.org>
112096         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
112097         for mingw.
112099 2006-10-19  Bruno Haible  <bruno@clisp.org>
112101         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
112102         Needed for mingw.
112104 2006-10-19  Bruno Haible  <bruno@clisp.org>
112106         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
112108 2006-10-19  Bruno Haible  <bruno@clisp.org>
112110         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
112111         it.
112113 2006-10-19  Bruno Haible  <bruno@clisp.org>
112115         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
112116         invocation.
112118 2006-10-19  Bruno Haible  <bruno@clisp.org>
112120         * gnulib-tool (func_create_testdir): Don't include ftruncate and
112121         mountlist by default.
112123 2006-10-16  Bruno Haible  <bruno@clisp.org>
112125         * lib/c-strstr.c: Include c-strstr.h.
112127 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
112129         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
112130         in a slash.
112132 2006-10-18  Bruno Haible  <bruno@clisp.org>
112134         * lib/lock.h [C++]: Wrap definitions in extern "C".
112136 2006-10-18  Bruno Haible  <bruno@clisp.org>
112138         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
112139         gl_LIBOBJS list.
112141 2006-10-18  Bruno Haible  <bruno@clisp.org>
112143         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
112145 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
112147         * lib/xstrtol.h: Include gettext.h.
112148         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
112149         Problem reported by Eric Blake.
112150         * modules/xstrtol (Depends-on): Add gettext-h.
112152 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
112154         * lib/strftime.c (advance): New macro.
112155         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
112156         incomplete type, so you can't add 0 to it.  Problem and patch
112157         reported by Eelco Dolstra for dietlibc.
112159 2006-10-18  Jim Meyering  <jim@meyering.net>
112161         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
112162         type for a local, and rename it: s/up/user_proc/.
112164 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
112166         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
112167         READ_UTMP_USER_PROCESS.
112168         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
112170 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
112172         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
112173         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
112175 2006-10-17  Eric Blake  <ebb9@byu.net>
112177         * lib/sigprocmask.c (sigprocmask): Fix typo.
112179         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
112181         * modules/clean-temp (Makefile.am): Don't add to make output...
112182         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
112183         config.h.
112185 2006-10-17  Bruno Haible  <bruno@clisp.org>
112187         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
112188         differently if DEFAULT_TEXT_DOMAIN is set.
112190 2006-10-16  Bruno Haible  <bruno@clisp.org>
112192         * lib/clean-temp.c: Include fwriteerror.h.
112194 2006-10-16  Bruno Haible  <bruno@clisp.org>
112196         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
112198 2006-10-16  Bruno Haible  <bruno@clisp.org>
112200         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
112201         * lib/sigprocmask.h: Include <sys/types.h>.
112202         (sigset_t): Use the system's definition if present.
112204 2006-10-17  Eric Blake  <ebb9@byu.net>
112206         * lib/xvasprintf.c (includes): Assume config.h.
112207         * lib/xasprintf.c (includes): Likewise.
112209 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
112211         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
112212         at least as wide as intmax_t.
112214 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
112216         (Imported from Automake.)
112217         * build-aux/gnupload: Update to version 1.1 of directive file.
112219 2006-10-16  Eric Blake  <ebb9@byu.net>
112221         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
112222         match Automake 1.10a.
112224 2006-10-14  Bruno Haible  <bruno@clisp.org>
112226         * modules/sigprocmask: New file.
112227         * lib/sigprocmask.h: New file.
112228         * lib/sigprocmask.c: New file.
112229         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
112230         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
112231         request sigprocmask.o.
112232         (gl_PREREQ_SIGPROCMASK): New macro.
112233         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
112234         (Depends-on): Add sigprocmask.
112235         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
112236         gt_SIGNALBLOCKING. Test for 'raise' only once.
112237         * lib/fatal-signal.c: Include sigprocmask.h.
112238         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
112239         unblock_fatal_signals): Define always.
112240         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
112241         sigprocmask.
112243 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112245         Sync from Automake.
112246         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
112247         which incorrectly sets the mode of an existing destination
112248         directory.  In some cases the unpatched install-sh could do the
112249         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
112250         system.  We hope this is rare in practice, but it's clearly worth
112251         fixing.  Problem reported by Alex Unleashed in
112252         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
112253         Also, don't bother to check for -m bugs unless we're using -m;
112254         suggested by Stepan Kasal.
112256 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112258         Sync from Automake.
112259         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
112260         `-c' flag, so they appear at the same position as in %FASTDEP%
112261         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
112262         which ignores unknown options only after the first non-option.
112263         Bug report against M4 by Nelson H. F. Beebe.
112265 2006-10-13  Jim Meyering  <jim@meyering.net>
112267         Fix a bug in yesterday's change.
112268         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
112269         p->fts_statp->st_dev would be used uninitialized.
112270         Ensures that we always call fts_stat on the very first entry.
112271         Miklos Szeredi reported that find -xdev stopped working.
112273 2006-10-12  Bruno Haible  <bruno@clisp.org>
112275         * gnulib-tool (func_get_automake_snippet): Append an automatically
112276         computed EXTRA_DIST augmentation.
112277         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
112278         * modules/alloca-opt (Makefile.am): Likewise.
112279         * modules/allocsa (Makefile.am): Likewise.
112280         * modules/arcfour (Makefile.am): Likewise.
112281         * modules/arctwo (Makefile.am): Likewise.
112282         * modules/argmatch (Makefile.am): Likewise.
112283         * modules/argz (Makefile.am): Likewise.
112284         * modules/atexit (Makefile.am): Likewise.
112285         * modules/backupfile (Makefile.am): Likewise.
112286         * modules/byteswap (Makefile.am): Likewise.
112287         * modules/c-strtod (Makefile.am): Likewise.
112288         * modules/c-strtold (Makefile.am): Likewise.
112289         * modules/calloc (Makefile.am): Likewise.
112290         * modules/canon-host (Makefile.am): Likewise.
112291         * modules/canonicalize (Makefile.am): Likewise.
112292         * modules/chdir-long (Makefile.am): Likewise.
112293         * modules/chdir-safer (Makefile.am): Likewise.
112294         * modules/check-version (Makefile.am): Likewise.
112295         * modules/chown (Makefile.am): Likewise.
112296         * modules/cloexec (Makefile.am): Likewise.
112297         * modules/close-stream (Makefile.am): Likewise.
112298         * modules/closeout (Makefile.am): Likewise.
112299         * modules/crc (Makefile.am): Likewise.
112300         * modules/csharpexec (Makefile.am): Likewise.
112301         * modules/cycle-check (Makefile.am): Likewise.
112302         * modules/des (Makefile.am): Likewise.
112303         * modules/dev-ino (Makefile.am): Likewise.
112304         * modules/dirfd (Makefile.am): Likewise.
112305         * modules/dirname (Makefile.am): Likewise.
112306         * modules/dup2 (Makefile.am): Likewise.
112307         * modules/eealloc (Makefile.am): Likewise.
112308         * modules/error (Makefile.am): Likewise.
112309         * modules/euidaccess (Makefile.am): Likewise.
112310         * modules/exclude (Makefile.am): Likewise.
112311         * modules/exitfail (Makefile.am): Likewise.
112312         * modules/fcntl-safer (Makefile.am): Likewise.
112313         * modules/fcntl (Makefile.am): Likewise.
112314         * modules/file-type (Makefile.am): Likewise.
112315         * modules/fileblocks (Makefile.am): Likewise.
112316         * modules/filemode (Makefile.am): Likewise.
112317         * modules/filenamecat (Makefile.am): Likewise.
112318         * modules/fnmatch (Makefile.am): Likewise.
112319         * modules/fopen-safer (Makefile.am): Likewise.
112320         * modules/fpending (Makefile.am): Likewise.
112321         * modules/fprintftime (Makefile.am): Likewise.
112322         * modules/free (Makefile.am): Likewise.
112323         * modules/fsusage (Makefile.am): Likewise.
112324         * modules/ftruncate (Makefile.am): Likewise.
112325         * modules/fts (Makefile.am): Likewise.
112326         * modules/gc-arcfour (Makefile.am): Likewise.
112327         * modules/gc-des (Makefile.am): Likewise.
112328         * modules/gc-hmac-md5 (Makefile.am): Likewise.
112329         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
112330         * modules/gc-md4 (Makefile.am): Likewise.
112331         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112332         * modules/gc-sha1 (Makefile.am): Likewise.
112333         * modules/gc (Makefile.am): Likewise.
112334         * modules/getaddrinfo (Makefile.am): Likewise.
112335         * modules/getcwd (Makefile.am): Likewise.
112336         * modules/getdelim (Makefile.am): Likewise.
112337         * modules/getdomainname (Makefile.am): Likewise.
112338         * modules/getgroups (Makefile.am): Likewise.
112339         * modules/gethostname (Makefile.am): Likewise.
112340         * modules/gethrxtime (Makefile.am): Likewise.
112341         * modules/getline (Makefile.am): Likewise.
112342         * modules/getloadavg (Makefile.am): Likewise.
112343         * modules/getlogin_r (Makefile.am): Likewise.
112344         * modules/getndelim2 (Makefile.am): Likewise.
112345         * modules/getopt (Makefile.am): Likewise.
112346         * modules/getpagesize (Makefile.am): Likewise.
112347         * modules/getpass-gnu (Makefile.am): Likewise.
112348         * modules/getpass (Makefile.am): Likewise.
112349         * modules/getsubopt (Makefile.am): Likewise.
112350         * modules/gettime (Makefile.am): Likewise.
112351         * modules/gettimeofday (Makefile.am): Likewise.
112352         * modules/getugroups (Makefile.am): Likewise.
112353         * modules/getusershell (Makefile.am): Likewise.
112354         * modules/glob (Makefile.am): Likewise.
112355         * modules/group-member (Makefile.am): Likewise.
112356         * modules/hard-locale (Makefile.am): Likewise.
112357         * modules/hash (Makefile.am): Likewise.
112358         * modules/hmac-md5 (Makefile.am): Likewise.
112359         * modules/hmac-sha1 (Makefile.am): Likewise.
112360         * modules/human (Makefile.am): Likewise.
112361         * modules/idcache (Makefile.am): Likewise.
112362         * modules/imaxabs (Makefile.am): Likewise.
112363         * modules/imaxdiv (Makefile.am): Likewise.
112364         * modules/inet_ntop (Makefile.am): Likewise.
112365         * modules/inet_pton (Makefile.am): Likewise.
112366         * modules/intprops (Makefile.am): Likewise.
112367         * modules/inttostr (Makefile.am): Likewise.
112368         * modules/inttypes (Makefile.am): Likewise.
112369         * modules/isapipe (Makefile.am): Likewise.
112370         * modules/javaversion (Makefile.am): Likewise.
112371         * modules/lchmod (Makefile.am): Likewise.
112372         * modules/lchown (Makefile.am): Likewise.
112373         * modules/localcharset (Makefile.am): Likewise.
112374         * modules/long-options (Makefile.am): Likewise.
112375         * modules/lstat (Makefile.am): Likewise.
112376         * modules/malloc (Makefile.am): Likewise.
112377         * modules/mathl (Makefile.am): Likewise.
112378         * modules/mbchar (Makefile.am): Likewise.
112379         * modules/md2 (Makefile.am): Likewise.
112380         * modules/md4 (Makefile.am): Likewise.
112381         * modules/md5 (Makefile.am): Likewise.
112382         * modules/memcasecmp (Makefile.am): Likewise.
112383         * modules/memchr (Makefile.am): Likewise.
112384         * modules/memcmp (Makefile.am): Likewise.
112385         * modules/memcoll (Makefile.am): Likewise.
112386         * modules/memcpy (Makefile.am): Likewise.
112387         * modules/memmem (Makefile.am): Likewise.
112388         * modules/memmove (Makefile.am): Likewise.
112389         * modules/mempcpy (Makefile.am): Likewise.
112390         * modules/memrchr (Makefile.am): Likewise.
112391         * modules/memset (Makefile.am): Likewise.
112392         * modules/memxor (Makefile.am): Likewise.
112393         * modules/mkancesdirs (Makefile.am): Likewise.
112394         * modules/mkdir-p (Makefile.am): Likewise.
112395         * modules/mkdir (Makefile.am): Likewise.
112396         * modules/mkdtemp (Makefile.am): Likewise.
112397         * modules/mkstemp (Makefile.am): Likewise.
112398         * modules/mktime (Makefile.am): Likewise.
112399         * modules/modechange (Makefile.am): Likewise.
112400         * modules/mountlist (Makefile.am): Likewise.
112401         * modules/nanosleep (Makefile.am): Likewise.
112402         * modules/obstack (Makefile.am): Likewise.
112403         * modules/openat (Makefile.am): Likewise.
112404         * modules/pagealign_alloc (Makefile.am): Likewise.
112405         * modules/pathmax (Makefile.am): Likewise.
112406         * modules/physmem (Makefile.am): Likewise.
112407         * modules/poll (Makefile.am): Likewise.
112408         * modules/posixtm (Makefile.am): Likewise.
112409         * modules/posixver (Makefile.am): Likewise.
112410         * modules/putenv (Makefile.am): Likewise.
112411         * modules/quote (Makefile.am): Likewise.
112412         * modules/quotearg (Makefile.am): Likewise.
112413         * modules/raise (Makefile.am): Likewise.
112414         * modules/read-file (Makefile.am): Likewise.
112415         * modules/readline (Makefile.am): Likewise.
112416         * modules/readlink (Makefile.am): Likewise.
112417         * modules/readtokens (Makefile.am): Likewise.
112418         * modules/readutmp (Makefile.am): Likewise.
112419         * modules/realloc (Makefile.am): Likewise.
112420         * modules/regex (Makefile.am): Likewise.
112421         * modules/rename-dest-slash (Makefile.am): Likewise.
112422         * modules/rename (Makefile.am): Likewise.
112423         * modules/rijndael (Makefile.am): Likewise.
112424         * modules/rmdir (Makefile.am): Likewise.
112425         * modules/rpmatch (Makefile.am): Likewise.
112426         * modules/safe-read (Makefile.am): Likewise.
112427         * modules/safe-write (Makefile.am): Likewise.
112428         * modules/same-inode (Makefile.am): Likewise.
112429         * modules/same (Makefile.am): Likewise.
112430         * modules/save-cwd (Makefile.am): Likewise.
112431         * modules/savedir (Makefile.am): Likewise.
112432         * modules/setenv (Makefile.am): Likewise.
112433         * modules/settime (Makefile.am): Likewise.
112434         * modules/sha1 (Makefile.am): Likewise.
112435         * modules/sig2str (Makefile.am): Likewise.
112436         * modules/snprintf (Makefile.am): Likewise.
112437         * modules/stat-macros (Makefile.am): Likewise.
112438         * modules/stat-time (Makefile.am): Likewise.
112439         * modules/stdbool (Makefile.am): Likewise.
112440         * modules/stdint (Makefile.am): Likewise.
112441         * modules/stdlib-safer (Makefile.am): Likewise.
112442         * modules/stpcpy (Makefile.am): Likewise.
112443         * modules/stpncpy (Makefile.am): Likewise.
112444         * modules/strcase (Makefile.am): Likewise.
112445         * modules/strcasestr (Makefile.am): Likewise.
112446         * modules/strchrnul (Makefile.am): Likewise.
112447         * modules/strcspn (Makefile.am): Likewise.
112448         * modules/strdup (Makefile.am): Likewise.
112449         * modules/strerror (Makefile.am): Likewise.
112450         * modules/strftime (Makefile.am): Likewise.
112451         * modules/strndup (Makefile.am): Likewise.
112452         * modules/strnlen (Makefile.am): Likewise.
112453         * modules/strpbrk (Makefile.am): Likewise.
112454         * modules/strsep (Makefile.am): Likewise.
112455         * modules/strstr (Makefile.am): Likewise.
112456         * modules/strtod (Makefile.am): Likewise.
112457         * modules/strtoimax (Makefile.am): Likewise.
112458         * modules/strtok_r (Makefile.am): Likewise.
112459         * modules/strtol (Makefile.am): Likewise.
112460         * modules/strtoll (Makefile.am): Likewise.
112461         * modules/strtoul (Makefile.am): Likewise.
112462         * modules/strtoull (Makefile.am): Likewise.
112463         * modules/strtoumax (Makefile.am): Likewise.
112464         * modules/strverscmp (Makefile.am): Likewise.
112465         * modules/sys_socket (Makefile.am): Likewise.
112466         * modules/sys_stat (Makefile.am): Likewise.
112467         * modules/sysexits (Makefile.am): Likewise.
112468         * modules/time_r (Makefile.am): Likewise.
112469         * modules/timegm (Makefile.am): Likewise.
112470         * modules/timespec (Makefile.am): Likewise.
112471         * modules/tmpfile-safer (Makefile.am): Likewise.
112472         * modules/trim (Makefile.am): Likewise.
112473         * modules/unistd-safer (Makefile.am): Likewise.
112474         * modules/unlinkdir (Makefile.am): Likewise.
112475         * modules/unlocked-io (Makefile.am): Likewise.
112476         * modules/userspec (Makefile.am): Likewise.
112477         * modules/utime (Makefile.am): Likewise.
112478         * modules/utimecmp (Makefile.am): Likewise.
112479         * modules/utimens (Makefile.am): Likewise.
112480         * modules/vasnprintf (Makefile.am): Likewise.
112481         * modules/vasprintf (Makefile.am): Likewise.
112482         * modules/vsnprintf (Makefile.am): Likewise.
112483         * modules/xalloc (Makefile.am): Likewise.
112484         * modules/xgetcwd (Makefile.am): Likewise.
112485         * modules/xnanosleep (Makefile.am): Likewise.
112486         * modules/xreadlink (Makefile.am): Likewise.
112487         * modules/xstrtod (Makefile.am): Likewise.
112488         * modules/xstrtol (Makefile.am): Likewise.
112489         * modules/xstrtold (Makefile.am): Likewise.
112490         * modules/yesno (Makefile.am): Likewise.
112491         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
112493 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112495         * modules/error (Makefile.am): Distribute files through
112496         EXTRA_DIST, not lib_SOURCES.
112498 2006-10-12  Eric Blake  <ebb9@byu.net>
112500         * modules/error (Makefile.am): Distribute files in /lib.
112501         * modules/obstack (Makefile.am): Likewise.
112503 2006-10-12  Bruno Haible  <bruno@clisp.org>
112505         * modules/acl (Makefile.am): Distribute all files in lib/ through
112506         EXTRA_DIST.
112507         * modules/arcfour (Makefile.am): Likewise.
112508         * modules/arctwo (Makefile.am): Likewise.
112509         * modules/argmatch (Makefile.am): Likewise.
112510         * modules/argz (Makefile.am): Likewise.
112511         * modules/atexit (Makefile.am): Likewise.
112512         * modules/backupfile (Makefile.am): Likewise.
112513         * modules/c-strtod (Makefile.am): Likewise.
112514         * modules/c-strtold (Makefile.am): Likewise.
112515         * modules/calloc (Makefile.am): Likewise.
112516         * modules/canon-host (Makefile.am): Likewise.
112517         * modules/canonicalize (Makefile.am): Likewise.
112518         * modules/chdir-long (Makefile.am): Likewise.
112519         * modules/chdir-safer (Makefile.am): Likewise.
112520         * modules/check-version (Makefile.am): Likewise.
112521         * modules/chown (Makefile.am): Likewise.
112522         * modules/cloexec (Makefile.am): Likewise.
112523         * modules/close-stream (Makefile.am): Likewise.
112524         * modules/closeout (Makefile.am): Likewise.
112525         * modules/crc (Makefile.am): Likewise.
112526         * modules/cycle-check (Makefile.am): Likewise.
112527         * modules/des (Makefile.am): Likewise.
112528         * modules/dirfd (Makefile.am): Likewise.
112529         * modules/dirname (Makefile.am): Likewise.
112530         * modules/dup2 (Makefile.am): Likewise.
112531         * modules/euidaccess (Makefile.am): Likewise.
112532         * modules/exclude (Makefile.am): Likewise.
112533         * modules/exitfail (Makefile.am): Likewise.
112534         * modules/fcntl-safer (Makefile.am): Likewise.
112535         * modules/file-type (Makefile.am): Likewise.
112536         * modules/fileblocks (Makefile.am): Likewise.
112537         * modules/filemode (Makefile.am): Likewise.
112538         * modules/filenamecat (Makefile.am): Likewise.
112539         * modules/fnmatch (Makefile.am): Likewise.
112540         * modules/fopen-safer (Makefile.am): Likewise.
112541         * modules/fpending (Makefile.am): Likewise.
112542         * modules/fprintftime (Makefile.am): Likewise.
112543         * modules/free (Makefile.am): Likewise.
112544         * modules/fsusage (Makefile.am): Likewise.
112545         * modules/ftruncate (Makefile.am): Likewise.
112546         * modules/fts (Makefile.am): Likewise.
112547         * modules/gc (Makefile.am): Likewise.
112548         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112549         * modules/getaddrinfo (Makefile.am): Likewise.
112550         * modules/getcwd (Makefile.am): Likewise.
112551         * modules/getdelim (Makefile.am): Likewise.
112552         * modules/getdomainname (Makefile.am): Likewise.
112553         * modules/getgroups (Makefile.am): Likewise.
112554         * modules/gethostname (Makefile.am): Likewise.
112555         * modules/gethrxtime (Makefile.am): Likewise.
112556         * modules/getline (Makefile.am): Likewise.
112557         * modules/getloadavg (Makefile.am): Likewise.
112558         * modules/getlogin_r (Makefile.am): Likewise.
112559         * modules/getopt (Makefile.am): Likewise.
112560         * modules/getpass (Makefile.am): Likewise.
112561         * modules/getpass-gnu (Makefile.am): Likewise.
112562         * modules/getsubopt (Makefile.am): Likewise.
112563         * modules/gettime (Makefile.am): Likewise.
112564         * modules/gettimeofday (Makefile.am): Likewise.
112565         * modules/getugroups (Makefile.am): Likewise.
112566         * modules/getusershell (Makefile.am): Likewise.
112567         * modules/glob (Makefile.am): Likewise.
112568         * modules/group-member (Makefile.am): Likewise.
112569         * modules/hard-locale (Makefile.am): Likewise.
112570         * modules/hash (Makefile.am): Likewise.
112571         * modules/hmac-md5 (Makefile.am): Likewise.
112572         * modules/hmac-sha1 (Makefile.am): Likewise.
112573         * modules/human (Makefile.am): Likewise.
112574         * modules/idcache (Makefile.am): Likewise.
112575         * modules/imaxabs (Makefile.am): Likewise.
112576         * modules/imaxdiv (Makefile.am): Likewise.
112577         * modules/inet_ntop (Makefile.am): Likewise.
112578         * modules/inet_pton (Makefile.am): Likewise.
112579         * modules/inttostr (Makefile.am): Likewise.
112580         * modules/isapipe (Makefile.am): Likewise.
112581         * modules/lchown (Makefile.am): Likewise.
112582         * modules/long-options (Makefile.am): Likewise.
112583         * modules/lstat (Makefile.am): Likewise.
112584         * modules/malloc (Makefile.am): Likewise.
112585         * modules/mathl (Makefile.am): Likewise.
112586         * modules/mbchar (Makefile.am): Likewise.
112587         * modules/md2 (Makefile.am): Likewise.
112588         * modules/md4 (Makefile.am): Likewise.
112589         * modules/md5 (Makefile.am): Likewise.
112590         * modules/memcasecmp (Makefile.am): Likewise.
112591         * modules/memchr (Makefile.am): Likewise.
112592         * modules/memcmp (Makefile.am): Likewise.
112593         * modules/memcoll (Makefile.am): Likewise.
112594         * modules/memcpy (Makefile.am): Likewise.
112595         * modules/memmem (Makefile.am): Likewise.
112596         * modules/memmove (Makefile.am): Likewise.
112597         * modules/mempcpy (Makefile.am): Likewise.
112598         * modules/memrchr (Makefile.am): Likewise.
112599         * modules/memset (Makefile.am): Likewise.
112600         * modules/memxor (Makefile.am): Likewise.
112601         * modules/mkancesdirs (Makefile.am): Likewise.
112602         * modules/mkdir (Makefile.am): Likewise.
112603         * modules/mkdir-p (Makefile.am): Likewise.
112604         * modules/mkdtemp (Makefile.am): Likewise.
112605         * modules/mkstemp (Makefile.am): Likewise.
112606         * modules/mktime (Makefile.am): Likewise.
112607         * modules/modechange (Makefile.am): Likewise.
112608         * modules/mountlist (Makefile.am): Likewise.
112609         * modules/nanosleep (Makefile.am): Likewise.
112610         * modules/openat (Makefile.am): Likewise.
112611         * modules/pagealign_alloc (Makefile.am): Likewise.
112612         * modules/physmem (Makefile.am): Likewise.
112613         * modules/poll (Makefile.am): Likewise.
112614         * modules/posixtm (Makefile.am): Likewise.
112615         * modules/posixver (Makefile.am): Likewise.
112616         * modules/putenv (Makefile.am): Likewise.
112617         * modules/quote (Makefile.am): Likewise.
112618         * modules/quotearg (Makefile.am): Likewise.
112619         * modules/raise (Makefile.am): Likewise.
112620         * modules/read-file (Makefile.am): Likewise.
112621         * modules/readline (Makefile.am): Likewise.
112622         * modules/readlink (Makefile.am): Likewise.
112623         * modules/readtokens (Makefile.am): Likewise.
112624         * modules/readutmp (Makefile.am): Likewise.
112625         * modules/realloc (Makefile.am): Likewise.
112626         * modules/regex (Makefile.am): Likewise.
112627         * modules/rename (Makefile.am): Likewise.
112628         * modules/rename-dest-slash (Makefile.am): Likewise.
112629         * modules/rijndael (Makefile.am): Likewise.
112630         * modules/rmdir (Makefile.am): Likewise.
112631         * modules/rpmatch (Makefile.am): Likewise.
112632         * modules/safe-read (Makefile.am): Likewise.
112633         * modules/safe-write (Makefile.am): Likewise.
112634         * modules/same (Makefile.am): Likewise.
112635         * modules/save-cwd (Makefile.am): Likewise.
112636         * modules/savedir (Makefile.am): Likewise.
112637         * modules/setenv (Makefile.am): Likewise.
112638         * modules/settime (Makefile.am): Likewise.
112639         * modules/sha1 (Makefile.am): Likewise.
112640         * modules/sig2str (Makefile.am): Likewise.
112641         * modules/snprintf (Makefile.am): Likewise.
112642         * modules/stdlib-safer (Makefile.am): Likewise.
112643         * modules/stpcpy (Makefile.am): Likewise.
112644         * modules/stpncpy (Makefile.am): Likewise.
112645         * modules/strcase (Makefile.am): Likewise.
112646         * modules/strcasestr (Makefile.am): Likewise.
112647         * modules/strchrnul (Makefile.am): Likewise.
112648         * modules/strcspn (Makefile.am): Likewise.
112649         * modules/strdup (Makefile.am): Likewise.
112650         * modules/strerror (Makefile.am): Likewise.
112651         * modules/strftime (Makefile.am): Likewise.
112652         * modules/strndup (Makefile.am): Likewise.
112653         * modules/strnlen (Makefile.am): Likewise.
112654         * modules/strpbrk (Makefile.am): Likewise.
112655         * modules/strsep (Makefile.am): Likewise.
112656         * modules/strstr (Makefile.am): Likewise.
112657         * modules/strtod (Makefile.am): Likewise.
112658         * modules/strtoimax (Makefile.am): Likewise.
112659         * modules/strtok_r (Makefile.am): Likewise.
112660         * modules/strtol (Makefile.am): Likewise.
112661         * modules/strtoll (Makefile.am): Likewise.
112662         * modules/strtoul (Makefile.am): Likewise.
112663         * modules/strtoull (Makefile.am): Likewise.
112664         * modules/strtoumax (Makefile.am): Likewise.
112665         * modules/strverscmp (Makefile.am): Likewise.
112666         * modules/time_r (Makefile.am): Likewise.
112667         * modules/timegm (Makefile.am): Likewise.
112668         * modules/tmpfile-safer (Makefile.am): Likewise.
112669         * modules/unistd-safer (Makefile.am): Likewise.
112670         * modules/unlinkdir (Makefile.am): Likewise.
112671         * modules/userspec (Makefile.am): Likewise.
112672         * modules/utime (Makefile.am): Likewise.
112673         * modules/utimecmp (Makefile.am): Likewise.
112674         * modules/utimens (Makefile.am): Likewise.
112675         * modules/vasnprintf (Makefile.am): Likewise.
112676         * modules/vasprintf (Makefile.am): Likewise.
112677         * modules/vsnprintf (Makefile.am): Likewise.
112678         * modules/xalloc (Makefile.am): Likewise.
112679         * modules/xgetcwd (Makefile.am): Likewise.
112680         * modules/xnanosleep (Makefile.am): Likewise.
112681         * modules/xreadlink (Makefile.am): Likewise.
112682         * modules/xstrtod (Makefile.am): Likewise.
112683         * modules/xstrtol (Makefile.am): Likewise.
112684         * modules/xstrtold (Makefile.am): Likewise.
112685         * modules/yesno (Makefile.am): Likewise.
112687 2006-10-12  Jim Meyering  <jim@meyering.net>
112689         * m4/getloadavg.m4: Revert the change below.
112691         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
112692         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
112693         fail with a symlink, which is what coreutils' ./bootstrap now
112694         creates by default.
112696 2006-10-12  Bruno Haible  <bruno@clisp.org>
112698         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
112699         mingw.
112700         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
112701         MSVC and mingw explicitly.
112703 2006-10-11  Simon Josefsson  <jas@extundo.com>
112704             Bruno Haible  <bruno@clisp.org>
112706         Add support for multiple gnulib-tool invocations in the scope of a
112707         single configure.ac file.
112708         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
112709         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
112710         with the same contents as the _LIBADD variable.
112711         (func_emit_initmacro_start, func_emit_initmacro_end,
112712         func_emit_initmacro_done): New functions.
112713         (func_import, func_create_testdir): Invoke them. Allow the identifiers
112714         gl_LIBOBJS and gl_LTLIBOBJS.
112716 2006-10-11  Bruno Haible  <bruno@clisp.org>
112718         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
112719         (func_create_testdir): Don't create po/Makefile.am, don't invoke
112720         autoreconf. Instead, invoke autopoint explicitly but move back the
112721         *.m4 files from gnulib.
112723 2006-10-11  Bruno Haible  <bruno@clisp.org>
112725         * gnulib-tool (func_usage): Make module names after --create-testdir
112726         optional.
112727         (func_create_testdir): If no module was specified, use nearly all
112728         modules.
112730 2006-10-12  Jim Meyering  <jim@meyering.net>
112732         Big performance improvement for fts-based tools that use FTS_NOSTAT.
112733         Avoid spurious inode-mismatch problems on non-POSIX file systems.
112734         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
112735         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
112736         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
112737         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
112738         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
112739         (fts_set_stat_required): New function.
112740         (fts_open): Defer the calls to fts_stat, if possible or requested.
112741         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
112742         into fts_stat itself.
112743         (fts_read): Perform any required (deferred) fts_stat call.
112744         (fts_build): Likewise, for the directory we're about to open and read.
112745         In the readdir loop, carefully decide whether each entry will require
112746         an eventual call to fts_stat, using dirent.d_type info if available.
112747         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
112748         a command line argument into this function.  Update all callers.
112749         Map a return value of FTS_DOT to FTS_D for a command line argument.
112750         * modules/fts (Depends-on): Add d-type.  Alphabetize.
112751         Thanks to Miklos Szeredi for his tenacity and for the initial
112752         bug report about "find" failing on a FUSE-based file system.
112754         * lib/fts.c (fts_open): Use consistent indentation.
112756 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112758         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
112759         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
112760         reported by Jim Meyering.  All uses of cache variables renamed
112761         to match Autoconf's.
112762         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
112763         the other one.
112765         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
112766         Fix misspelling in diagnostic.
112768 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112770         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
112771         defined.  Problem reported by Matthew Woehlke.
112773         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
112774         Add support for Tandem NonStop R series.
112775         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
112776         Use new macro.
112778         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
112779         (has_trailing_slash): Omit size arg; all callers changed.
112780         Omit 'inline', since it doesn't help performance and we'd
112781         need to configure it.
112782         Don't count //, ///, etc. as having a trailing slash.
112783         As a side effect, this removes a C99ism reported by Matthew Woehlke.
112784         (rpl_rename_dest_slash): On failure, use rename's errno rather
112785         than (in some cases) an incorrect or junk errno.
112786         Simplify code by removing need to compute length; this does
112787         cause it to make two passes instead of one over the file name,
112788         but it's worth it.
112790         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
112791         change, since Autoconf's version may no longer be appropriate now
112792         that we are using CVS Autoconf's version.  Add support for Tandem.
112794 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112795             Bruno Haible  <bruno@clisp.org>
112797         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
112798         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
112799         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
112800         gl_AC_TYPE_LONG_LONG.
112802         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
112803         instead of HAVE_LONG_LONG.
112804         * lib/printf-args.c (printf_fetchargs): Likewise.
112805         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
112806         * lib/vasnprintf.c (VASNPRINTF): Likewise.
112807         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
112808         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
112809         gl_AC_TYPE_LONG_LONG.
112811 2006-10-11  Bruno Haible  <bruno@clisp.org>
112813         * m4/longlong.m4: Add comments.
112814         * m4/ulonglong.m4: Likewise.
112816 2006-10-10  Bruno Haible  <bruno@clisp.org>
112818         Make it possible to #define stpcpy, strdup to aliases.
112819         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
112820         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
112822 2006-10-10  Bruno Haible  <bruno@clisp.org>
112824         Make it possible to #define gcd to an alias.
112825         * lib/gcd.c: Include config.h.
112827 2006-10-10  Bruno Haible  <bruno@clisp.org>
112829         Make it possible to #define c_isascii to an alias.
112830         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
112831         defined. Undefine the macros before defining them, to avoid gcc
112832         warnings.
112833         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
112834         define NO_C_CTYPE_MACROS early.
112836 2006-10-10  Bruno Haible  <bruno@clisp.org>
112838         Make it possible to #define set_program_name to an alias.
112839         * lib/progname.c: Don't undefine set_program_name; instead, undefine
112840         ENABLE_RELOCATABLE early.
112842 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
112844         Port to Tandem NSK OSS, which has 64-bit signed int but at most
112845         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
112846         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
112847         More generally, don't assume that 64-bit signed int is available
112848         if unsigned int is, and vice versa.
112849         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
112850         unsigned symbols, not on their signed counterparts.
112851         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
112852         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
112853         (UINT64_C, UINTMAX_C):
112854         Likewise.
112855         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
112856         unsigned counterparts.
112857         (Have_long_long, Unsigned): New macros.
112858         (Int): Renamed from INT.
112859         (strtoimax): Use the new macros.
112860         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
112861         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
112862         * modules/inttypes (inttypes.h): Substitute
112863         HAVE_UNSIGNED_LONG_LONG_INT.
112864         * modules/stdint (stdint.h): Likewise.
112865         (Files): Add m4/ulonglong.m4.
112867 2006-10-10  Bruno Haible  <bruno@clisp.org>
112869         Fix a gcc -Wshadow warning.
112870         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
112871         to 'bucket'.
112872         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
112873         gl_linked_indexof_from_to): Likewise.
112874         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
112875         Likewise.
112876         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
112877         Likewise.
112878         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
112879         Reported by Eric Blake.
112881 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
112883         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
112884         for NetBSD.  Problem reported by Bruno Haible.
112886 2006-10-09  Jim Meyering  <jim@meyering.net>
112888         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
112889         Patch from Bruno Haible.
112891 2006-10-09  Jim Meyering  <jim@meyering.net>
112893         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
112894         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
112895         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
112897 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
112899         Don't include <config.h> twice; this doesn't work in some cases,
112900         e.g., when config.h has "#define intmax_t long long int" and
112901         we include <config.h>, <inttypes.h>, <config.h> in that order.
112902         Problem reported by Matthew Woehlke in:
112903         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
112904         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
112905         * lib/fts-cycle.c: Don't include config.h.
112906         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
112907         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
112908         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
112909         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
112910         inttypes.h.
112911         * lib/xstrtoumax.c: Likewise.
112912         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
112913         __strtol and the like, so that this module is more like its siblings.
112914         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
112915         Remove; no longer needed now that we assume gnulib inttypes.h.
112917 2006-10-08  Bruno Haible  <bruno@clisp.org>
112919         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
112920         option.
112922 2006-10-07  Jim Meyering  <jim@meyering.net>
112924         * modules/inttypes (inttypes.h): Revert what seems to have been
112925         an inadvertent part of today's change: use "|", not "/" in the
112926         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
112928 2006-10-07  Bruno Haible  <bruno@clisp.org>
112930         * modules/sublist: New file.
112932 2006-10-07  Bruno Haible  <bruno@clisp.org>
112934         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
112935         * modules/argz (argz.h): Likewise.
112936         * modules/arpa_inet (arpa/inet.h): Likewise.
112937         * modules/byteswap (byteswap.h): Likewise.
112938         * modules/configmake (configmake.h): Likewise.
112939         * modules/fcntl (fcntl.h): Likewise.
112940         * modules/fnmatch (fnmatch.h): Likewise.
112941         * modules/getopt (getopt.h): Likewise.
112942         * modules/glob (glob.h): Likewise.
112943         * modules/inttypes (inttypes.h): Likewise.
112944         * modules/netinet_in (netinet/in.h): Likewise.
112945         * modules/poll (poll.h): Likewise.
112946         * modules/stdbool (stdbool.h): Likewise.
112947         * modules/stdint (stdint.h): Likewise.
112948         * modules/sys_select (sys/select.h): Likewise.
112949         * modules/sys_socket (sys/socket.h): Likewise.
112950         * modules/sys_stat (sys/stat.h): Likewise.
112951         * modules/sysexits (sysexits.h): Likewise.
112952         * modules/unistd (unistd.h): Likewise.
112953         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112954         Add a "DO NOT EDIT" comment to the generated file.
112955         (func_import): Likewise for gnulib-comp.m4.
112957 2006-10-07  Bruno Haible  <bruno@clisp.org>
112959         * lib/gl_sublist.h: New file.
112960         * lib/gl_sublist.c: New file.
112962 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
112964         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
112965         name (relative to the original working directory) and the file
112966         name component (relative to the temporary working directory).  All
112967         callers changed.
112968         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
112969         * lib/mkdir-p.c (make_dir_parents): Likewise.
112970         * lib/mkdir-p.h (make_dir_parents): Likewise.
112972 2006-10-06  Eric Blake  <ebb9@byu.net>
112974         Define several macros for use by the clean-temp module.
112975         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
112976         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
112977         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
112979         * lib/clean-temp.h (close_stream_temp): New declaration.
112980         * lib/clean-temp.c (includes): Pull in headers according to what
112981         other modules are in use.
112982         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
112984 2006-10-06  Bruno Haible  <bruno@clisp.org>
112986         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
112987         instead of fopen, fwriteerror.
112989 2006-10-06  Bruno Haible  <bruno@clisp.org>
112991         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
112992         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
112993         int.
112994         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
112995         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
112996         Return an error indicator.
112997         Suggested by Eric Blake.
112999 2006-10-06  Bruno Haible  <bruno@clisp.org>
113001         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
113002         Reported by Eric Blake.
113004 2006-10-06  Bruno Haible  <bruno@clisp.org>
113006         * modules/closeout (Description): Mention stderr too.
113008 2006-10-06  Bruno Haible  <bruno@clisp.org>
113009         and Paul Eggert  <eggert@cs.ucla.edu>
113011         * lib/closeout.c (close_stdout): Also close stderr.
113012         * lib/closeout.h: Update comment.
113014 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
113016         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
113017         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
113018         * lib/dirchownmod.c: Include lchown.h.
113019         * lib/lchown.c: Don't include files that lchown.h now includes.
113020         Don't declare chown, since lchown.h now does that.
113021         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
113022         (lchown): Define to rpl_chown if lchown is declared but
113023         does not exist.  Declare using a prototype if lchown is not
113024         declared.  Add a copyright notice.
113025         * lib/mkstemp.h: Include <unistd.h>.
113026         * lib/openat.c: Include lchown.h.
113028         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
113029         we now test for that separately.
113030         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
113031         rather than O_NOFOLLOW, when testing whether it's possible to
113032         avoid a race condition reliably.
113033         * lib/savewd.c (savewd_chdir): Likewise.
113035         Remove macros that are no longer needed now that stdint.h is
113036         reliable.
113037         * lib/fsusage.c (UINTMAX_MAX): Remove.
113038         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
113039         * lib/utimecmp.c (SIZE_MAX): Remove.
113041         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
113043         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
113044         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
113045         O_NOATIME works.
113047 2006-10-05  Bruno Haible  <bruno@clisp.org>
113049         * lib/gl_list.h (gl_sortedlist_search_from_to,
113050         gl_sortedlist_indexof_from_to): New declarations.
113051         (gl_list_implementation): New fields sortedlist_search_from_to,
113052         sortedlist_indexof_from_to.
113053         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
113054         inline functions.
113055         * lib/gl_list.c (gl_sortedlist_search_from_to,
113056         gl_sortedlist_indexof_from_to): New functions.
113057         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
113058         function.
113059         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
113060         (gl_array_sortedlist_search_from_to): New function.
113061         (gl_array_list_implementation): Update.
113062         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
113063         function.
113064         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
113065         (gl_carray_sortedlist_search_from_to): New function.
113066         (gl_carray_list_implementation): Update.
113067         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
113068         gl_linked_sortedlist_indexof_from_to): New functions.
113069         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113070         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113071         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
113072         gl_tree_sortedlist_indexof_from_to): New functions.
113073         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113074         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113075         Update.
113076         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113077         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
113078         Update.
113080 2006-10-05  Bruno Haible  <bruno@clisp.org>
113082         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
113083         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
113084         (struct gl_list_implementation): Add fields search_from_to,
113085         indexof_from_to. Remove fields search, indexof.
113086         (gl_list_search): Use the search_from_to method.
113087         (gl_list_search_from, gl_list_search_from_to): New functions.
113088         (gl_list_indexof): Use the indexof_from_to method.
113089         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113090         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
113091         (gl_list_search_from, gl_list_search_from_to): New functions.
113092         (gl_list_indexof): Use the indexof_from_to method.
113093         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
113094         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
113095         gl_array_indexof. Add start_index, end_index arguments.
113096         (gl_array_search_from_to): Renamed from gl_array_search. Add
113097         start_index, end_index arguments.
113098         (gl_array_remove, gl_array_list_implementation): Update.
113099         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
113100         gl_carray_indexof. Add start_index, end_index arguments.
113101         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
113102         start_index, end_index arguments.
113103         (gl_carray_remove, gl_carray_list_implementation): Update.
113104         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
113105         gl_linked_search. Add start_index, end_index arguments.
113106         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
113107         start_index, end_index arguments.
113108         (gl_linked_remove): Update.
113109         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
113110         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
113111         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
113112         field to 'size_t'.
113113         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
113114         gl_tree_search. Add start_index, end_index arguments.
113115         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113116         start_index, end_index arguments.
113117         (gl_tree_remove): Update.
113118         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
113119         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
113120         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
113121         function.
113122         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
113123         gl_tree_search. Add start_index, end_index arguments.
113124         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
113125         start_index, end_index arguments.
113126         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
113127         Update.
113128         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
113130 2006-10-05  Bruno Haible  <bruno@clisp.org>
113132         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
113134         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
113135         fwriteerror_temp): New declarations.
113136         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
113137         (descriptors): New variable.
113138         (cleanup): First, close the descriptors.
113139         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
113140         fclose_temp, fwriteerror_temp): New functions.
113142 2006-10-04  Jim Meyering  <jim@meyering.net>
113144         * lib/fts.c (fts_open): Tiny comment change.
113146 2006-10-04  Bruno Haible  <bruno@clisp.org>
113148         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
113149         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
113150         gl_LOCK_BODY.
113151         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
113152         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
113153         gl_LOCK_EARLY_BODY.
113154         (gl_LOCK): Require gl_LOCK_BODY.
113156 2006-10-04  Bruno Haible  <bruno@clisp.org>
113158         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
113159         (gl_oset_search_atleast): New declaration.
113160         (struct gl_oset_implementation): Add field 'search_atleast'.
113161         (gl_oset_search_atleast): New inline function.
113162         * lib/gl_oset.c (gl_oset_search_atleast): New function.
113163         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
113164         (gl_array_oset_implementation): Update.
113165         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
113166         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
113167         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
113169 2006-10-04  Bruno Haible  <bruno@clisp.org>
113171         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
113173 2006-10-03  Bruno Haible  <bruno@clisp.org>
113175         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
113176         from gl_avltreehash_list_implementation.
113178 2006-10-03  Bruno Haible  <bruno@clisp.org>
113180         * lib/gl_oset.c (gl_oset_add): Fix return type.
113182 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
113184         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
113186 2006-10-02  Eric Blake  <ebb9@byu.net>
113188         * modules/strnlen (Depends-on): Add extensions.
113190 2006-10-02  Eric Blake  <ebb9@byu.net>
113192         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
113193         definition in 2.60+.
113195 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
113197         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
113198         checks.
113200 2006-10-02  Bruno Haible  <bruno@clisp.org>
113202         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
113203         to the AUTOMAKE_OPTIONS.
113204         Reported by Jim Meyering.
113206 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
113208         Work around bug in Solaris 10 /proc file system:
113209         /proc/self/fd/NNN/.. isn't the parent directory of
113210         the directory whose file descriptor is NNN.  This needs to
113211         be worked around at run time, not compile time, since a
113212         program might be built on Solaris 8, where things work, and
113213         run on Solaris 10.
113214         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
113215         to use the following interface instead:
113216         (OPENAT_BUFFER_SIZE): New macro.
113217         (openat_proc_name): New function.
113218         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
113219         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
113220         Likewise.
113221         * lib/openat-proc.c: New file.
113222         * modules/openat (Files): Add lib/openat-proc.c.
113223         (Depends-on): Add same-inode, stdbool.
113224         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
113226 2006-09-29  Bruno Haible  <bruno@clisp.org>
113228         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
113229         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
113230         argument. Set stdout_closed before testing for ferror, not after.
113231         (fwriteerror, fwriteerror_no_ebadf): New functions.
113233 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113235         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
113237 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
113239         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
113240         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
113242 2006-09-28  Jim Meyering  <jim@meyering.net>
113244         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
113245         Include <unistd.h>.
113247 2006-09-28  Bruno Haible  <bruno@clisp.org>
113249         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
113250         * modules/linkedhash-list (Depends-on): Likewise.
113251         * modules/rbtreehash-list (Depends-on): Likewise.
113253 2006-09-28  Bruno Haible  <bruno@clisp.org>
113255         * lib/strndup.h: Simplify the redefinition of strndup.
113256         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
113257         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
113259 2006-09-28  Bruno Haible  <bruno@clisp.org>
113261         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
113262         * lib/gl_linkedhash_list.c: Likewise.
113263         * lib/gl_rbtreehash_list.c: Likewise.
113265 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
113267         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
113268         getaddrinfo.
113270         * lib/__fpending.h: Don't include <stdio_ext.h> unless
113271         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
113272         it causes <stdio_ext.h> to cause a compile-time error.
113273         Problem reported by Nelson H. F. Beebe.
113274         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
113275         of HAVE_DECL___PENDING.
113277         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
113278         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
113279         declaration.
113281 2006-09-27  Jim Meyering  <jim@meyering.net>
113283         This file could end up with a definition for a function
113284         named __strndup, rather than rpl_strndup on a system with
113285         incomplete weak_alias support.
113286         * lib/strndup.c (strndup): Rename from __strndup.
113287         Remove #defines that used to map __strndup to strndup.
113288         Don't use K&R prototypes.
113289         Remove LIBC-related code, since this file is not sync'd with glibc.
113290         * lib/strndup.h: Revamp, accordingly.
113291         * m4/strndup.m4: Modernize.
113293 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
113295         * modules/savewd (Depends-on): Add 'raise'.
113296         * lib/savewd.c: Include <signal.h>, for 'raise'.
113298 2006-09-26  Jim Meyering  <jim@meyering.net>
113300         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
113301         when we detect Darwin 8.7.0's acl_get_file bug.
113302         Rearrange to perform the new (below) run-test while $LIBS
113303         contains any acl-related library.  Set USE_ACL at the end.
113304         (gl_ACL_GET_FILE): New function.
113306 2006-09-26  Eric Blake  <ebb9@byu.net>
113308         * lib/verror.c: Include <config.h> unconditionally.
113310 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
113312         * modules/clock-time (Maintainer): Add self.
113313         * modules/getlogin_r (Depends-on): Add extensions.
113315 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113317         * modules/clock-time: New module.
113318         * modules/nanosleep (Depends-on): Add clock-time.
113319         * modules/gethrxtime (Depends-on): Likewise.
113320         * modules/gettime (Depends-on): Likewise.
113321         * modules/settime (Depends-on): Likewise.
113323         * modules/fts-lgpl: Depend on openat.
113324         * modules/mkancesdirs: Depend on savewd.
113325         * modules/mkdir-p: Likewise.
113327 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113329         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
113331         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
113332         `gl_have_arbitrary_file_name_length_limit' to
113333         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
113334         actually works between configure runs.
113336 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113337             Bruno Haible  <bruno@clisp.org>
113339         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
113341 2006-09-25  Jim Meyering  <jim@meyering.net>
113343         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
113344         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
113346 2006-09-25  Eric Blake  <ebb9@byu.net>
113348         * gnulib-tool (func_import, func_create_testdir): Fix typos in
113349         exec's in 2006-09-18 patch when shuffling fds.
113351 2006-09-25  Bruno Haible  <bruno@clisp.org>
113353         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
113354         Reported by Jim Meyering.
113356 2006-09-24  Jim Meyering  <jim@meyering.net>
113358         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
113359         compare a pointer against a literal "0".  That caused failures with
113360         at least HP-UX's hpcc.
113362 2006-09-22  Simon Josefsson  <jas@extundo.com>
113364         * modules/gc-sha1:
113365         * modules/gc-md4:
113366         * modules/gc-hmac-sha1:
113367         * modules/gc-hmac-md5:
113368         * modules/gc-des:
113369         * modules/gc-arcfour: Distribute more files.
113371 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113373         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
113374         (gl_linked_iterator_from_to): Initialize struct completely.
113375         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
113376         (gl_tree_iterator_from_to): Likewise
113377         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
113378         * lib/gl_array_list.c [lint] (gl_array_iterator)
113379         (gl_array_iterator_from_to): Likewise.
113380         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
113381         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
113382         (gl_carray_iterator_from_to): Likewise.
113384         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
113385         * lib/md4.c (md4_process_block): Remove unused variable.
113386         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
113387         parentheses for clarity.
113389 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113391         * modules/bison-i18n (Depends-on): Add gettext.
113393 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113395         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
113396         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
113397         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
113398         also add missing comma that caused broken test.
113399         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
113400         stdlib.h, for `abort'.
113401         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
113402         variables.
113403         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
113404         include unistd.h if present, for `rmdir'.
113405         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
113406         variables.
113407         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
113408         in the process include standard headers for prototypes.
113409         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
113410         gets declared on GNU/Linux.
113411         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
113412         unistd.h, for `rmdir'.
113413         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
113415         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
113416         always true.
113417         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
113419         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
113421 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113423         * gnulib-tool (func_version): Create output all at once.  This
113424         may help avoid triggering unnecessary SIGPIPEs, and at any
113425         rate it doesn't hurt.
113427 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113428             Bruno Haible  <bruno@clisp.org>
113430         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
113431         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
113432         * m4/signed.m4 (bh_C_SIGNED): Likewise.
113434         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
113435         (gl_FUNC_VASPRINTF): Invoke it.
113437 2006-09-22  Bruno Haible  <bruno@clisp.org>
113439         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
113440         getloadavg.c as first argument.
113442 2006-09-22  Bruno Haible  <bruno@clisp.org>
113444         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
113445         at the beginning of the gl_INIT macro.
113446         * modules/getloadavg (configure.ac): Pass $gl_source_base to
113447         gl_GETLOADAVG.
113449 2006-09-22  Bruno Haible  <bruno@clisp.org>
113451         * gnulib-tool (func_create_megatestdir): Don't include the config-h
113452         module.
113453         Suggested by Ralf Wildenhues.
113455 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
113457         Import this patch from libc:
113459         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
113461         * lib/regex_internal.c (re_string_reconstruct): Handle
113462         offset < pstr->valid_raw_len && pstr->offsets_needed case.
113463         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
113464         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
113465         re_string_context_at.
113467         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
113468         now requires it.
113469         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
113470         gl_REGEX now does it for us.
113471         (gl_REGEX): Add test taken from
113472         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
113474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
113475         Check that large offsets work.  Modernize Autoconf usages.
113476         Prefer "yes" to mean a good thing rather than a bad.
113477         Don't put "#define mkstemp" in config.h, as this might interfere
113478         with standard system headers that "#define mkstemp mkstemp64".
113480         * modules/mkstemp (Depends-on): Add extensions, so that
113481         mkstemp is visible on some platforms.
113482         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
113483         (Include): Change to "mkstemp.h" from <stdlib.h>.
113484         (Files): Add mkstemp.h.
113486         * lib/mkstemp.h: New file, since some standard headers
113487         #define mkstemp.
113488         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
113489         Include "mkstemp.h".
113490         Make the _LIBC code resemble glibc original more,
113491         e.g., use K&R style.
113492         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
113493         (mkstemp): Remove, since mkstemp.h does this for us.
113494         * lib/stdlib--.h: Include mkstemp.h.
113496         Import this patch from libc:
113498         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113500         * lib/tempname.c (__gen_tempname): Change attempts_min
113501         into a macro.  Use preprocessor to decide how to initialize
113502         attempts [Coverity CID 67].
113504 2006-09-20  Bruno Haible  <bruno@clisp.org>
113506         * lib/mkdtemp.c: Import from libc.
113507         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113508                 * sysdeps/posix/tempname.c (__gen_tempname): Change
113509                 attempts_min into a macro.  Use preprocessor to decide how to
113510                 initialize attempts [Coverity CID 67].
113511         2001-11-27  Paul Eggert  <eggert@twinsun.com>
113512                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
113513                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
113515 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113517         * gnulib-tool (func_exit): New function, to allow to pass the
113518         exit status portably through the trap.  Use everywhere.
113519         (--help, --version): Signal a write error.
113520         (trap): catch SIGPIPE, for write errors.
113521         Exit at the end of the trap, with the correct exit status.
113523 2006-09-19  Karl Berry  <karl@gnu.org>
113525         * doc/gnulib.texi: note about the license texinfo files.
113527 2006-09-19  Eric Blake  <ebb9@byu.net>
113529         * gnulib-tool: Avoid space-tab.
113531 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113533         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
113534         that prevented coreutils 6.1 from building.  Problem reported
113535         by Petter Reinholdtsen.
113537 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113539         * gnulib-tool (avoidlist): Fix typo that broke options like
113540         --avoid=lock that are used by coreutils bootstrap.
113542 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
113544         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
113545         more systematically.
113547 2006-09-18  Jim Meyering  <jim@meyering.net>
113549         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
113551 2006-09-18  Bruno Haible  <bruno@clisp.org>
113553         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
113555 2006-09-18  Bruno Haible  <bruno@clisp.org>
113557         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
113558         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
113559         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
113560         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
113561         * m4/gettext.m4: Require autoconf >= 2.52.
113562         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
113563         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
113564         of gl_cv_header_inttypes_h.
113566 2006-09-18  Bruno Haible  <bruno@clisp.org>
113568         * lib/javaversion.c: Include configmake.h.
113570 2006-09-18  Bruno Haible  <bruno@clisp.org>
113572         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
113573         avoid that the while loops be executed in a subshell.
113575 2006-09-18  Bruno Haible  <bruno@clisp.org>
113577         * MODULES.html.sh (func_module): Break long lines.
113578         Suggested by Bruce Korb <bkorb@gnu.org>.
113580 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113582         Speed up by a factor of 1.12.
113583         * gnulib-tool (nl): New variable.
113584         (func_import): Rewrite include directive extraction to only read each
113585         directive once.
113587 2006-09-17  Bruno Haible  <bruno@clisp.org>
113589         * modules/javaversion (Makefile.am): Remove DEFS setting.
113590         (Depends-on): Add configmake, for PKGDATADIR definition.
113592 2006-09-17  Bruno Haible  <bruno@clisp.org>
113594         * gnulib-tool (func_create_testdir): Rewrite all files at once.
113596 2006-09-17  Bruno Haible  <bruno@clisp.org>
113598         * gnulib-tool (func_append): New function, stolen from libtool.m4.
113599         (func_modules_transitive_closure, func_modules_add_dummy,
113600         func_modules_to_filelist, func_import, func_create_testdir,
113601         func_create_megatestdir, ...): Use it wherever possible.
113602         Suggested by Ralf Wildenhues.
113604 2006-09-16  Karl Berry  <karl@gnu.org>
113606         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
113607         to avoid sectioning errors.
113608         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
113609         [ifinfo]: blank line after @center-ed titles.
113610         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
113611         Spell FSF address consistently with others.
113612         (These changes approved by rms.)
113614 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113616         Speed up by a factor of 1.61.
113617         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
113618         already checked module names again.
113620 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113622         Speed up by a factor of 1.13.
113623         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
113624         for new_files, and the input to func_add_or_update.
113626 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113628         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
113629         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
113631 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113633         * modules/mkancesdirs (Depends-on): Add fcntl.
113634         * modules/savewd: New file.
113635         * MODULES.html.sh (File system functions): Add savewd.
113637         * modules/configmake (Makefile.am): Add support for the
113638         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
113640 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113642         * m4/savewd.m4: New file.
113644 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113646         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
113647         (dirchownmod): New arg FD.  All callers changed.
113648         Use FD rather than opening the directory ourself, as opening is
113649         now the caller's responsibility.
113650         * lib/dirchownmod.h: Likewise.
113651         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
113652         hosts that require <sys/types.h> before <sys/stat.h>.  Include
113653         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
113654         (test_dir): Remove.
113655         (mkancesdirs): Return length of prefix of FILE that has already
113656         been made, or -2 if there is a child doing the work.  Redo
113657         algorithm so that it is O(N) rather than O(N**2).  Optimize away
113658         ".", and treat ".." specially since it might stray back into
113659         already-created areas.  Use a subprocess if necessary.  New arg
113660         WD; all users changed.  MAKE_DIR function should now return 1
113661         if it creates a directory that is not readable.  Return -2 if
113662         a child process is spun off.
113663         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
113664         Adjust signature to match code.
113665         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
113666         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
113667         all users changed.
113668         * lib/savewd.c, lib/savewd.h: New files.
113670 2006-09-15  Jim Meyering  <jim@meyering.net>
113672         * modules/rename-dest-slash: New module.
113673         * MODULES.html.sh (posix_compat): Add it here.
113675         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
113677 2006-09-15  Jim Meyering  <jim@meyering.net>
113679         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
113680         file.
113682         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
113684 2006-09-15  Jim Meyering  <jim@meyering.net>
113686         * lib/rename-dest-slash.c (has_trailing_slash): Use
113687         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
113688         (rpl_rename_dest_slash): Perform the cheaper trailing slash
113689         test before testing whether SRC is a directory.
113690         Suggestions from Bruno Haible.
113692         Avoid a warning about an unused variable.
113693         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
113694         into the #ifdef block where it's used.
113696         * lib/rename-dest-slash.c: New file.
113698 2006-09-14  Bruno Haible  <bruno@clisp.org>
113700         * lib/allocsa.c: Include <config.h> unconditionally.
113701         * lib/asnprintf.c: Likewise.
113702         * lib/asprintf.c: Likewise.
113703         * lib/c-strcasecmp.c: Likewise.
113704         * lib/c-strcasestr.c: Likewise.
113705         * lib/c-strncasecmp.c: Likewise.
113706         * lib/c-strstr.c: Likewise.
113707         * lib/classpath.c: Likewise.
113708         * lib/clean-temp.c: Likewise.
113709         * lib/concatpath.c: Likewise.
113710         * lib/copy-file.c: Likewise.
113711         * lib/csharpcomp.c: Likewise.
113712         * lib/csharpexec.c: Likewise.
113713         * lib/execute.c: Likewise.
113714         * lib/fatal-signal.c: Likewise.
113715         * lib/findprog.c: Likewise.
113716         * lib/fwriteerror.c: Likewise.
113717         * lib/gl_array_list.c: Likewise.
113718         * lib/gl_array_oset.c: Likewise.
113719         * lib/gl_avltree_list.c: Likewise.
113720         * lib/gl_avltree_oset.c: Likewise.
113721         * lib/gl_avltreehash_list.c: Likewise.
113722         * lib/gl_carray_list.c: Likewise.
113723         * lib/gl_linked_list.c: Likewise.
113724         * lib/gl_linkedhash_list.c: Likewise.
113725         * lib/gl_list.c: Likewise.
113726         * lib/gl_oset.c: Likewise.
113727         * lib/gl_rbtree_list.c: Likewise.
113728         * lib/gl_rbtree_oset.c: Likewise.
113729         * lib/gl_rbtreehash_list.c: Likewise.
113730         * lib/imaxabs.c: Likewise.
113731         * lib/imaxdiv.c: Likewise.
113732         * lib/javacomp.c: Likewise.
113733         * lib/javaexec.c: Likewise.
113734         * lib/javaversion.c: Likewise.
113735         * lib/linebreak.c: Likewise.
113736         * lib/localcharset.c: Likewise.
113737         * lib/lock.c: Likewise.
113738         * lib/mbchar.c: Likewise.
113739         * lib/mbswidth.c: Likewise.
113740         * lib/mkdtemp.c: Likewise.
113741         * lib/pipe.c: Likewise.
113742         * lib/printf-args.c: Likewise.
113743         * lib/printf-parse.c: Likewise.
113744         * lib/progname.c: Likewise.
113745         * lib/progreloc.c: Likewise.
113746         * lib/readlink.c: Likewise.
113747         * lib/sh-quote.c: Likewise.
113748         * lib/stpcpy.c: Likewise.
113749         * lib/stpncpy.c: Likewise.
113750         * lib/strcasecmp.c: Likewise.
113751         * lib/strcasestr.c: Likewise.
113752         * lib/strcspn.c: Likewise.
113753         * lib/striconv.c: Likewise.
113754         * lib/strncasecmp.c: Likewise.
113755         * lib/strnlen1.c: Likewise.
113756         * lib/strstr.c: Likewise.
113757         * lib/strtok_r.c: Likewise.
113758         * lib/tls.c: Likewise.
113759         * lib/tmpdir.c: Likewise.
113760         * lib/unicodeio.c: Likewise.
113761         * lib/unsetenv.c: Likewise.
113762         * lib/vasnprintf.c: Likewise.
113763         * lib/vasprintf.c: Likewise.
113764         * lib/wait-process.c: Likewise.
113765         * lib/xallocsa.c: Likewise.
113766         * lib/xsetenv.c: Likewise.
113767         * lib/xstriconv.c: Likewise.
113769 2006-09-13  Simon Josefsson  <jas@extundo.com>
113771         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
113772         that internally, suggested by Ralf Wildenhues
113773         <Ralf.Wildenhues@gmx.de>.
113775 2006-09-13  Simon Josefsson  <jas@extundo.com>
113777         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
113778         @LIBOBJS@.
113779         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
113781 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
113783         * lib/_fpending.c: Include <config.h> unconditionally, since we no
113784         longer worry about uses that don't define HAVE_CONFIG_H.
113785         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
113786         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
113787         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
113788         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
113789         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
113790         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
113791         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
113792         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
113793         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
113794         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
113795         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
113796         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
113797         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
113798         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
113799         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
113800         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
113801         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
113802         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
113803         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
113804         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
113805         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
113806         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
113807         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
113808         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
113809         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
113810         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
113811         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
113812         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
113813         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
113814         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
113815         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
113816         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
113817         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
113818         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
113819         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
113820         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
113821         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
113822         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
113823         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
113824         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
113825         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
113826         Likewise.
113828 2006-09-13  Eric Blake  <ebb9@byu.net>
113830         * lib/getopt.c: Fix typo in last commit.
113832 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
113834         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
113835         dgettext.
113837 2006-09-12  Jim Meyering  <jim@meyering.net>
113839         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
113840         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
113841         Reported by Nelson H. F. Beebe.
113843 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
113845         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
113846         program_invocation_name and program_invocation_short_name are
113847         initialized.
113848         * lib/argp-namefrob.h: Move declarations of program_invocation_name
113849         and program_invocation_short_name to argp.h, so they are visible
113850         to user programs.
113851         * lib/argp.h: Likewise
113853 2006-09-10  Bruno Haible  <bruno@clisp.org>
113855         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
113856         m4/inttypes_h.m4, m4/uintmax_t.m4.
113858 2006-09-10  Bruno Haible  <bruno@clisp.org>
113860         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
113861         gl_AC_TYPE_UINTMAX_T.
113863 2006-09-10  Bruno Haible  <bruno@clisp.org>
113865         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
113867 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
113869         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
113870         convention.  Text proposed by Bruno Haible.
113871         (struct argp_option): Document the use of N_() wrappers.
113873         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
113874         '\v', and translate the two parts separately, instead of feeding
113875         the whole string to gettext.  This allows to exclude
113876         '\v' from the strings visible to the translator by writing doc
113877         strings as N_("..") "\v" N_("..").
113879 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
113881         * config/srclist.txt: Undo latest change; the bug was fixed.
113883 2006-09-09  Bruno Haible  <bruno@clisp.org>
113885         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
113886         assignments if building a library without libtool.
113887         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
113888         in func_emit_lib_Makefile_am.
113889         (func_import): When building a static library libfoo.a, arrange to
113890         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
113891         (func_create_testdir): Likewise.
113892         * modules/gc (configure.ac, Makefile.am): If building statically,
113893         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
113894         * modules/iconvme (configure.ac, Makefile.am): Likewise.
113895         * modules/striconv (configure.ac, Makefile.am): Likewise.
113896         Based on a suggestion by Ralf Wildenhues.
113898 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113900         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
113901         Check for unistd.h too, since Autoconf doesn't assume POSIX.
113902         Also:
113904         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113905         Add year_2050_test to catch glibc bug 2821
113906         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113908         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113909         Prefer #ifdef to #if.
113911         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
113912         Return from 'main' instead of calling 'exit'.
113914 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113916         * lib/mktime.c (guess_time_tm): Fix bug where mktime
113917         returned the maximum time_t value rather than (time_t) -1.
113918         Problem originally reported by William Bardwell
113919         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113921         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113922         Moved to here ...
113923         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113924         ... from here.
113926 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113928         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
113929         2821 is fixed.
113931 2006-09-08  Jim Meyering  <jim@meyering.net>
113933         Don't make generated files read-only.  That would bother too many
113934         people.  However, do retain the ability to work when targets are
113935         read-only: remove the destination and temporary files before writing
113936         them (when generated via sed or echo), or by using the -f option for
113937         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
113938         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113939         * modules/byteswap, modules/configmake, modules/fcntl:
113940         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113941         * modules/localcharset, modules/netinet_in, modules/poll:
113942         * modules/stdbool, modules/stdint, modules/sys_select:
113943         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113945 2006-09-08  Jim Meyering  <jim@meyering.net>
113947         Avoid new build failure on FreeBSD 6.0.
113948         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
113949         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
113950         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
113952 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113954         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
113956 2006-09-07  Jim Meyering  <jim@meyering.net>
113958         Fix global typo in last change: use chmod u-w, not chmod u-x.
113959         Spotted by Paul Eggert and Bruce Korb.
113960         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113961         * modules/byteswap, modules/configmake, modules/fcntl:
113962         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113963         * modules/localcharset, modules/netinet_in, modules/poll:
113964         * modules/stdbool, modules/stdint, modules/sys_select:
113965         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113967 2006-09-06  Jim Meyering  <jim@meyering.net>
113969         Make generated files be read-only.
113970         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
113971         Ensure that each generated file is now read-only.
113972         * modules/argz: Likewise.
113973         * modules/arpa_inet: Likewise.
113974         * modules/byteswap: Likewise.
113975         * modules/configmake: Likewise.
113976         * modules/fcntl: Likewise.
113977         * modules/fnmatch: Likewise.
113978         * modules/getopt: Likewise.
113979         * modules/glob: Likewise.
113980         * modules/inttypes: Likewise.
113981         * modules/netinet_in: Likewise.
113982         * modules/poll: Likewise.
113983         * modules/stdbool: Likewise.
113984         * modules/stdint: Likewise.
113985         * modules/sys_select: Likewise.
113986         * modules/sys_socket: Likewise.
113987         * modules/sys_stat: Likewise.
113988         * modules/sysexits: Likewise.
113989         * modules/localcharset: Same as above, but continue using temporary
113990         file named "t-$@" (why different?) rather than the "$@-t" used
113991         everywhere else.
113993         * modules/sysexits (Makefile.am): Replace literal occurrences
113994         of "sysexit.h" more readable, and more consistent, "$@".
113996 2006-09-06  Bruno Haible  <bruno@clisp.org>
113998         * modules/striconv: New file.
113999         * modules/xstriconv: New file.
114000         * MODULES.html.sh (Internationalization functions): Add striconv,
114001         xstriconv.
114003 2006-09-06  Bruno Haible  <bruno@clisp.org>
114005         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
114006         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
114007         not using libtool correctly.
114009 2006-09-06  Bruno Haible  <bruno@clisp.org>
114011         * lib/striconv.h: New file.
114012         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
114013         iconvstring.c.
114014         * lib/xstriconv.h: New file.
114015         * lib/xstriconv.c: New file.
114017 2006-09-06  Bruno Haible  <bruno@clisp.org>
114019         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
114020         lib_..._LDFLAGS.
114022 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114024         * lib/argz_.h: Sync from Libtool.
114026         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
114027                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114029         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
114031 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114033         * modules/trim: New file.
114035 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
114037         * lib/trim.h: New file.
114038         * lib/trim.c: New file.
114040 2006-09-05  Bruno Haible  <bruno@clisp.org>
114042         * MODULES.html.sh (String handling): Add trim.
114044 2006-09-04  Karl Berry  <karl@gnu.org>
114046         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
114047         until next release.
114049 2006-09-03  Bruno Haible  <bruno@clisp.org>
114051         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
114052         correctly.
114054 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114056         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
114057         not gl_GETLOADAVG.  Omit unneeded semicolons.
114058         Problems reported by Ralf Wildenhues in
114059         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114060         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
114061         at the end, which is the usual gnulib style.
114063         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
114064         of doing all the work ourselves.
114065         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
114066         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
114068 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114070         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
114071         Problem reported by Ralf Wildenhues in
114072         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
114074         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
114075         HAVE_STRUCT_STATFS_F_FSTYPENAME.
114077 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
114079         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
114080         yesterday's patch by changing test -n to test -z.
114082 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114084         * modules/getloadavg (Files): Add m4/getloadavg.m4.
114085         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
114086         the former is now obsolescent.
114088         * modules/chdir-long (Depends-on): Add fcntl.
114090 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114092         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
114093         obsolescent, and programs should use gnulib instead.
114094         * m4/getloadavg.m4: New file, with contents taken from Autoconf
114095         but with prefixes changed.
114097 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114099         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
114100         or stdbool.h, because they might not exist while configuring.
114102         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
114103         Don't include unistd.h or limits.h; not needed, since chdir-long.h
114104         does that for us.
114105         (O_DIRECTORY): Remove.
114107 2006-08-31  Eric Blake  <ebb9@byu.net>
114109         * gnulib-tool: Don't let emacs change spaces to TAB.
114111 2006-08-31  Bruno Haible  <bruno@clisp.org>
114113         * gnulib-tool: When calling func_import more than once, do it in a
114114         subshell.
114115         Reported by Eric Blake <ebb9@byu.net>.
114117 2006-08-31  Bruno Haible  <bruno@clisp.org>
114119         * gnulib-tool (nl): Remove variable.
114120         (sed_transform_lib_file): Use more robust test for config-h module.
114121         (func_import): Fix typo in 2006-08-25 patch.
114123 2006-08-31  Bruno Haible  <bruno@clisp.org>
114125         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
114126         specified, augment Makefile.am variables instead of assigning them.
114128 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114130         Work around a bug in both the Linux and SunOS 64-bit kernels:
114131         nanosleep mishandles sleeps for longer than 2**31 seconds.
114132         Problem reported by Frank v Waveren in
114133         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114134         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
114135         Check for nanosleep bug.
114136         (LIB_NANOSLEEP): Append clock_gettime library if needed.
114138 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114140         Work around a bug in both the Linux and SunOS 64-bit kernels:
114141         nanosleep mishandles sleeps for longer than 2**31 seconds.
114142         Problem reported by Frank v Waveren in
114143         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
114144         * lib/nanosleep.c (BILLION): New constant.
114145         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
114146         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
114147         implementation.
114149 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114151         * modules/nanosleep (Depends-on): Add gettime.
114153 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
114154         and Simon Josefsson  <jas@extundo.com>
114155         and Oskar Liljeblad  <oskar@osk.mine.nu>
114157         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
114158         * gnulib-tool (func_import): New license type 'unmodifiable license
114159         text'.
114160         * modules/fdl: Use it.  Longer description.
114161         * module/gpl, module/lgpl: New files.
114163 2006-08-30  Jim Meyering  <jim@meyering.net>
114165         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
114166         shadowing the parameter.
114168 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114170         Sync from Libtool:
114172         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114174         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
114175         sharing with gnulib.  Report by Eric Blake.
114177 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114179         * modules/isapipe: New file.
114180         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
114182 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114184         * modules/configmake (Makefile.am): Add a comment, and omit
114185         the CONFIGMAKE_ prefix from generated macro names.  Suggested
114186         by Bruno Haible.
114188 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114190         * m4/isapipe.m4: New file.
114192 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114194         * lib/isapipe.c, lib/isapipe.h: New files.
114196 2006-08-29  Jim Meyering  <jim@meyering.net>
114198         * modules/configmake (Makefile.am): Make configmake.h depend on
114199         Makefile.  Otherwise, a stale configmake.h could hang around.
114201 2006-08-29  Eric Blake  <ebb9@byu.net>
114203         * lib/error.c (error_at_line, print_errno_message): Match libc, after
114204         resolution of upstream bug 3044.
114206 2006-08-29  Bruno Haible  <bruno@clisp.org>
114208         * modules/localcharset (Depends-on): Add configmake.
114209         (Makefile.am): Remove setting of LIBDIR through DEFS.
114211 2006-08-29  Bruno Haible  <bruno@clisp.org>
114213         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
114214         defined.
114216 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114218         * modules/fcntl: New file.
114219         * modules/chdir-safer (Depends-on): Add fcntl.
114220         * modules/fts: Likewise.
114221         * modules/mkdir-p: Likewise.
114223         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
114224         This undoes the most recent change, since we're now addressing the
114225         problem in a different way.
114227         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
114228         into output, since the output might be called Makefile.am even
114229         if $makefile_name is something different.
114230         (func_import): Use $makefile_am rather than
114231         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
114232         empty.
114234         * modules/inttypes (Files): Add m4/inttypes-h.m4.
114236 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114238         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
114239         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
114240         recent change to stdint.m4, since we're now addressing the problem in a
114241         different way.
114243 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114245         * m4/fcntl_h.m4: New file.
114247 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114249         * lib/fcntl_.h: New file.
114250         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
114251         the fcntl module.
114252         * lib/dirchownmod.c: Likewise.
114253         * lib/fts.c: Likewise.
114255         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
114256         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
114257         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
114258         just before including <inttypes.h>, to avoid circular inclusion.
114260 2006-08-28  Jim Meyering  <jim@meyering.net>
114262         * doc/visibility.texi: Actually read and correct the grammar of the
114263         sentence affected by yesterday's change.
114265 2006-08-28  Eric Blake  <ebb9@byu.net>
114267         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
114268         needs wrapper.
114270 2006-08-28  Eric Blake  <ebb9@byu.net>
114272         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
114274 2006-08-28  Eric Blake  <ebb9@byu.net>
114276         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
114278 2006-08-28  Bruno Haible  <bruno@clisp.org>
114280         * modules/c-strstr: New file, from GNU gettext.
114281         * MODULES.html.sh (String handling): Add c-strstr.
114283 2006-08-28  Bruno Haible  <bruno@clisp.org>
114285         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
114286         macros.
114287         Reported by Eric Blake.
114289 2006-08-28  Bruno Haible  <bruno@clisp.org>
114291         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
114292         (VASNPRINTF): Return a string of length > INT_MAX without failing.
114293         * lib/vasprintf.c: Include errno.h, limits.h.
114294         (EOVERFLOW): New fallback definition.
114295         (vasprintf): Test here whether the string length is > INT_MAX.
114296         * lib/vsnprintf.c: Include errno.h, limits.h.
114297         (EOVERFLOW): New fallback definition.
114298         (vsnprintf): Fix bug when generated string was too long for the buffer.
114299         Test here whether the string length is > INT_MAX.
114301 2006-08-28  Bruno Haible  <bruno@clisp.org>
114303         * lib/inttypes_.h (SCNX*): Remove definitions.
114304         Reported by Eric Blake.
114306 2006-08-28  Bruno Haible  <bruno@clisp.org>
114308         * lib/c-strstr.h: New file, from GNU gettext.
114309         * lib/c-strstr.c: New file, from GNU gettext.
114311 2006-08-28  Bruno Haible  <bruno@clisp.org>
114313         * gnulib-tool: Reorder some statements.
114315 2006-08-28  Bruno Haible  <bruno@clisp.org>
114317         * gnulib-tool: New option --makefile-name.
114318         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
114319         $makefile_name.
114320         (func_import): Write $makefile_name to the cache file, and read it from
114321         there unless explicitly specified. Use $makefile_name as file name
114322         instead of Makefile.am. Adjust the recommendations accordingly.
114324 2006-08-28  Bruno Haible  <bruno@clisp.org>
114326         * gnulib-tool (func_verify_module): Check against misapplying patch.
114328 2006-08-28  Bruno Haible  <bruno@clisp.org>
114330         * gnulib-tool (func_relativize, func_relconcat): New functions.
114331         Give an error if --local-dir is given with --update.
114332         Remove trailing slashes from $local_gnulib_dir.
114333         (func_import): Store the relativized $local_gnulib_dir in
114334         gnulib-cache.m4, and read it from there if not specified explicitly.
114336 2006-08-28  Bruno Haible  <bruno@clisp.org>
114338         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
114339         is the current directory. Respect also $local_gnulib_dir.
114341 2006-08-28  Bruno Haible  <bruno@clisp.org>
114342             Simon Josefsson  <jas@extundo.com>
114344         BeOS portability.
114345         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
114347 2006-08-27  Jim Meyering  <jim@meyering.net>
114349         * doc/visibility.texi: Remove duplicate word: "pointer".
114351 2006-08-26  Bruno Haible  <bruno@clisp.org>
114353         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
114354         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
114355         (Makefile.am): Create inttypes.h from inttypes_.h.
114356         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
114358         * modules/imaxabs: New file.
114360         * modules/imaxdiv: New file.
114362 2006-08-26  Bruno Haible  <bruno@clisp.org>
114364         * m4/inttypes.m4: New file.
114365         * m4/_inttypes_h.m4: Remove file.
114366         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
114367         PRI_MACROS_BROKEN.
114368         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
114370         * m4/imaxabs.m4: New file.
114372         * m4/imaxdiv.m4: New file.
114374 2006-08-26  Bruno Haible  <bruno@clisp.org>
114376         * lib/inttypes_.h: New file.
114377         * lib/inttypes.h: Remove file.
114378         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
114380         * lib/imaxabs.c: New file.
114382         * lib/imaxdiv.c: New file.
114384 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114386         New config-h module, so that "make" output needn't be cluttered
114387         by -DHAVE_CONFIG_H.
114388         * MODULES.html.sh (Support for building libraries and executables):
114389         Add config-h.
114390         * modules/config-h: New file.
114391         * gnulib-tool (nl, sed_transform_lib_file): New vars.
114392         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
114393         the config-h module is used.
114395         New configmake module, so that "make" output needn't be cluttered
114396         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
114397         * MODULES.html.sh (Support for building libraries and executables):
114398         Add configmake.
114399         * modules/configmake: New file.
114401 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114403         * m4/config-h.m4: New file.
114405 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114407         * config/srclist.txt: Add elisp-comp.
114409 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114411         * MODULES.html.sh (Support for building libraries and executables):
114412         Add elisp-comp.
114413         * build-aux/elisp-comp: New file.
114414         * modules/elisp-comp: New file.
114416 2006-08-24  Bruno Haible  <bruno@clisp.org>
114418         * gnulib-tool (func_create_testdir): Use non-default values of
114419         sourcebase and m4base.
114421 2006-08-24  Bruno Haible  <bruno@clisp.org>
114423         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
114424         HTML structure.
114426 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114428         * modules/openat (Depends-on): Add lchown.
114430 2006-08-23  Bruno Haible  <bruno@clisp.org>
114432         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
114433         of gl_LOCK_EARLY instead of gl_LOCK.
114435 2006-08-23  Bruno Haible  <bruno@clisp.org>
114437         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
114438         on OSF/1 to no.
114439         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
114441 2006-08-23  Bruno Haible  <bruno@clisp.org>
114443         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
114444         as unusable.
114446         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
114447         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
114448         (gl_LOCK): New macro.
114450 2006-08-22  Simon Josefsson  <jas@extundo.com>
114452         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
114453         to md5 module.
114455 2006-08-22  Simon Josefsson  <jas@extundo.com>
114457         * MODULES.html.sh: Add "Support for maintaining and release
114458         projects".
114460         * build-aux/gnupload: New file, from coreutils.
114462 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114464         Avoid the need for AC_LIBSOURCES in m4 macros.
114465         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
114466         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
114467         * modules/check-version (EXTRA_DIST): Add check-version.h.
114468         * modules/crc (EXTRA_DIST): Add crc.h.
114469         * modules/des (EXTRA_DIST): Add des.h.
114470         * modules/gc (EXTRA_DIST): Add gc.h.
114471         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
114472         * modules/getline (EXTRA_DIST): Add getline.h.
114473         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
114474         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
114475         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
114476         * modules/md2 (EXTRA_DIST): Add md2.h.
114477         * modules/md4 (EXTRA_DIST): Add md4.h.
114478         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
114479         * modules/read-file (EXTRA_DIST): Add read-file.h.
114480         * modules/readline (EXTRA_DIST): Add readline.h.
114481         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
114482         rijndael-api-fst.h.
114484 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114486         * m4/rijndael.m4 (gl_ARCFOUR):
114487         * m4/arctwo.m4 (gl_ARCTWO):
114488         * m4/check-version.m4 (gl_CHECK_VERSION):
114489         * m4/crc.m4 (gl_CRC):
114490         * m4/des.m4 (gl_DES):
114491         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
114492         * m4/gc.m4 (gl_GC):
114493         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
114494         * m4/getline.m4 (gl_FUNC_GETLINE):
114495         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
114496         * m4/hmac-md5.m4 (gl_HMAC_MD5):
114497         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
114498         * m4/md2.m4 (gl_MD2):
114499         * m4/md4.m4 (gl_MD4):
114500         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
114501         * m4/read-file.m4 (gl_FUNC_READ_FILE):
114502         * m4/readline.m4 (gl_FUNC_READLINE):
114503         * m4/rijndael.m4 (gl_RIJNDAEL):
114504         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114505         to get the necessary .h files and whatnot.
114507 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114509         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
114510         gnulib rather than the other way around.
114511         * config/srclistvars.sh (COREUTILS): Remove.
114513 2006-08-22  Jim Meyering  <jim@meyering.net>
114515         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
114517         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
114519 2006-08-22  Eric Blake  <ebb9@byu.net>
114521         * modules/regexprops-generic: New file.
114522         * MODULES.html.sh (Support for building documentation): List it.
114524 2006-08-22  Eric Blake  <ebb9@byu.net>
114526         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
114527         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
114528         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
114529         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
114531 2006-08-22  Bruno Haible  <bruno@clisp.org>
114533         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
114534         and lib_LTLIBRARIES like the other lib_* variables.
114536 2006-08-22  Bruno Haible  <bruno@clisp.org>
114538         * build-aux/x-to-1.in: New file, from GNU gettext.
114540 2006-08-22  Bruno Haible  <bruno@clisp.org>
114542         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
114543         <utmpx.h> exists.
114545 2006-08-22  Bruno Haible  <bruno@clisp.org>
114547         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
114548         <utmpx.h> exists.
114550 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114552         BeOS portability.
114553         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
114554         exist.
114555         Problem reported by Bruno Haible.
114557 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114559         Avoid the need for AC_LIBSOURCES in m4 macros.
114560         * modules/acl (EXTRA_DIST): Add acl.h.
114561         * modules/argmatch (Files): Add m4/argmatch.m4.
114562         (configure.ac): Add gl_ARGMATCH.
114563         (EXTRA_DIST): Renamed from lib_SOURCES, for
114564         consistency with the other modules.  Remove argmatch.c.
114565         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
114566         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
114567         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
114568         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
114569         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
114570         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
114571         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
114572         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
114573         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
114574         * modules/closeout (EXTRA_DIST): Add closeout.h.
114575         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
114576         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
114577         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
114578         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
114579         dirname.h; remove basename.c and stripslash.c.
114580         * modules/exclude (EXTRA_DIST): Add exclude.h.
114581         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
114582         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
114583         * modules/file-type (EXTRA_DIST): Add file-type.h.
114584         * modules/filemode (EXTRA_DIST): Add filemode.h.
114585         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
114586         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114587         * modules/fpending (EXTRA_DIST): Add __fpending.h.
114588         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
114589         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
114590         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
114591         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
114592         * modules/getdate (EXTRA_DIST): Add getdate.c.
114593         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
114594         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
114595         * modules/getpass (EXTRA_DIST): Add getpass.h.
114596         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
114597         * modules/group-member (EXTRA_DIST): Add group-member.h.
114598         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
114599         * modules/hash (EXTRA_DIST): Add hash.h.
114600         * modules/human (EXTRA_DIST): Add human.h.
114601         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
114602         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
114603         * modules/lchown (EXTRA_DIST): Add lchown.h.
114604         * modules/long-options (EXTRA_DIST): Add long-options.h.
114605         * modules/lstat (EXTRA_DIST): Add lstat.h.
114606         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
114607         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
114608         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
114609         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
114610         * modules/memxor (EXTRA_DIST): Add memxor.h.
114611         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
114612         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
114613         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
114614         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
114615         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
114616         * modules/physmem (EXTRA_DIST): Add physmem.h.
114617         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
114618         * modules/posixver (EXTRA_DIST): Add posixver.h.
114619         * modules/quote (EXTRA_DIST): Add quote.h.
114620         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
114621         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
114622         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
114623         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
114624         regex_internal.h regexec.c.
114625         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
114626         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
114627         * modules/same (EXTRA_DIST): Add same.h.
114628         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
114629         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
114630         * modules/savedir (EXTRA_DIST): Add savedir.h.
114631         * modules/sha1 (EXTRA_DIST): Add sha1.h.
114632         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
114633         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
114634         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
114635         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
114636         * modules/strdup (EXTRA_DIST): Add strdup.h.
114637         * modules/strftime (EXTRA_DIST): Add strftime.h.
114638         * modules/strndup (EXTRA_DIST): Add strndup.h.
114639         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
114640         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
114641         * modules/time_r (EXTRA_DIST): Add time_r.h.
114642         * modules/timespec (EXTRA_DIST): Add timespec.h.
114643         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114644         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
114645         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
114646         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
114647         * modules/userspec (EXTRA_DIST): Add userspec.h.
114648         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
114649         * modules/utimens (EXTRA_DIST): Add utimens.h.
114650         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
114651         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
114652         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
114653         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
114654         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
114655         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
114656         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
114657         * modules/yesno (EXTRA_DIST): Add yesno.h.
114659 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114661         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
114663         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
114664         * m4/dev-ino.m4, same-inode.m4: Remove.
114666         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
114667         * m4/acl.m4 (AC_FUNC_ACL):
114668         * m4/backupfile.m4 (gl_BACKUPFILE):
114669         * m4/c-strtod.m4 (gl_C99_STRTOLD):
114670         * m4/canon-host.m4 (gl_CANON_HOST):
114671         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
114672         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
114673         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
114674         * m4/cloexec.m4 (gl_CLOEXEC):
114675         * m4/close-stream.m4 (gl_CLOSE_STREAM):
114676         * m4/closeout.m4 (gl_CLOSEOUT):
114677         * m4/dirfd.m4 (gl_FUNC_DIRFD):
114678         * m4/dirname.m4 (gl_DIRNAME):
114679         * m4/exclude.m4 (gl_EXCLUDE):
114680         * m4/exitfail.m4 (gl_EXITFAIL):
114681         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
114682         * m4/file-type.m4 (gl_FILE_TYPE):
114683         * m4/filemode.m4 (gl_FILEMODE):
114684         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
114685         * m4/fpending.m4 (gl_FUNC_FPENDING):
114686         * m4/fprintftime.m4 (gl_FPRINTFTIME):
114687         * m4/fts.m4 (gl_FUNC_FTS):
114688         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
114689         * m4/getdate.m4 (gl_GETDATE):
114690         * m4/gethrxtime.m4 (gl_GETHRXTIME):
114691         * m4/getpagesize.m4 (gl_GETPAGESIZE):
114692         * m4/getpass.m4 (gl_FUNC_GETPASS):
114693         * m4/gettime.m4 (gl_GETTIME):
114694         * m4/getugroups.m4 (gl_GETUGROUPS):
114695         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
114696         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
114697         * m4/hard-locale.m4 (gl_HARD_LOCALE):
114698         * m4/hash.m4 (gl_HASH):
114699         * m4/idcache.m4 (gl_IDCACHE):
114700         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
114701         * m4/lchown.m4 (gl_FUNC_LCHOWN):
114702         * m4/long-options.m4 (gl_LONG_OPTIONS):
114703         * m4/lstat.m4 (gl_FUNC_LSTAT):
114704         * m4/md5.m4 (gl_MD5):
114705         * m4/memcasecmp.m4 (gl_MEMCASECMP):
114706         * m4/memcoll.m4 (gl_MEMCOLL):
114707         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
114708         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
114709         * m4/memxor.m4 (gl_MEMXOR):
114710         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
114711         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
114712         * m4/modechange.m4 (gl_MODECHANGE):
114713         * m4/mountlist.m4 (gl_MOUNTLIST):
114714         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
114715         * m4/openat.m4 (gl_FUNC_OPENAT):
114716         * m4/pathmax.m4 (gl_PATHMAX):
114717         * m4/physmem.m4 (gl_PHYSMEM):
114718         * m4/posixtm.m4 (gl_POSIXTM):
114719         * m4/posixver.m4 (gl_POSIXVER):
114720         * m4/quote.m4 (gl_QUOTE):
114721         * m4/quotearg.m4 (gl_QUOTEARG):
114722         * m4/readtokens.m4 (gl_READTOKENS):
114723         * m4/readutmp.m4 (gl_READUTMP):
114724         * m4/regex.m4 (gl_REGEX):
114725         * m4/safe-read.m4 (gl_SAFE_READ):
114726         * m4/safe-write.m4 (gl_SAFE_WRITE):
114727         * m4/same.m4 (gl_SAME):
114728         * m4/save-cwd.m4 (gl_SAVE_CWD):
114729         * m4/savedir.m4 (gl_SAVEDIR):
114730         * m4/settime.m4 (gl_SETTIME):
114731         * m4/sha1.m4 (gl_SHA1):
114732         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
114733         * m4/stat-macros.m4 (gl_STAT_MACROS):
114734         * m4/stat-time.m4 (gl_STAT_TIME):
114735         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
114736         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
114737         * m4/strdup.m4 (gl_FUNC_STRDUP):
114738         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
114739         * m4/strndup.m4 (gl_FUNC_STRNDUP):
114740         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
114741         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
114742         * m4/time_r.m4 (gl_TIME_R):
114743         * m4/timespec.m4 (gl_TIMESPEC):
114744         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
114745         * m4/unlinkdir.m4 (gl_UNLINKDIR):
114746         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
114747         * m4/userspec.m4 (gl_USERSPEC):
114748         * m4/utimecmp.m4 (gl_UTIMECMP):
114749         * m4/utimens.m4 (gl_UTIMENS):
114750         * m4/xalloc.m4 (gl_XALLOC):
114751         * m4/xgetcwd.m4 (gl_XGETCWD):
114752         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
114753         * m4/xreadlink.m4 (gl_XREADLINK):
114754         * m4/xstrtod.m4 (gl_XSTRTOD):
114755         * m4/yesno.m4 (gl_YESNO):
114756         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114757         to get the necessary .h files and whatnot.
114759 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
114760             Bruno Haible  <bruno@clisp.org>
114762         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
114763         /bin/sh understanding of '!' conditional negation.
114765 2006-08-21  Jim Meyering  <jim@meyering.net>
114767         * modules/openat (Depends-on): Really alphabetize.
114769         * modules/acl (Depends-on): Add error and quote.
114771         * check-module (find_included_lib_files): Add at-func.c to the
114772         ok-to-include-more-than-once white list.
114774         * modules/openat (Depends-on): Add lstat.  Alphabetize.
114776 2006-08-21  Bruno Haible  <bruno@clisp.org>
114778         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114779         Emit a pkgdata_DATA variable only if some snippets add contents to it.
114780         Reported by Martin Lambers <marlam@marlam.de>.
114782 2006-08-21  Bruno Haible  <bruno@clisp.org>
114784         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
114785         specify an installation location, don't emit a noinst_LIBRARIES or
114786         noinst_LTLIBRARIES assignment.
114788 2006-08-21  Bruno Haible  <bruno@clisp.org>
114790         BeOS portability.
114791         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
114792         BeOS has mbrtowc() but no <wctype.h>.
114794 2006-08-21  Bruno Haible  <bruno@clisp.org>
114796         BeOS portability.
114797         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
114798         exist.
114800 2006-08-21  Bruno Haible  <bruno@clisp.org>
114802         BeOS portability.
114803         * lib/mbchar.h: Include <wctype.h> only if it exists.
114805 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114807         Remove files that are no longer needed by their respective modules.
114808         * m4/obstack.m4: Remove.
114809         * m4/strerror_r.m4: Remove.
114810         * m4/uint32_t.m4: Remove.
114811         * m4/uintptr_t.m4: Remove.
114812         * m4/ullong_max.m4: Remove.
114813         * m4/xstrtoimax.m4: Remove.
114814         * m4/xstrtoumax.m4: Remove.
114816         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
114817         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
114818         dependencies now capture this.
114820         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
114821         Do not use AC_LIBSOURCES, since gnulib modules now do this.
114822         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
114823         * m4/human.m4 (gl_HUMAN): Likewise.
114824         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
114825         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
114827         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
114829         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
114830         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
114831         stdint.
114832         * m4/human.m4 (gl_HUMAN): Likewise.
114833         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
114834         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
114835         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114836         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114837         * m4/xstrtol (gl_XSTRTOL): Likewise.
114839         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
114840         AC_TYPE_LONG_LONG_INT.
114841         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114842         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
114843         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
114844         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114846         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
114847         on stdbool.
114849         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
114850         (gl_PREREQ_XSTRTOUL): Remove.
114852         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
114854         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
114855         mode.
114857 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114859         Add and change modules to make it easier for coreutils to use
114860         gnulib-tool.
114861         * modules/backupfile (Files): Remove m4/d-ino.m4.
114862         (Depends-on): Add d-ino.
114863         * modules/cycle-check (Depends-on): Add stdint.
114864         (lib_SOURCES): Add cycle-check.h.
114865         * modules/d-ino: New module.
114866         * modules/d-type: New module.
114867         * modules/error (Files): Remove m4/strerror_r.m4.
114868         * modules/filemode (Files): Add m4/st_dm_mode.m4.
114869         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114870         m4/inttypes_h.m4, m4/uintmax_t.m4.
114871         (Depends-on): Add stdint.
114872         (lib_SOURCES): Add fsusage.h.
114873         * modules/getcwd (Files): Remove d-ino.m4.
114874         (Depends-on): Add d-ino.
114875         * modules/getndelim2 (Depends-on): Add stdint.
114876         * modules/glob (Files): Remove m4/d-type.m4.
114877         (Depends-on): Add d-type.
114878         * modules/host-os: New module.
114879         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
114880         m4/inttypes_h.m4, m4/uintmax_t.m4.
114881         * Depends-on: Add stdint.
114882         (lib_SOURCES): Add human.h.
114883         * modules/inttostr (Files): Remove m4/intmax_t.m4,
114884         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
114885         m4/uintmax_t.m4, m4/ulonglong.m4.
114886         (Depends-on): Add stdint.
114887         (EXTRA_DIST): Add inttostr.h.
114888         * modules/lchmod: New module.
114889         * modules/link-follow: New module.
114890         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
114891         (Depends-on): Add lchmod.
114892         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
114893         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
114894         (Depends-on): Add stdint.
114895         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
114896         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
114897         (Depends-on): Add stdint.
114898         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
114899         * modules/perl: New module.
114900         * modules/regex (Depends-on): Add stdint.
114901         * modules/rmdir-errno: New module.
114902         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114903         m4/intmax_t.m4.
114904         (Depends-on): Add stdint.
114905         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114906         m4/uintmax_t.m4.
114907         (Depends-on): Add stdint.
114908         * modules/unlink-busy: New module.
114909         * modules/utimecmp (Depends-on): Add stdint.
114910         * modules/uptime: New module.
114911         * modules/winsz-ioctl: New module.
114912         * modules/winsz-termios: New module.
114913         * modules/xnanosleep (Depends-on): Add nanosleep.
114914         * modules/ullong_max: Remove.
114915         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
114916         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
114917         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
114918         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
114919         (Depends-on): Add inttypes.
114920         (lib_SOURCES): Add xstrtol.h.
114921         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
114922         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
114923         * MODULES.html.sh: Move 'assert' into the assert section.
114924         Move 'dummy' into the linking section.
114925         Remove ullong_max.
114926         Add section for compatibility checks for POSIX:2001 functions,
114927         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
114928         winsz-ioctl, and winsz-termios into it.
114929         Add lchmod.
114930         Add top-level Misc section and put host-os, perl, and uptime
114931         into it.
114933 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114935         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
114936         now assume the stdint module.  Do not include inttypes.h.
114937         * lib/fsusage.h: Likewise.
114938         * lib/getndelim2.c: Likewise.
114939         * lib/human.h: Likewise.
114940         * lib/inttostr.h: Likewise.
114941         * lib/obstack.c: Likewise.
114942         * lib/regex_internal.h: Likewise.
114943         * lib/tempname.c: Likewise.
114944         * lib/utimecmp.c: Likewise.
114945         * lib/xstrtol.h: Likewise.
114947         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
114949         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
114950         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
114951         * lib/xtime.h: Likewise.
114953 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114955         * modules/openat (Files): Add lib/fchmodat.c.
114956         Fixes problem reported by Jay Youngman.
114958 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114960         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
114961         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
114963 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
114964             Bruno Haible  <bruno@clisp.org>
114966         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
114967         and is a script that invokes bison. Tighten the code. Add comments.
114969 2006-08-18  Jim Meyering  <jim@meyering.net>
114971         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
114972         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
114973         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
114974         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
114976 2006-08-18  Bruno Haible  <bruno@clisp.org>
114978         * modules/bison-i18n: New file.
114979         * MODULES.html.sh (Internationalization functions): Add it.
114981 2006-08-18  Bruno Haible  <bruno@clisp.org>
114983         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
114984         sys/statvfs.h. When getmntinfo was found, check its declaration and
114985         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
114987 2006-08-18  Bruno Haible  <bruno@clisp.org>
114989         * m4/bison-i18n.m4: New file, from bison.
114991 2006-08-18  Bruno Haible  <bruno@clisp.org>
114993         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
114994         (ME_DUMMY): Treat "kernfs" as a dummy.
114995         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
114997 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114999         Update from coreutils.
115001         2006-08-15  Jim Meyering  <jim@meyering.net>
115003         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
115005         2006-01-17  Jim Meyering  <jim@meyering.net>
115007         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
115009         2006-01-11  Jim Meyering  <jim@meyering.net>
115011         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
115012         Check for the lchmod function.
115014 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
115016         Update from coreutils.
115018         * lib/__fpending.h: Add copyright notice.
115019         * lib/fprintftime.h: Likewise.
115020         * lib/savedir.c: Use (C) in copyright notice.
115021         * lib/savedir.h: Likewise.
115023         2006-08-15  Jim Meyering  <jim@meyering.net>
115025         * lib/at-func.c: New file, with the logic of all emulated at-functions.
115026         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
115027         in support of the EXPECTED_ERRNO macro.
115028         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
115029         definitions.  Instead, define the appropriate symbols and include
115030         "at-func.c".
115031         * lib/mkdirat.c (mkdirat): Likewise.
115032         * lib/fchmodat.c (fchmodat): Likewise.
115033         (ENOSYS): Remove definition.
115034         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
115035         it.  Don't include "unistd--.h" -- it wasn't ever used.
115037         2006-01-17  Jim Meyering  <jim@meyering.net>
115039         Rewrite fts.c not to change the current working directory,
115040         by using openat, fstatat, fdopendir, etc..
115042         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
115043         (HAVE_OPENAT_SUPPORT): Define.
115044         [_LIBC] (fchdir): Don't undef or define; no longer used.
115045         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
115046         Now, this `function' always succeeds, and consumes its file descriptor
115047         parameter -- so callers must not close such FDs.  Update callers.
115048         (diropen_fd, opendirat, cwd_advance_fd): New functions.
115049         (diropen): Add parameter, SP.  Adjust all callers.
115050         Implement using diropen_fd, rather than open.
115051         (fts_open): Initialize new member, fts_cwd_fd.
115052         Remove fts_rft-setting code.
115053         (fts_close): Close fts_cwd_fd, if necessary.
115054         (__opendir2): Define in terms of opendir or opendirat,
115055         depending on whether the FST_NOCHDIR flag is set.
115056         (fts_build): Since fts_safe_changedir consumes its FD, and since
115057         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
115058         and close the dup'd file descriptor upon failure.
115059         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
115060         (fts_safe_changedir): Tweak semantics to reflect that this function
115061         now calls cwd_advance_fd and hence consumes its FD argument.
115062         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
115063         [struct FTS] (fts_rft): Remove now-unused member.
115064         [struct FTS] (fts_cycle.state): Improve comment.
115066         * lib/openat.c (openat_needs_fchdir): New function.
115067         * lib/openat.h (openat_needs_fchdir): Declare it.
115069 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
115071         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
115072         Problem and fix reported by Pádraig Brady in
115073         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
115075 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115077         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
115079 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115081         * lib/memcoll.c (memcoll): Optimize for the common case where the
115082         arguments are bytewise equal.
115084 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
115086         * doc/regexprops-generic.texi: Add a copyright notice.
115088 2006-08-15  Bruno Haible  <bruno@clisp.org>
115090         * modules/tmpdir (License): Change to LGPL.
115092 2006-08-15  Bruno Haible  <bruno@clisp.org>
115094         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
115095         module.
115097 2006-08-14  Simon Josefsson  <jas@extundo.com>
115099         * config/srclist.txt: Add gnupload.
115101 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115103         Change copyright notice from LGPL 2 to GPL 2, since that's the
115104         standard form used in the gnulib repository.
115105         * tests/test-lock.c: Likewise.
115106         * tests/test-stdint.c: Likewise.
115107         * tests/test-tls.c: Likewise.
115109         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
115110         prelude-manager.  User shorter URLs for GNU projects, without '?'.
115111         Add copyright notice.
115113         * check-module: Add copyright notice.  Output a copyright
115114         notice if "--version" is specified.
115115         * modules/COPYING: New file.
115116         * tests/test-getaddrinfo.c: Add copyright notice.
115117         * tests/test-verify.c: Likewise.
115119 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115121         Change copyright notice from LGPL 2 to GPL 2, since that's the
115122         standard form used in the gnulib repository.
115123         * lib/lock.c: LGPL -> GPL.
115124         * lib/lock.h: Likewise.
115125         * lib/strnlen1.c: Likewise.
115126         * lib/strnlen1.h: Likewise.
115127         * lib/tls.c: Likewise.
115128         * lib/tls.h: Likewise.
115129         * lib/tmpdir.c: Likewise.
115131         * lib/TODO: Remove; this belongs only in coreutils.
115133 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115135         Add copyright notices to long-enough files that lack them, since
115136         otherwise the files aren't clearly free.  Use the same notice that
115137         getdate.texi already uses.
115138         * doc/alloca-opt.texi: Add copyright notice.
115139         * doc/alloca.texi: Likewise.
115140         * doc/ctime.texi: Likewise.
115141         * doc/functions.texi: Likewise.
115142         * doc/gcd.texi: Likewise.
115143         * doc/gnulib-tool.texi: Likewise.
115144         * doc/inet_ntoa.texi: Likewise.
115145         * doc/visibility.texi: Likewise.
115147         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
115148         * doc/quote.texi: Add copyright notice.
115150         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
115151         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
115152         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
115153         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
115154         is now obsolete, and give a pointer to the Sun list.
115155         Add copyright notice.
115157 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115159         * config/srclistvars.sh: Add copyright notice.
115161 2006-08-14  Eric Blake  <ebb9@byu.net>
115163         Import the following change from libc:
115165         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
115167         Upstream bug 2997.
115168         * lib/misc/error.c: Add space between program name and message if file
115169         name is missing.
115171 2006-08-12  Karl Berry  <karl@gnu.org>
115173         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
115174         remove, these originate in gnulib now.
115176 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115178         * doc/Makefile (standards.info standards.html standards.dvi):
115179         Also depend on make-stds.texi.
115181 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115183         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
115184         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
115186         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
115187         in wchar_t.  Problem reported by Eric Blake.
115189         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
115190         LEN is smaller than SIZE.  Suggested by Bruno Haible.
115191         Also, help the compiler to keep LEN in a register.
115193 2006-08-11  Eric Blake  <ebb9@byu.net>
115195         * users.txt: Sort.  Add tar.
115197 2006-08-11  Bruno Haible  <bruno@clisp.org>
115199         * users.txt: New file.
115201 2006-08-11  Bruno Haible  <bruno@clisp.org>
115203         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
115204         before <wchar.h>. Needed for OSF/1 and BSD/OS.
115206 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115208         * modules/snprintf (Depends-on): Remove minmax.
115209         (Maintainer): Add self and Bruno.
115211 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115213         * lib/.cppi-disable: Add snprintf.h, socket_.h.
115214         * lib/snprintf.c: Include <errno.h> and <limits.h>.
115215         (EOVERFLOW): Define if the system does not.
115216         Do not include "minmax.h"; it wasn't used.
115217         (snprintf): Don't assume size_t promotes to an unsigned type.
115218         Fix bug when generated string was too long for the buffer: the
115219         buffer's contents are supposed to be the initial prefix of the
115220         output.  Don't assume vasnprintf returns EOVERFLOW if the size
115221         exceeds INT_MAX; do the check ourselves.
115223         Import the following changes from libc:
115225         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
115227         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
115228         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
115229         set wc to the byte which couldn't be converted.
115230         (re_string_reconstruct): Don't clear valid_raw_len before calling
115231         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
115232         tip_context using re_string_context_at.
115234         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
115236         * lib/posix/regex.h: g++ still cannot handled [restrict].
115238         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
115240         * lib/posix/regex.h: Remove special handling for VMS.
115242 2006-08-10  Jim Meyering  <jim@meyering.net>
115244         * modules/same-inode: New module.
115245         * modules/dev-ino: New module.
115246         * modules/cycle-check: Depend on these modules, rather than simply
115247         including their .h files.
115248         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
115249         required via m4/cycle-check.m4.
115250         * modules/same: Depend on new same-inode module, rather than
115251         including same-inode.h.
115252         * modules/chdir-safer: New file.
115254         * modules/chown (Depends-on): Add stat-macros.
115256 2006-08-10  Jim Meyering  <jim@meyering.net>
115258         * m4/cycle-check.m4: New file.
115259         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
115260         * m4/dev-ino.m4, m4/same-inode.m4: New files.
115262 2006-08-10  Eric Blake  <ebb9@byu.net>
115264         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
115265         in from original proposal.
115267 2006-08-10  Eric Blake  <ebb9@byu.net>
115268         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
115270         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
115271         namespace.
115273 2006-08-10  Bruno Haible  <bruno@clisp.org>
115275         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
115276         as well.
115278 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115280         Sync from coreutils.
115282         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
115284         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
115285         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
115287 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115289         * modules/restrict: Remove; no longer needed now that we assume
115290         Autoconf 2.59 or later.
115291         * MODULES.html.sh: Remove 'restrict'.
115292         * modules/argp (Depends-on): Remove 'restrict'.
115293         * modules/base64 (Depends-on): Likewise.
115294         * modules/gc (Depends-on): Likewise.
115295         * modules/getaddrinfo (Depends-on): Likewise.
115296         * modules/glob (Depends-on): Likewise.
115297         * modules/inet_ntop (Depends-on): Likewise.
115298         * modules/inet_pton (Depends-on): Likewise.
115299         * modules/memxor (Depends-on): Likewise.
115300         * modules/regex (Depends-on): Likewise.
115301         * modules/strtok_r (Depends-on): Likewise.
115302         * modules/time_r (Depends-on): Likewise.
115304 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115306         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
115307         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
115308         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115309         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
115310         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
115311         * m4/memxor.m4 (gl_MEMXOR): Likewise.
115312         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
115313         gl_C_RESTRICT replaced by AC_C_RESTRICT.
115315         Merge from coreutils.
115316         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
115317         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
115318         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
115319         * m4/time_r.m4 (gl_TIME_R): Likewise.
115321 2006-08-09  Karl Berry  <karl@gnu.org>
115323         * config/srclist.txt: no more gettext-tools, per Bruno.
115325 2006-08-08  Eric Blake  <ebb9@byu.net>
115327         * modules/verror: New module.
115328         * MODULES.html.sh: Document it.
115330 2006-08-08  Eric Blake  <ebb9@byu.net>
115332         * lib/verror.h, lib/verror.c: New files.
115334 2006-08-08  Eric Blake  <ebb9@byu.net>
115336         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
115337         verror_at_line output complies with GNU Coding Standards even when
115338         file is NULL.
115340 2006-08-07  Bruno Haible  <bruno@clisp.org>
115342         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
115343         versions of AIX.
115344         Reported by Ralf Wildenhues.
115346 2006-08-07  Bruno Haible  <bruno@clisp.org>
115348         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
115349         in an AC_DEFUN. Needed so that the autoconf snippets can use
115350         AC_REQUIRE.
115352 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115354         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115355         Initialize pkgdata_DATA.
115356         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
115357         overriding it.
115359 2006-08-06  Eric Blake  <ebb9@byu.net>
115361         * lib/error.h: Fold in some upstream changes from glibc.
115362         * lib/error.c: Likewise.
115364 2006-08-04  Bruno Haible  <bruno@clisp.org>
115366         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115367         Make the mostlyclean-local rule depend on mostlyclean-generic.
115368         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
115370 2006-07-31  Bruno Haible  <bruno@clisp.org>
115372         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
115373         <stdlib.h>, <string.h>.
115375 2006-07-30  Bruno Haible  <bruno@clisp.org>
115377         * modules/readlink (License): Change to LGPL.
115379 2006-07-30  Bruno Haible  <bruno@clisp.org>
115381         * modules/javaversion (Makefile.am): Distribute javaversion.java and
115382         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
115383         set PKGDATADIR to point to it.
115385 2006-07-30  Bruno Haible  <bruno@clisp.org>
115387         * modules/csharpexec (configure.ac): Comment out macro invocation.
115388         * modules/javaexec (configure.ac): Likewise.
115389         * modules/javacomp-script (configure.ac): Likewise.
115391         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
115393 2006-07-30  Bruno Haible  <bruno@clisp.org>
115395         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
115396         linked-list.
115398 2006-07-30  Bruno Haible  <bruno@clisp.org>
115400         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
115402 2006-07-30  Bruno Haible  <bruno@clisp.org>
115404         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115405         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
115406         get removed.
115408 2006-07-29  Bruno Haible  <bruno@clisp.org>
115410         Make it possible for gnulib-tool to work with locally modified or
115411         augmented gnulib repositories.
115412         * gnulib-tool (func_usage): Document --local-dir option.
115413         (local_gnulib_dir): New variable.
115414         Handle --local-dir option.
115415         (func_lookup_file): New function.
115416         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
115417         (func_get_description, func_get_filelist, func_get_description,
115418         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
115419         func_get_automake_snippet, func_get_include_directive,
115420         func_get_license, func_get_maintainer): Use func_lookup_file.
115421         (func_import, func_create_testdir): Use func_lookup_file.
115423 2006-07-29  Bruno Haible  <bruno@clisp.org>
115425         * modules/setenv (Depends-on): Add unistd.
115427 2006-07-29  Bruno Haible  <bruno@clisp.org>
115429         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
115431 2006-07-29  Bruno Haible  <bruno@clisp.org>
115433         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
115435 2006-07-29  Bruno Haible  <bruno@clisp.org>
115437         * gnulib-tool (import, update): If there is no Makefile.am, look at
115438         aclocal.m4, instead of bailing out.
115440 2006-07-29  Bruno Haible  <bruno@clisp.org>
115442         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
115443         Categorize the options by when they are useful.
115445 2006-07-29  Bruno Haible  <bruno@clisp.org>
115447         * gnulib-tool (func_usage): Document option --no-libtool.
115448         Handle option --no-libtool.
115449         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
115450         for changed semantics of $libtool variable.
115451         (func_import): Likewise. If libtool is not used, show this through
115452         an option --no-libtool.
115453         (func_create_testdir): Update.
115455 2006-07-29  Bruno Haible  <bruno@clisp.org>
115457         * gnulib-tool (func_import): Extend error message about missing
115458         --doc-base.
115460 2006-07-29  Bruno Haible  <bruno@clisp.org>
115462         * gnulib-tool (func_import): Don't create the $docbase directory if
115463         there is no file to store there.
115465 2006-07-29  Bruno Haible  <bruno@clisp.org>
115467         * gnulib-tool (autoconf_minversion): If a --dir option is given and
115468         relevant, look for configure.ac there, not in the current directory.
115469         Also use a simple search for AC_PREREQ, not "autoconf --trace".
115471 2006-07-29  Bruno Haible  <bruno@clisp.org>
115473         * gnulib-tool (SORT): New variable.
115474         (func_usage): Undocument --assume-autoconf option.
115475         Remove --assume-autoconf option handling.
115476         (autoconf_minversion): Determine from the contents of configure.ac.
115477         (func_import): Remove autoconf_minversion handling.
115478         Suggested by Eric Blake.
115480 2006-07-29  Bruno Haible  <bruno@clisp.org>
115482         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
115484 2006-07-29  Bruno Haible  <bruno@clisp.org>
115486         * config/srclist.txt (*setenv.[ch]): Remove rules.
115488 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115490         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
115492 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115494         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
115495         arpa/inet.h.
115497 2006-07-28  Simon Josefsson  <jas@extundo.com>
115499         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
115500         * modules/inet_pton (Depends-on): Likewise.
115502 2006-07-28  Simon Josefsson  <jas@extundo.com>
115504         * m4/netinet_in_h.m4: New file.
115506 2006-07-28  Simon Josefsson  <jas@extundo.com>
115508         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
115509         #include's.
115511 2006-07-28  Simon Josefsson  <jas@extundo.com>
115513         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
115514         #include's.
115516 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
115518         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
115519         setgid on directories only if they set these bits.
115520         * lib/modechange.h: Remove obsolete comment about masks.
115522 2006-07-28  Eric Blake  <ebb9@byu.net>
115524         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
115525         macro expansion.
115527 2006-07-28  Bruno Haible  <bruno@clisp.org>
115529         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
115531 2006-07-28  Bruno Haible  <bruno@clisp.org>
115533         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
115535 2006-07-28  Bruno Haible  <bruno@clisp.org>
115537         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
115538         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
115539         Define fallbacks.
115540         Avoids link error on FreeBSD 4.x.
115541         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
115543         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
115544         encoding.
115545         * lib/mbswidth.c (iswcntrl): Likewise.
115547 2006-07-27  Bruno Haible  <bruno@clisp.org>
115549         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
115550         test.
115552 2006-07-27  Bruno Haible  <bruno@clisp.org>
115554         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
115555         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
115556         defined.
115558 2006-07-26  Eric Blake  <ebb9@byu.net>
115560         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
115562 2006-07-26  Eric Blake  <ebb9@byu.net>
115564         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
115565         like mingw that lack mkstemp.
115566         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
115567         avoid compilation warning on mingw.
115569 2006-07-26  Bruno Haible  <bruno@clisp.org>
115571         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
115572         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
115573         INT_FAST*_MIN, INTPTR_MIN.
115575 2006-07-25  Bruno Haible  <bruno@clisp.org>
115577         * modules/version-etc (Depends-on): Add stdarg.
115579 2006-07-25  Bruno Haible  <bruno@clisp.org>
115581         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
115582         complex commands.
115584 2006-07-25  Bruno Haible  <bruno@clisp.org>
115586         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
115587         defined in <stdarg.h> or config.h.
115589 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115591         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
115592         (gl_STDIO_SAFER): Remove.
115594 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115596         * MODULES.html.sh (File stream based Input/Output):
115597         Add fopen-safer, tmpfile-safer; remove stdio-safer.
115598         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
115599         * modules/fopen-safer, modules/tmpfile-safer: New files.
115600         * modules/stdio-safer: Remove.
115602 2006-07-24  Bruno Haible  <bruno@clisp.org>
115604         * modules/tmpdir: New file.
115605         * MODULES.html.sh (File system functions): Add it.
115607 2006-07-24  Bruno Haible  <bruno@clisp.org>
115609         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
115610         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
115612 2006-07-24  Bruno Haible  <bruno@clisp.org>
115614         * modules/clean-temp: New file.
115616 2006-07-24  Bruno Haible  <bruno@clisp.org>
115618         * m4/tmpdir.m4: New file, from GNU gettext.
115620 2006-07-24  Bruno Haible  <bruno@clisp.org>
115622         * lib/tmpdir.h: New file, from GNU gettext.
115623         * lib/tmpdir.c: New file, from GNU gettext.
115625 2006-07-24  Bruno Haible  <bruno@clisp.org>
115627         * lib/clean-temp.h: New file, from GNU gettext.
115628         * lib/clean-temp.c: New file, from GNU gettext.
115630 2006-07-23  Eric Blake  <ebb9@byu.net>
115632         * modules/stdio-safer (Files): Add tmpfile-safer.c.
115633         (Depends-on): Add binary-io.
115635 2006-07-23  Eric Blake  <ebb9@byu.net>
115637         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
115639 2006-07-23  Eric Blake  <ebb9@byu.net>
115641         * lib/tmpfile-safer.c: New file.
115642         * lib/stdio-safer.h (fopen_safer): Add prototype.
115643         * lib/stdio--.h (tmpfile): Make safer.
115645 2006-07-23  Bruno Haible  <bruno@clisp.org>
115647         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
115648         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
115649         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
115650         gl_linked_remove_at): Use it.
115652 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115653         and Simon Josefsson <jas@extundo.com>
115655         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
115657         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
115659 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115661         * modules/close-stream: New file.
115662         * modules/closeout (Description): Make it clear that it exits
115663         with a diagnostic on error.
115664         (Depends-on): Add close-stream.  Remove fpending, stdbool.
115665         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
115667 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115669         * m4/close-stream.m4: New file.
115671 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115673         * lib/close-stream.c, lib/close-stream.h: New files.
115675 2006-07-22  Bruno Haible  <bruno@clisp.org>
115677         Merge from GNU gettext 0.15.
115679         2006-05-01  Bruno Haible  <bruno@clisp.org>
115681                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
115683         2006-07-22  Bruno Haible  <bruno@clisp.org>
115685                 * modules/javaversion: New file.
115686                 * MODULES.html.sh (Java): Add javaversion.
115688         2006-03-12  Bruno Haible  <bruno@clisp.org>
115690                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
115692         2005-12-04  Bruno Haible  <bruno@clisp.org>
115694                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
115695                 (untested).
115697         2006-06-21  Bruno Haible  <bruno@clisp.org>
115699                 Avoid warnings from recent versions of mcs.
115700                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
115701                 -o, -L, -r any more. Use options documented since mcs-1.0
115702                 instead. Similarly for -g.
115704         2005-12-04  Bruno Haible  <bruno@clisp.org>
115706                 * build-aux/csharpcomp.sh.in: Suffix for resources is
115707                 .resources, not .resource.
115709         2005-07-09  Bruno Haible  <bruno@clisp.org>
115711                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
115712                 add a .dll suffix.
115713                 Reported by Mark Junker <mjscod@gmx.de>.
115715         2006-07-22  Bruno Haible  <bruno@clisp.org>
115717                 * modules/gettext: Upgrade to gettext-0.15.
115718                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
115719                 m4/visibility.m4.
115720                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
115722 2006-07-22  Bruno Haible  <bruno@clisp.org>
115724         Merge from GNU gettext 0.15.
115726         2006-03-25  Bruno Haible  <bruno@clisp.org>
115728                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
115730         2006-07-21  Bruno Haible  <bruno@clisp.org>
115732                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
115733                 "1.1".
115735         2006-05-09  Bruno Haible  <bruno@clisp.org>
115737                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
115738                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
115739                 for the conftestver execution.
115741         2006-05-01  Bruno Haible  <bruno@clisp.org>
115743                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
115744                 optional target-version argument. Verify that the compiler
115745                 groks source of the specified source-version, or add -source
115746                 option as necessary. Verify that the compiler produces
115747                 bytecode in the specified target-version, or add -target and
115748                 -source options as necessary. Make the result of the test
115749                 available as variable CONF_JAVAC. Also log error output in
115750                 config.log.
115752         2006-03-11  Bruno Haible  <bruno@clisp.org>
115754                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
115756         2006-05-09  Bruno Haible  <bruno@clisp.org>
115758                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
115759                 CLASSPATH_SEPARATOR to a semicolon.
115761         2006-03-12  Bruno Haible  <bruno@clisp.org>
115763                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
115764                 available as variable CONF_JAVA, for subsequent autoconf
115765                 tests. Also log error output in config.log.
115767         2006-07-19  Bruno Haible  <bruno@clisp.org>
115769                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
115770                 that getline works on glibc2 systems. Needed to avoid trouble
115771                 in relocatable.c.
115772                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
115774         2005-12-04  Bruno Haible  <bruno@clisp.org>
115776                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
115777                 launcher (untested).
115779         2005-12-04  Bruno Haible  <bruno@clisp.org>
115781                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
115783         2006-07-22  Bruno Haible  <bruno@clisp.org>
115785                 * gettext.m4: Update from GNU gettext-0.15.
115786                 * nls.m4: Likewise.
115787                 * po.m4: Likewise.
115788                 * inttypes-pri.m4: Likewise.
115789                 * inttypes-h.m4: Renamed from inttypes.m4.
115790                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
115792 2006-07-22  Bruno Haible  <bruno@clisp.org>
115794         Merge from GNU gettext 0.15.
115796         2005-07-05  Bruno Haible  <bruno@clisp.org>
115798                 * printf-args.c (printf_fetchargs): Work around broken
115799                 definition of wint_t on mingw.
115801         2005-02-12  Bruno Haible  <bruno@clisp.org>
115803                 * xallocsa.h: Add extern "C" for C++.
115805         2006-05-17  Bruno Haible  <bruno@clisp.org>
115807                 Cygwin portability.
115808                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
115810         2006-04-30  Bruno Haible  <bruno@clisp.org>
115812                 * progreloc.c: Include <mach-o/dyld.h> if available.
115813                 (find_executable): Use _NSGetExecutablePath when possible.
115815         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
115817                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
115818                 function.
115820         2005-12-29  Bruno Haible  <bruno@clisp.org>
115822                 * progreloc.c (set_program_name_and_installdir): Fix
115823                 compilation error.
115825         2005-12-04  Bruno Haible  <bruno@clisp.org>
115827                 Cygwin portability.
115828                 * progreloc.c: Include <windows.h> also on Cygwin.
115829                 (find_executable): Add support for Cygwin.
115830                 (set_program_name_and_installdir): Handle also platforms with
115831                 nonempty EXEEXT.
115833         2006-07-11  Bruno Haible  <bruno@clisp.org>
115835                 * javacomp.c: Fix a comment.
115836                 Reported by Jim Meyering.
115838         2006-04-30  Bruno Haible  <bruno@clisp.org>
115840                 * javacomp.h (compile_java_class): Add source_version,
115841                 target_version arguments.
115842                 * javacomp.c: Rewritten to choose only a compiler that
115843                 respects the specified source_version and target_version.
115845         2006-06-27  Bruno Haible  <bruno@clisp.org>
115847                 Assume correct S_ISDIR macro.
115848                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
115850         2006-07-22  Bruno Haible  <bruno@clisp.org>
115852                 * javaversion.h: New file, from GNU gettext.
115853                 * javaversion.c: New file, from GNU gettext.
115854                 * javaversion.java: New file, from GNU gettext.
115855                 * javaversion.class: New file, from GNU gettext.
115857         2006-05-17  Bruno Haible  <bruno@clisp.org>
115859                 Cygwin portability.
115860                 * javaexec.c (execute_java_class): Test for jview program
115861                 also on Cygwin.
115863         2006-04-09  Bruno Haible  <bruno@clisp.org>
115865                 * fatal-signal.c: Don't include string.h.
115866                 (at_fatal_signal): Use a copying loop instead of memcpy.
115868         2005-12-04  Bruno Haible  <bruno@clisp.org>
115870                 * csharpexec.c: Add support for 'clix' launcher (untested).
115871                 (execute_csharp_using_sscli): New function.
115872                 (execute_csharp_program): Call it.
115874         2006-06-21  Bruno Haible  <bruno@clisp.org>
115876                 Avoid warnings from recent versions of mcs.
115877                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
115878                 -o, -L, -r any more. Use options documented since mcs-1.0
115879                 instead. Similarly for -g.
115881         2005-07-09  Bruno Haible  <bruno@clisp.org>
115883                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
115884                 add a .dll suffix.
115885                 Reported by Mark Junker <mjscod@gmx.de>.
115887         2006-06-17  Bruno Haible  <bruno@clisp.org>
115889                 * config.charset: Update for NetBSD 3.0.
115891         2006-05-17  Bruno Haible  <bruno@clisp.org>
115893                 Cygwin portability.
115894                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
115896         2006-05-16  Bruno Haible  <bruno@clisp.org>
115898                 * localcharset.c [CYGWIN]: Include <windows.h>.
115899                 (get_charset_aliases): For Cygwin, return the same CPxxx
115900                 aliases list as under WIN32.
115901                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
115902                 the environment variables. Fall back to GetACP().
115904         2006-04-05  Bruno Haible  <bruno@clisp.org>
115906                 * config.charset: Update Juan Manuel Guerrero's address.
115908         2005-02-12  Bruno Haible  <bruno@clisp.org>
115910                 * allocsa.h: Add extern "C" for C++.
115912         2005-02-10  Bruno Haible  <bruno@clisp.org>
115914                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
115915                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
115917         2006-07-22  Bruno Haible  <bruno@clisp.org>
115919                 * gettext.h: Update to GNU gettext-0.15.
115921 2006-07-22  Bruno Haible  <bruno@clisp.org>
115923         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
115924         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
115925         lib-prefix.m4, longdouble.m4, ssize_t.m4.
115927 2006-07-21  Eric Blake  <ebb9@byu.net>
115929         * modules/stdlib-safer: New file.
115930         * MODULES.html.sh (File stream based Input/Output): Add
115931         stdlib-safer.
115933 2006-07-21  Eric Blake  <ebb9@byu.net>
115935         * lib/stdlib-safer.h: New file from coreutils, required by
115936         stdlib--.h.
115938 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
115940         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
115942 2006-07-20  Bruno Haible  <bruno@clisp.org>
115944         * gnulib-tool: Recognize new option --assume-autoconf.
115945         (autoconf_minversion): New variable.
115946         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
115948 2006-07-20  Bruno Haible  <bruno@clisp.org>
115950         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
115952 2006-07-19  Derek R. Price  <derek@ximbiot.com>
115954         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
115955         Reindent and repaginate.
115957 2006-07-19  Derek Price  <derek@ximbiot.com>
115959         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
115960         Correct grammar.
115962 2006-07-17  Bruno Haible  <bruno@clisp.org>
115964         * modules/list: New file.
115965         * modules/array-list: New file.
115966         * modules/carray-list, modules/carray-list-tests: New files.
115967         * modules/linked-list, modules/linked-list-tests: New files.
115968         * modules/avltree-list, modules/avltree-list-tests: New files.
115969         * modules/rbtree-list, modules/rbtree-list-tests: New files.
115970         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
115971         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
115972         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
115973         * modules/oset: New file.
115974         * modules/array-oset: New file.
115975         * modules/avltree-oset, modules/avltree-oset-tests: New files.
115976         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
115977         * tests/test-carray_list.c: New file.
115978         * tests/test-linked_list.c: New file.
115979         * tests/test-avltree_list.c: New file.
115980         * tests/test-rbtree_list.c: New file.
115981         * tests/test-linkedhash_list.c: New file.
115982         * tests/test-avltreehash_list.c: New file.
115983         * tests/test-rbtreehash_list.c: New file.
115984         * tests/test-avltree_oset.c: New file.
115985         * tests/test-rbtree_oset.c: New file.
115986         * MODULES.html.sh (Container data structures): New section.
115988 2006-07-17  Bruno Haible  <bruno@clisp.org>
115990         * m4/gl_list.m4: New file.
115992 2006-07-17  Bruno Haible  <bruno@clisp.org>
115994         * lib/gl_list.h: New file.
115995         * lib/gl_list.c: New file.
115996         * lib/gl_array_list.h: New file.
115997         * lib/gl_array_list.c: New file.
115998         * lib/gl_carray_list.h: New file.
115999         * lib/gl_carray_list.c: New file.
116000         * lib/gl_linked_list.h: New file.
116001         * lib/gl_linked_list.c: New file.
116002         * lib/gl_anylinked_list1.h: New file.
116003         * lib/gl_anylinked_list2.h: New file.
116004         * lib/gl_avltree_list.h: New file.
116005         * lib/gl_avltree_list.c: New file.
116006         * lib/gl_anyavltree_list1.h: New file.
116007         * lib/gl_anyavltree_list2.h: New file.
116008         * lib/gl_rbtree_list.h: New file.
116009         * lib/gl_rbtree_list.c: New file.
116010         * lib/gl_anyrbtree_list1.h: New file.
116011         * lib/gl_anyrbtree_list2.h: New file.
116012         * lib/gl_anytree_list1.h: New file.
116013         * lib/gl_anytree_list2.h: New file.
116014         * lib/gl_linkedhash_list.h: New file.
116015         * lib/gl_linkedhash_list.c: New file.
116016         * lib/gl_anyhash_list1.h: New file.
116017         * lib/gl_anyhash_list2.h: New file.
116018         * lib/gl_avltreehash_list.h: New file.
116019         * lib/gl_avltreehash_list.c: New file.
116020         * lib/gl_rbtreehash_list.h: New file.
116021         * lib/gl_rbtreehash_list.c: New file.
116022         * lib/gl_anytreehash_list1.h: New file.
116023         * lib/gl_anytreehash_list2.h: New file.
116025         * lib/gl_oset.h: New file.
116026         * lib/gl_oset.c: New file.
116027         * lib/gl_array_oset.h: New file.
116028         * lib/gl_array_oset.c: New file.
116029         * lib/gl_avltree_oset.h: New file.
116030         * lib/gl_avltree_oset.c: New file.
116031         * lib/gl_rbtree_oset.h: New file.
116032         * lib/gl_rbtree_oset.c: New file.
116033         * lib/gl_anytree_oset.h: New file.
116035 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116037         * m4/mkancesdirs.m4: New file.
116038         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
116039         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
116040         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
116041         it.
116043 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116045         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
116046         * lib/mkancesdirs.h: New files.
116047         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
116048         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
116049         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
116050         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
116051         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
116052         callers changed.  Revamp internals significantly, by not
116053         attempting to create directories that are temporarily more
116054         permissive than the final results.  Do not attempt to use
116055         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
116056         This removes some race conditions, fixes some bugs, and simplifies
116057         things.  Use new dirchownmod function to do owner and mode changes.
116058         * lib/mkdir-p.h: Likewise.
116059         * lib/modechange.c (octal_to_mode): New function.
116060         (struct mode_change): New member mentioned.
116061         (make_node_op_equals): New arg mentioned.  All callers changed.
116062         (mode_compile): Keep track of which mode bits the user has explicitly
116063         mentioned.
116064         (mode_adjust): New arg DIR, so that we implement the X op correctly.
116065         New arg PMODE_BITS, to keep track of which mode bits the user
116066         mentioned; it treats S_ISUID and S_ISGID speciall.
116067         All callers changed.
116068         * lib/modechange.h: Likewise.
116070 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
116072         * MODULES.html.sh: Add mkancestors.
116073         * modules/mkancesdirs: New module.
116074         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
116075         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
116076         The chdir-safer and afs files are now orphans; I'll remove them
116077         unless someone speaks up.
116078         Add lib/dirchownmod.c, lib/dirchownmod.h.
116079         (Depends-on): Remove alloca, chown, save-cwd, dirname.
116080         Add lchown, mkancesdirs.
116081         (Maintainer): Add self.
116083 2006-07-15  Karl Berry  <karl@gnu.org>
116085         * gnulib-tool: help message wording/arrangement.
116087 2006-07-14  Simon Josefsson  <jas@extundo.com>
116089         * doc/gnulib.texi (Libtool and Windows): New section.
116091 2006-07-12  Simon Josefsson  <jas@extundo.com>
116093         * modules/gendocs (License): Fix license, approved by Karl.
116095 2006-07-12  Eric Blake  <ebb9@byu.net>
116097         * MODULES.html.sh: Add gendocs.
116099 2006-07-11  Eric Blake  <ebb9@byu.net>
116101         * modules/fdl: New module, to install doc/fdl.texi.
116102         * MODULES.html.sh: Add new section for documentation modules.
116103         * gnulib-tool: Avoid space-tab.
116104         (--doc-base): New option, to manage files from doc.
116106 2006-07-11  Eric Blake  <ebb9@byu.net>
116108         * m4/absolute-header.m4: Fix comments to match recent change.
116110 2006-07-11  Eric Blake  <ebb9@byu.net>
116112         * gnulib-tool: List --doc-base before --tests-base.
116114 2006-07-11  Derek R. Price  <derek@ximbiot.com>
116116         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
116118 2006-07-11  Bruno Haible  <bruno@clisp.org>
116120         * README: Mention where to put documentation.
116122 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116124         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
116126 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116128         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
116129         to stdint.m4.
116131 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
116133         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
116134         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
116135         "no/such/file/stdint.h" when there is no such file, so that
116136         the resulting C code can be parsed by dodgy compilers.
116137         Problems reported by Bob Proulx.
116139 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116141         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
116142         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116143         macros into the GNU _D_EXACT_NAMLEN.
116144         * lib/savedir.c:  Likewise.
116145         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
116147 2006-07-10  Derek R. Price  <derek@ximbiot.com>
116148         and Paul Eggert  <eggert@cs.ucla.edu>
116150         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
116151         * m4/savedir.m4:
116152         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
116153         macros into the GNU _D_EXACT_NAMLEN.
116155 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116157         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
116158         around the absolute name, to work around a problem with the HP-UX
116159         11.23 native C compiler, reported by Bob Proulx.
116161 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116163         * doc/maintain.texi, make-stds.texi: Sync from
116164         <http://savannah.gnu.org/projects/gnustandards>.
116166 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116168         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
116170 2006-07-09  Jim Meyering  <jim@meyering.net>
116172         * m4/glob.m4: Remove a doubled word in a comment.
116174 2006-07-09  Jim Meyering  <jim@meyering.net>
116176         * lib/argp-pv.c: Remove a doubled word in a comment.
116177         * lib/check-version.c (check_version): Likewise.
116178         * lib/javacomp.c (compile_java_class): Likewise.
116180 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
116182         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
116183         for the benefit of people using Autoconf 2.60.  If you want to
116184         support older Autoconf versions you can copy m4/onceonly_2_57.m4
116185         (or m4/onceonly.m4, if pre-2.57) manually.
116187 2006-07-08  Jim Meyering  <jim@meyering.net>
116189         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
116190         comment.
116191         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
116192         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
116193         comment.
116195 2006-07-08  Jim Meyering  <jim@meyering.net>
116197         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
116199 2006-07-07  Simon Josefsson  <jas@extundo.com>
116201         * tests/test-crc.c: Change expected crc value, the test vector
116202         were probably computed using the old broken crc.c?
116204 2006-07-06  Simon Josefsson  <jas@extundo.com>
116206         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
116207         now the canonical place for the M4 file).
116209         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
116210         from the sys_socket dependency now.
116212         * modules/inet_pton (Files): Ditto.
116214         * modules/inet_ntop (Files): Ditto.
116216 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
116218         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
116219         not gl_PREREQ_GETUSERSHELL.
116221 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116223         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
116224         with only one argument, for Autoconf 2.60.
116225         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
116226         expand to nothing, so add a shell command to avoid syntax error.
116227         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116229 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116231         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
116233 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116235         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
116236         no longer needed.  Check for isblank decl.
116237         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
116238         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
116239         of existence.
116241 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116243         * lib/getloadavg.c: Use __VMS, not VMS.
116244         * lib/getopt.c: Likewise.
116245         * lib/getpagesize.h: Likewise.
116246         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
116247         and probably does not work.
116249 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116251         * lib/.cppi-disable: Add wcwidth.
116252         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
116253         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
116254         (ISGRAPH): Remove.  All uses changed to isgraph.
116255         (FOLD) [!defined _LIBC]: Remove special case.
116256         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
116257         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
116258         HAVE_ISBLANK.
116259         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
116260         case.
116262 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116264         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
116265         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
116266         brackets.  Other minor changes to suppress some compiler
116267         warnings.
116269 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116270         and Paul Eggert  <eggert@cs.ucla.edu>
116272         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
116273         of invoking obsolescent AC_HEADER_DIRENT macro.
116274         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
116275         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
116276         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
116277         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
116278         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
116279         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
116280         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
116281         * m4/readdir.m4: Remove; no longer needed.
116283 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116284         and Paul Eggert  <eggert@cs.ucla.edu>
116286         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
116287         Don't worry about this obsolete case any more.
116288         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
116289         directories.
116290         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
116291         worry about this obsolete case any more.
116292         * lib/fts.c: Likewise.
116293         * lib/getcwd.c: Likewise.
116294         * lib/glob.h: Likewise.
116295         * lib/savedir.c: Likewise.
116297 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116299         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
116300         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
116301         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
116302         needed.
116303         All uses removed.
116304         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116305         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116306         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
116307         needed.
116308         * m4/getdate.m4 (gl_GETDATE): Likewise.
116309         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116310         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116311         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116312         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116313         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116314         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116315         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
116316         needed.
116318 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116320         * lib/memcasecmp.c: Include <limits.h>.
116321         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
116322         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
116323         Don't assume isdigit succeeds only on '0' through '9'.
116325 2006-07-05  Eric Blake  <ebb9@byu.net>
116327         * modules/getaddrinfo (Depends-on): Add snprintf.
116329 2006-07-05  Eric Blake  <ebb9@byu.net>
116331         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
116332         to avoid 'header present but could not be compiled' on cygwin.
116334 2006-07-05  Eric Blake  <ebb9@byu.net>
116336         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
116337         missing from netdb.h.
116338         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
116340 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116342         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
116343         no longer needed.
116344         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
116345         * m4/getdate.m4 (gl_GETDATE): Likewise.
116346         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116347         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116348         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116349         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116350         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116352 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116354         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
116355         All uses of is_space replaced by isspace.
116356         * lib/exit.h: Don't talk about STDC_HEADERS.
116357         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
116358         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
116359         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
116360         replaced by isprint etc.
116361         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
116362         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116363         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
116364         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
116365         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
116366         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116368 2006-07-05  Bruno Haible  <bruno@clisp.org>
116370         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
116371         the function exists, before testing against AIX.
116372         Reported by Martin Lambers <marlam@marlam.de>.
116374 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116376         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
116377         From Mark D. Baushke.
116379 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116381         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
116382         to the absolute name, not just one, to bypass Sun C 5.8's
116383         "warning: #include of /usr/include/... may be non-portable".
116385 2006-07-04  Eric Blake  <ebb9@byu.net>
116387         * modules/dirname-tests: New test module.
116388         * tests/test-dirname.c: New file, replacing dirname.c
116389         TEST_DIRNAME section that was recently deleted.
116391 2006-07-04  Bruno Haible  <bruno@clisp.org>
116393         Assume ANSI C header files and <ctype.h> functions.
116394         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
116395         (mbsnwidth): Use isprint, iscntrl instead.
116397 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116399         Merge from coreutils.
116400         * MODULES.html.sh: Add xstrtold.
116401         * modules/xstrtold: New file.
116402         * modules/cycle-check (Files): Add lib/same-inode.h.
116403         * modules/dirname (Files): Add m4/double-slash-root.m4.
116404         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
116405         * modules/mkdir-p (Files): Add lib/same-inode.h.
116406         * modules/same (Files): Add lib/same-inode.h.
116408 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116410         * m4/absolute-header.m4: Renamed from full-header-path.m4.
116411         This is to keep the terminology clean; POSIX talks about
116412         "absolute pathnames", not "full pathnames", but the GNU
116413         Coding Standards say to use "path" for something else;
116414         so use "absolute" to keep both sides happy.
116415         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
116416         Set gl_absolute_header, not gl_full_header_path.
116417         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
116418         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
116419         All uses changed.
116421         Merge from coreutils.
116423         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116425         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
116426         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
116427         want to require the building of c-strtod.o.
116428         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
116429         needs -lm directly.
116430         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
116432         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116434         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
116435         --as-needed option if available.  Problem reported by Albert Chin in
116436         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
116437         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
116438         cc merely issues a bunch of annoying warnings for --as-needed
116439         (this problem was reported by Bob Proulx).  Also, try linking with
116440         -lm to detect a bug in binutils 2.16 (this problem was reported
116441         by Ralf Wildenhues).
116443         2006-06-18  Jim Meyering  <jim@meyering.net>
116445         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
116446         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
116447         macro.
116448         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
116449         also check for glibc-2.4's abort-inducing bug.
116451         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
116452         Low-probability clean-up should be to use rmdir to get rid of
116453         the just-created directory, not unlink.
116455         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
116456         configure fail, and request a bug report to inform us about it.
116457         Add a comment that, barring reports to the contrary, in 2007 we'll
116458         assume ftruncate is universally available.
116460         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116462         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
116464         2006-03-12  Jim Meyering  <jim@meyering.net>
116466         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
116467         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
116468         * m4/same.m4 (gl_SAME): Likewise.
116469         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
116471         2006-03-11  Eric Blake  <ebb9@byu.net>
116473         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
116474         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
116475         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
116476         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
116478 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116480         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
116481         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
116482         reported by Mark D. Baushke, one in
116483         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
116485         Merge from coreutils.
116487         * lib/.cppi-disable: Add stdint_.h.
116488         * lib/.cvsignore: Add stdint.h.
116490         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116492         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
116493         both double and long double versions.
116494         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
116495         * lib/xstrtold.c: New file.
116496         * lib/xstrtod.h (xstrtold): New decl.
116498         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
116500         * lib/filemode.c (setst): Remove.
116501         (strmode): Rewrite to avoid setst.  This makes the code shorter,
116502         (arguably) clearer, and the generated code is a bit smaller on my
116503         Debian GNU/Linux stable x86 host.
116505         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116507         * lib/filemode.c: Include "filemode.h" first, to test the interface.
116508         Assume that filemode.h includes sys/types.h and sys/stat.h.
116509         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
116510         (ftypelet): Reorder to put common cases first, for efficiency.
116511         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
116512         to do 'M'.
116513         (strmode): Renamed from mode_string, and now stores 12 bytes instead
116514         of 10, for compatibility with FreeBSD.  All callers changed.
116515         (filemodestring): Now stores 12 bytes instead of 10, and sets file
116516         types that can't be deduced solely from st_mode.  First arg is now a
116517         const pointer.
116518         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
116519         (strmode): Renamed from mode_string.
116520         (filemodestring): New decl.
116521         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
116522         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
116523         needed.
116524         (S_ISPORT, S_ISWHT): New macros, if not already defined.
116526         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
116528         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
116529         fsusage.h now does that.  Include fsusage.h first, to test interface.
116530         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
116531         at most one method (the old code could have generated decls that
116532         didn't conform to C89, not that this was ever exercised).
116533         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
116535         2006-03-19  Jim Meyering  <jim@meyering.net>
116537         Work even in a chroot where d_ino values for entries in "/"
116538         don't match the stat.st_ino values for the same names.
116539         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
116540         number, iterate through all entries again, using lstat instead.
116541         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
116542         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
116544         * lib/getcwd.c (__getcwd): Clarify a comment.
116545         Use memcpy in place of a call to strcpy.
116547         2006-03-12  Jim Meyering  <jim@meyering.net>
116549         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
116550         matches that of the current directory (which we're about to chdir ".."
116551         out of), then save the dev-ino of the parent, instead.
116553         * lib/same-inode.h (SAME_INODE): New file/macro.
116554         * lib/chdir-safer.c (SAME_INODE): Remove definition.
116555         Include "same-inode.h", instead.
116556         * lib/same.c: Likewise.
116557         * lib/cycle-check.h: Include "same-inode.h".
116558         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
116559         * lib/cycle-check.c (SAME_INODE): Remove definition.
116560         * lib/root-dev-ino.h: Include "same-inode.h".
116562         2006-03-11  Eric Blake  <ebb9@byu.net>
116564         * lib/same.c (same_name): s/base_name/last_component/
116565         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
116566         * lib/filenamecat.c (file_name_concat): Likewise.
116568         2006-03-11  Eric Blake  <ebb9@byu.net>,
116569                     Paul Eggert  <eggert@cs.ucla.edu>
116571         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
116572         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
116573         drive prefix.
116574         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
116575         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
116576         (last_component): New method.
116577         * lib/dirname.c (dir_len): Determine when drive letters need a
116578         subsequent slash.  Preserve // when it is special.
116579         (dir_name): Don't append dot when drive letter is absolute.
116580         [TEST_DIRNAME]: Move into a full-blown gnulib test.
116581         * lib/basename.c (base_name): New semantics - malloc the result.
116582         Preserve // when it is special.  Preserve relative files that look
116583         like drive letters.
116584         (base_len): Preserve // when it is special.
116585         (last_component): New method, similar to old base_name semantics.
116586         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
116587         base_name.  Strip redundant slashes from ///.
116589 2006-07-03  Jim Meyering  <jim@meyering.net>
116591         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
116592         macro is used before the first cycle_check call.
116594 2006-07-03  Eric Blake  <ebb9@byu.net>
116596         * modules/dirname (Depends-on): Add xstrndup.
116598 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116600         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
116601         test cases, so that config.log is a bit easier to follow.
116603 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116605         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
116606         both are 64 bits, since this seems to be the tradition, and this
116607         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
116608         we ever run into a host that prefers long long to long in this
116609         case, we'll need another configure-time test.  Problem reported by
116610         Jim Meyering.
116612 2006-07-02  Eric Blake  <ebb9@byu.net>
116614         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
116616 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116618         * modules/inttypes (Depends-on): No longer depends on stdint.
116619         * modules/stdint (Description): Say more about assumptions.
116620         Say that the fast types might differ.  Say macros are used.
116621         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
116622         (Makefile.am): Revise list of substituted symbols to match
116623         new stdint.m4.
116624         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
116625         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
116626         * tests/test-stdint.c (verify_same_types)
116627         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
116628         the code conforms to C99/C89.
116629         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
116630         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
116632 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116634         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
116635         but fix a bug, by requiring at least 64 bits.
116636         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
116637         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
116638         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
116639         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
116641         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
116642         changes.  Make 2.59 a prerequisite.  Check and substitute for
116643         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
116644         inttypes.h.  Do not use special include files; just use the
116645         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
116646         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
116647         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
116648         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
116649         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
116650         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
116651         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
116652         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
116653         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
116654         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
116655         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
116656         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
116657         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
116658         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
116659         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
116660         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
116661         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
116662         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
116663         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
116664         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
116665         WINT_MAX.  Check for C99 conformance more strictly, by detecting
116666         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
116667         not check for things that C99 does not require, e.g., int8_t.  If
116668         a test isn't needed unless <stdint.h> isn't working, and is
116669         unlikely to be needed for any other reason, then don't do it
116670         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
116671         size_t, since we assume C89 freestanding at least.  Do not check
116672         for sig_atomic_t, wchar_t, or wint_t, since the code now does
116673         the right thing even if the types are not defined.  Instead use:
116674         (gl_STDINT_TYPE_PROPERTIES): New macro.
116675         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
116676         testing whether <sys/types.h> clashes, as Autoconf does this for
116677         us now.  All uses removed.
116678         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
116679         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
116680         (gl_CHECK_TYPE_SAME):
116681         Remove; no longer needed.
116682         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
116683         exists, since we'll return 0 anyway in that case.
116684         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
116686 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116688         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
116689         possible collision with system files.
116690         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
116691         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
116692         WCHAR_MIN and WCHAR_MAX in this case.
116693         (<stddef.h>): Do not include; no longer needed.
116694         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
116695         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
116696         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
116697         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
116698         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
116699         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
116700         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
116701         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
116702         !defined(__c99))]: Include in this case too, since it's harmless
116703         now.
116704         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
116705         dangerous to do so.
116706         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
116707         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
116708         (_STDINT_MIN, _STDINT_MAX): New macros.
116709         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
116710         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
116711         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
116712         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
116713         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
116714         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
116715         macros, not typedefs; this simplifies things quite a bit.
116716         Use long int for all types narrower than int64_t.
116717         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
116718         Define in terms of long long int or int64_t or long int,
116719         not int64_t or int32_t.  This saves some compile-time testing.
116720         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
116721         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
116722         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
116723         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
116724         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
116725         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
116726         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
116727         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
116728         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
116729         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
116730         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116731         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116732         undef any previous version and define our own version, for
116733         simplicity and consistency with the new macros for types.
116734         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116735         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116736         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
116737         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
116738         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
116739         @WINT_T_SUFFIX@ to keep things simple here.
116740         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
116741         Simplify by assuming typical 8/16/32/64 host, since we're
116742         already doing that elsewhere anyway.
116743         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
116744         and assume long long int is 64 bits if available.  This
116745         speeds up 'configure'.
116747 2006-07-01  Eric Blake  <ebb9@byu.net>
116749         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
116750         Reported by Andreas Buening.
116752 2006-07-01  Eric Blake  <ebb9@byu.net>
116754         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
116756 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116758         * lib/getaddrinfo.c: fixed typo
116760 2006-06-29  Jim Meyering  <jim@meyering.net>
116762         * modules/strftime (Maintainer): Add my name, since with the
116763         FPRINTFTIME changes strftime.c has forked from glibc.
116765 2006-06-29  Eric Blake  <ebb9@byu.net>
116767         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
116769 2006-06-29  Eric Blake  <ebb9@byu.net>
116771         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
116773 2006-06-29  Eric Blake  <ebb9@byu.net>
116775         * lib/stat_.h: New file.
116777 2006-06-29  Eric Blake  <ebb9@byu.net>
116779         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
116780         unused static function.
116782 2006-06-29  Eric Blake  <ebb9@byu.net>
116784         * doc/functions.texi (Function Portability): Document missing lstat
116785         on mingw.
116787 2006-06-29  Eric Blake  <ebb9@byu.net>
116789         * MODULES.html.sh: Add sys_stat.
116790         * modules/sys_stat: New module.
116791         * modules/mkstemp (Depends-on): Add sys_stat.
116793 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116795         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
116797 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116799         * m4/c-bs-a.m4: Removed.
116801 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116803         * lib/strftime.c: Assume strftime() exists.
116805 2006-06-29  Derek Price  <derek@ximbiot.com>
116807         * modules/c-bs-a: Removed - \a is C89.
116808         * MODULES.html.sh: Remove c-bs-a.
116810 2006-06-29  Bruno Haible  <bruno@clisp.org>
116812         * modules/wcwidth (License): Change to LGPL.
116814 2006-06-28  Simon Josefsson  <jas@extundo.com>
116816         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
116817         on _WIN32.
116819         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
116820         getnameinfo.
116822 2006-06-28  Simon Josefsson  <jas@extundo.com>
116824         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
116826 2006-06-28  Simon Josefsson  <jas@extundo.com>
116828         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
116829         functions there.  It will succeed on Windows XP, but on Windows
116830         2000 and (presumably) earlier, it will fail, and use the internal
116831         re-implementation.
116832         (use_win32_p): New function.
116833         (getaddrinfo): Use strtoul on servname, to support numeric ports.
116834         Support AI_NUMERICSERV to disable getservbyname.
116835         (getnameinfo): New function, only supports
116836         NI_NUMERICHOST|NI_NUMERICSERV for now.
116838         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
116839         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
116840         getnameinfo.
116842 2006-06-28  Eric Blake  <ebb9@byu.net>
116844         * modules/wcwidth: New file.
116845         * modules/mbchar (Depends-on): Add wcwidth.
116846         * modules/mbswidth (Depends-on): Add wcwidth.
116847         * MODULES.html.sh: Add wcwidth.
116849 2006-06-28  Eric Blake  <ebb9@byu.net>
116851         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
116852         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
116854 2006-06-28  Eric Blake  <ebb9@byu.net>
116856         * lib/xvasprintf.h: Fix comments.
116858 2006-06-28  Eric Blake  <ebb9@byu.net>
116860         * lib/mbchar.h (wcwidth): Include wcwidth.h.
116861         * lib/mbswidth.c (wcwidth): Move from here...
116862         * lib/wcwidth.h: ...to this new file.
116864 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116866         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
116868         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
116869         it's obsolete.
116870         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
116872 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116874         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
116875         Autoconf 2.60 says this stuff was obsolete.
116877 2006-06-28  Bruno Haible  <bruno@clisp.org>
116879         * modules/wcwidth (Files): Add m4/wchar_t.m4.
116881 2006-06-28  Bruno Haible  <bruno@clisp.org>
116883         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
116884         gt_TYPE_WCHAR_T.
116886 2006-06-28  Bruno Haible  <bruno@clisp.org>
116888         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
116889         declaration for wcwidth.
116890         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
116892 2006-06-28  Bruno Haible  <bruno@clisp.org>
116894         * lib/mkdtemp.c [MINGW]: Include <io.h>.
116895         (mkdir): Define using _mkdir.
116897 2006-06-28  Bruno Haible  <bruno@clisp.org>
116899         * lib/getaddrinfo.h: Fix POSIX URL.
116900         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
116901         _WIN32.
116902         (use_win32_p): Make static.
116903         (getaddrinfo): Reject service name if it is empty or does not consist
116904         solely of decimal digits, or if its value is > 65535.
116905         (getnameinfo): Remove useless casts.
116907 2006-06-27  Simon Josefsson  <jas@extundo.com>
116909         * modules/sys_select: New file, suggested by Bruno Haible, Paul
116910         Eggert and Martin Lambers.
116912 2006-06-27  Simon Josefsson  <jas@extundo.com>
116914         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
116915         Eggert and Martin Lambers.
116917 2006-06-27  Bruno Haible  <bruno@clisp.org>
116919         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
116920         result to 0, not to empty.
116921         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
116923 2006-06-27  Bruno Haible  <bruno@clisp.org>
116925         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
116927 2006-06-26  Simon Josefsson  <jas@extundo.com>
116929         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
116930         present.
116932 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
116934         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
116935         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
116936         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
116938 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
116940         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
116942 2006-06-26  Bruno Haible  <bruno@clisp.org>
116944         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
116946 2006-06-26  Bruno Haible  <bruno@clisp.org>
116948         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
116950 2006-06-26  Bruno Haible  <bruno@clisp.org>
116952         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
116953         SGI C compiler in pre-C99 mode.
116954         Suggested by Mark D. Baushke and Larry Jones.
116956 2006-06-26  Bruno Haible  <bruno@clisp.org>
116958         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
116959         WCHAR_MAX.
116960         Reported by Mark D. Baushke and Larry Jones.
116962 2006-06-26  Bruno Haible  <bruno@clisp.org>
116964         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
116965         in pre-C99 mode.
116966         Suggested by Mark D. Baushke and Larry Jones.
116968 2006-06-23  Simon Josefsson  <jas@extundo.com>
116969             Bruno Haible  <bruno@clisp.org>
116971         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
116972         Emit mostlyclean-local rule.
116973         (func_emit_tests_Makefile_am): Likewise.
116974         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
116976 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
116978         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
116980 2006-06-23  Bruno Haible  <bruno@clisp.org>
116982         * tests/test-stdint.c: Update to match ISO C 99 Technical
116983         Corrigendum 1.
116985 2006-06-23  Bruno Haible  <bruno@clisp.org>
116987         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
116989 2006-06-23  Bruno Haible  <bruno@clisp.org>
116991         * lib/stdint_.h: Treat IRIX like OpenBSD.
116993 2006-06-23  Bruno Haible  <bruno@clisp.org>
116995         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
116996         ISO C 99 Technical Corrigendum 1.
116998 2006-06-22  Simon Josefsson  <jas@extundo.com>
117000         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
117001         MinGW.
117003 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
117005         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
117006         needed.  Some compiler complained about some of them.  Problem reported
117007         by Larry Jones in
117008         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
117010 2006-06-21  Simon Josefsson  <jas@extundo.com>
117012         * tests/test-getaddrinfo.c: New file.
117014         * modules/getaddrinfo-tests: New file.
117016         * MODULES.html.sh: Add inet_pton.
117018         * modules/inet_pton: New file.
117020 2006-06-21  Simon Josefsson  <jas@extundo.com>
117022         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
117023         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
117024         of using the (limited) gnulib implementation on Windows XP.
117026         * m4/inet_pton.m4: New file.
117028 2006-06-21  Simon Josefsson  <jas@extundo.com>
117030         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
117031         variable.
117033         * lib/socket_.h: Don't define WINVER.
117035         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
117036         slightly modified to work in gnulib.
117038 2006-06-21  Simon Josefsson  <jas@extundo.com>
117040         * doc/gnulib.texi (Windows sockets): Add.
117042 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
117044         * lib/read-file.c (fread_file): Start with buffer allocation of
117045         0 bytes rather than 1 byte; this simplifies the code.
117046         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
117047         code to free buffer and save/restore errno.
117048         (internal_read_file): Remove unused local.
117050 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
117052         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
117053         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
117054         Problem reported by Denis Excoffier in
117055         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
117057 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
117059         * modules/sys_socket, modules/socklen: Include sys/types since
117060         FreeBSD 4.x's sys/socket.h needs it.
117062 2006-06-19  Simon Josefsson  <jas@extundo.com>
117064         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
117066 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
117068         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
117070 2006-06-19  Bruno Haible  <bruno@clisp.org>
117072         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
117073         and FULL_PATH_INTTYPES_H in angle brackets.
117074         Reported by Mark D. Baushke <mdb@gnu.org>.
117076 2006-06-17  Eric Blake  <ebb9@byu.net>
117078         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
117079         errno.
117081 2006-06-17  Bruno Haible  <bruno@clisp.org>
117083         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
117084         <sys/inttypes.h>.
117086 2006-06-17  Bruno Haible  <bruno@clisp.org>
117088         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
117089         whether errno is declared. Assume <errno.h> declares errno.
117091 2006-06-17  Bruno Haible  <bruno@clisp.org>
117093         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
117095 2006-06-17  Bruno Haible  <bruno@clisp.org>
117097         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
117098         problem on Solaris 2.5.1.
117100 2006-06-16  Eric Blake  <ebb9@byu.net>
117102         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
117103         * lib/unicodeio.c [!defined errno]: Likewise.
117104         * lib/strtol.c [!defined errno]: Likewise.
117105         * lib/strtod.c [!defined errno]: Likewise.
117107 2006-06-15  Eric Blake  <ebb9@byu.net>
117109         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
117111 2006-06-15  Eric Blake  <ebb9@byu.net>
117113         * config/srclist.txt (ssize_t.m4): Lose sync.
117115 2006-06-15  Bruno Haible  <bruno@clisp.org>
117117         * modules/stdint (Files): Include m4/full-header-path.m4,
117118         m4/size_max.m4, m4/wchar_t.m4.
117119         (Makefile.am): Many more substitutions.
117120         * modules/stdint-tests: New file.
117121         * tests/test-stdint.c: New file.
117123 2006-06-15  Bruno Haible  <bruno@clisp.org>
117125         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
117126         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
117127         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
117128         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
117129         gl_CHECK_TYPE_SAME): New macros.
117131 2006-06-15  Bruno Haible  <bruno@clisp.org>
117133         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
117135 2006-06-15  Bruno Haible  <bruno@clisp.org>
117137         * lib/stdint_.h: Rewritten to be fully auto-configured.
117138         Fixes bug on HP-UX/IA64.
117140 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
117142         * lib/getdate.y (__attribute__): Don't define if already defined.
117143         Problem reported by Larry Jones.
117144         * lib/utimens.c (__attribute__): Likewise.
117146 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
117148         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
117149         reported by Andreas Schwab.
117151 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117152             Bruno Haible  <bruno@clisp.org>
117154         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
117155         check for the declaration of strnlen and a run test that exposes the
117156         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
117157         rpl_strndup.
117159 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117160             Bruno Haible  <bruno@clisp.org>
117162         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
117164 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117166         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
117167         compile test, for Tru64 4.0D.
117169 2006-05-28  Karl Berry  <karl@gnu.org>
117171         * config/srclist.txt (printf-args.c): lose sync.
117173 2006-05-26  Martin Lambers  <marlam@marlam.de>
117175         * lib/getpass.c: Updates the test for the native W32 API, and adds
117176         missing includes, thus fixing compilation warnings.
117178 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117180         * lib/exclude.c (exclude_fnmatch): New function.
117181         (excluded_file_name): Call exclude_fnmatch.
117182         * lib/exclude.h (excluded_file_name): New prototype
117184 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
117186         * lib/tempname.c (small_open, large_open): New macros.
117187         (__open, __open64) [!_LIBC]: Remove.
117188         (__gen_tempname): Use small_open and large_open instead of __open
117189         and __open64.  This fixes a portability bug on HP-UX 11.11i
117190         reported by Simon Wing-Tang in
117191         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
117193 2006-05-24  Bruno Haible  <bruno@clisp.org>
117195         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
117196         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
117197         Reported by Thorsten Maerz <torte@netztorte.de> via
117198         Aaron Stone <aaron@serendipity.cx>.
117200 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117202         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
117203         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
117204         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
117205         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
117206         not really conditional on the cache.
117207         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
117209 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117211         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
117212         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
117213         (my_usleep): Don't mishandle maximum value.
117215 2006-05-19  Jim Meyering  <jim@meyering.net>
117217         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
117219 2006-05-17  Bruno Haible  <bruno@clisp.org>
117221         Cygwin portability.
117222         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
117224 2006-05-17  Bruno Haible  <bruno@clisp.org>
117226         * lib/stdint_.h: Fix recognition of Cygwin.
117228 2006-05-15  Bruno Haible  <bruno@clisp.org>
117230         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
117231         on libtool patch by Ralf Wildenhues.
117233 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
117235         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
117236         test for C99 conformance; (bool) 0.5 is an integer constant
117237         expression, but (bool) -0.5 is not.  Problem reported by Fedor
117238         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
117240 2006-05-11  Simon Josefsson  <jas@extundo.com>
117242         * m4/xvasprintf.m4: Fix obvious typo.
117244 2006-05-11  Jim Meyering  <jim@meyering.net>
117246         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
117247         James Lemley.
117249 2006-05-10  Simon Josefsson  <jas@extundo.com>
117251         * lib/md4.c: Typo fix, update copyright years.
117252         (K1, K2): Don't use L because it turn computations into 64-bit on
117253         64-bit platforms.
117255 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
117257         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
117258         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
117259         unwanted sign propagation, e.g., on hosts with 64-bit int.
117260         There still are some problems with reeelly weird theoretical hosts
117261         (e.g., 33-bit int) but it's not worth worrying about now.
117262         * lib/sha1.c (rol): Likewise.
117263         (K1, K2, K3, K4): Remove unnecessary L suffix.
117265 2006-05-10  Bruno Haible  <bruno@clisp.org>
117267         * lib/des.c: Cast to avoid warnings.
117269 2006-05-09  Bruno Haible  <bruno@clisp.org>
117271         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
117272         (Depends-on): Depend also on xsize, stdarg.
117273         (configure.ac): Add gl_XVASPRINTF.
117275 2006-05-09  Bruno Haible  <bruno@clisp.org>
117277         * m4/xvasprintf.m4: New file.
117279 2006-05-09  Bruno Haible  <bruno@clisp.org>
117281         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
117282         (EOVERFLOW): Define fallback value.
117283         (xstrcat): New function.
117284         (xvasprintf): Recognize the special case of a string concatenation.
117286 2006-05-08  Eric Blake  <ebb9@byu.net>
117288         * gnulib-tool (func_version): Base copyright year on CVS date.
117289         (func_emit_copyright_notice): New function.
117290         (func_emit_lib_Makefile_am): Use it.
117291         (func_emit_tests_Makefile_am): Likewise.
117292         (func_import): Likewise.
117294 2006-05-08  Bruno Haible  <bruno@clisp.org>
117296         * modules/stdarg: New file.
117297         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
117299 2006-05-08  Bruno Haible  <bruno@clisp.org>
117301         * m4/stdarg.m4: New file, from GNU gettext.
117303 2006-05-08  Bruno Haible  <bruno@clisp.org>
117305         * config/srclist.txt (build-aux/config.rpath): different from latest
117306         release.
117308 2006-05-08  Bruno Haible  <bruno@clisp.org>
117310         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
117312 2006-05-05  Jim Meyering  <jim@meyering.net>
117314         * m4/warning.m4: New file, derived from bison's file by the same name.
117316 2006-05-03  Bruno Haible  <bruno@clisp.org>
117318         * lib/stdint_.h: Shorter URL.
117319         * lib/inttypes.h: Likewise.
117321 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117323         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
117325 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117327         * lib/verify.h: Document the internals better.  Most of this change
117328         was written by Bruno Haible.
117330 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117332         * doc/verify.texi: New file, partly based on a proposal by
117333         Bruno Haible.
117335 2006-05-02  Bruno Haible  <bruno@clisp.org>
117337         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
117338         test from here...
117339         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
117341 2006-04-29  Bruno Haible  <bruno@clisp.org>
117343         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
117344         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
117346 2006-04-29  Bruno Haible  <bruno@clisp.org>
117348         * gnulib-tool: Make --update option actually work.
117350 2006-04-29  Bruno Haible  <bruno@clisp.org>
117352         * doc/gcd.texi: New file.
117353         * doc/gnulib.texi: Include it.
117355 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
117357         * lib/getdate.y (get_date): When adding relative date, start with the
117358         initial time, not with the result of the first mktime call.
117360 2006-04-25  Bruno Haible  <bruno@clisp.org>
117362         * gnulib-tool (func_import): Output the include directives in three
117363         blocks, sorted separately.
117364         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117366 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117368         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
117369         to define main with arguments, for C++.  Reported by Eric Blake.
117370         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
117371         Prefer 'int main ()' to 'int main (void)', for C++.
117372         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
117373         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
117374         for 'main', for C99 and C++.
117376 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117378         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
117379         Don't assume that exit status -1 is valid.
117380         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117381         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
117382         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
117383         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
117384         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
117385         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
117386         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
117387         functions can be used without declaring them, or that you can
117388         exit with status -1.
117389         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
117391 2006-04-24  Karl Berry  <karl@gnu.org>
117393         * config/srclist.txt (longdouble.m4): sync lost.
117395 2006-04-24  Eric Blake  <ebb9@byu.net>
117397         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
117399 2006-04-24  Bruno Haible  <bruno@clisp.org>
117401         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
117402         poll() implementation in AIX.
117403         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117405 2006-04-24  Bruno Haible  <bruno@clisp.org>
117407         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
117408         assigned exactly once.
117410 2006-04-23  Claudio Fontana  <claudio@gnu.org>
117411             Bruno Haible  <bruno@clisp.org>
117413         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
117414         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
117415         for AM_CPPFLAGS.
117417 2006-04-23  Bruno Haible  <bruno@clisp.org>
117419         * modules/copy-file: Depend on unistd.
117420         * modules/execute: Likewise.
117421         * modules/fatal-signal: Likewise.
117422         * modules/findprog: Likewise.
117423         * modules/mkdtemp : Likewise.
117424         * modules/pipe: Likewise.
117425         * modules/wait-process: Likewise.
117427 2006-04-23  Bruno Haible  <bruno@clisp.org>
117429         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
117430         condition was already detected.
117431         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117433 2006-04-23  Bruno Haible  <bruno@clisp.org>
117435         * lib/copy-file.c: Include <unistd.h> unconditionally.
117436         * lib/execute.c: Likewise.
117437         * lib/fatal-signal.c: Likewise.
117438         * lib/findprog.c: Likewise.
117439         * lib/mkdtemp.c: Likewise.
117440         * lib/pipe.h: Likewise.
117441         * lib/pipe.c: Likewise.
117442         * lib/wait-process.h: Likewise.
117444 2006-04-23  Bruno Haible  <bruno@clisp.org>
117446         * gnulib-tool (func_usage): Fix --import description. Document
117447         --update.
117448         (func_import): Create temporary file in a temporary directory, if
117449         --dry-run is specified. Silence errors from 'grep' when there are no
117450         m4 files in $m4dir.
117451         (func_create_testdir): Silence errors from 'grep' when there are no
117452         m4 files in $m4dir.
117453         Reported by Karl Berry <karl@freefriends.org>.
117455 2006-04-20  Bruno Haible  <bruno@clisp.org>
117457         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
117458         one argument, so that the code will be portable to Autoconf 2.60.
117459         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
117460         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
117461         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
117463 2006-04-19  Derek Price  <derek@ximbiot.com>
117464             Eric Blake  <ebb9@byu.net>
117466         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
117467         rather than "/full/path.h".  Update comment to match.  Shorten &
117468         generalize m4_translit call via AS_TR_CPP.
117470 2006-04-19  Derek Price  <derek@ximbiot.com>
117471             Eric Blake  <ebb9@byu.net>
117473         * lib/inttypes.h: Correct grammar in comment.
117475 2006-04-18  Derek Price  <derek@ximbiot.com>
117476             Paul Eggert  <eggert@cs.ucla.edu>
117478         * modules/inttypes: New file.
117479         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
117481 2006-04-18  Derek Price  <derek@ximbiot.com>
117482             Paul Eggert  <eggert@cs.ucla.edu>
117484         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
117485         New files.
117487 2006-04-18  Derek Price  <derek@ximbiot.com>
117488             Paul Eggert  <eggert@cs.ucla.edu>
117490         * lib/inttypes.h: New file.
117491         * lib/strtoimax.c: Assume <inttypes.h>.
117493 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
117495         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
117496         isn't mounted.  Problem reported by Kir Kolyshkin.
117498 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
117500         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
117501         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
117502         Derek R. Price.
117503         * lib/regex.h (RE_DUP_MAX): Update comment to match current
117504         implementation.
117506 2006-04-12  Eric Blake  <ebb9@byu.net>
117508         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
117509         is now done automatically by the corresponding Autoconf macro.
117511 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
117513         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
117514         time_r.h.
117516 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117518         Merge regex changes from libc, removing some of our
117519         POSIX-conformance changes that were rejected and redoing them in a
117520         less-intrusive way.
117522         * lib/regcomp.c (re_compile_internal, init_dfa):
117523         Length arg is now size_t, not Idx.  All uses changed.
117524         (peek_token): Forward decl now says internal_function.
117525         (__re_error_msgid, __re_error_msgid_idx):
117526         Now static rather than extern with attribute_hidden.
117527         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
117528         For some reason libc prefers K&R style defns for external functions.
117529         (regerror) [!defined _LIBC]: Likewise.
117530         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
117531         (seek_collating_symbol_entry, lookup_collation_sequence_value):
117532         (build_range_exp, build_collating_symbol):
117533         Use K&R-style defn.
117534         (re_compile_fastmap): Use '\0' to memset, not 0.
117535         (utf8_sb_map): Make the calculations more obvious.
117536         (init_dfa, parse_bracket_exp, build_charclass_op):
117537         Call calloc and cast result, as glibc does.
117538         (init_word_char, fetch_token, peek_token, peek_token_bracket):
117539         (build_range_exp, build_collating_symbol):
117540         Now internal functions.
117542         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
117544         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
117545         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
117546         Don't depend on VMS; depend on __VMS instead, for POSIX
117547         namespace cleanness.
117548         (regoff_t): Define to ssize_t, not long int.
117550         Remove the REG_ macros named below.  Instead, make the old names
117551         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
117552         __USE_GNU_REGEX.
117553         (REG_BACKSLASH_ESCAPE_IN_LISTS):
117554         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
117555         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
117556         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
117557         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
117558         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
117559         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
117560         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
117561         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
117562         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
117563         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
117564         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
117565         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
117566         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
117567         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
117568         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
117569         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
117570         (REG_NREGS):
117571         Remove.  All uses replaced by the old RE_* names.
117572         (RE_BACKSLASH_ESCAPE_IN_LISTS):
117573         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
117574         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
117575         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
117576         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
117577         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
117578         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
117579         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
117580         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
117581         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
117582         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
117583         Don't bother having these macros be independent of each others'
117584         values, since they no longer exist in the POSIX name space.
117586         Rename the following member names back to their old names,
117587         unless !__USE_GNU_REGEX.  All uses changed back.
117588         (buffer): Renamed from re_buffer.
117589         (allocated): Renamed from re_allocated.
117590         (used): Renamed from re_used.
117591         (syntax): Renamed from re_syntax.
117592         (fastmap): Renamed from re_fastmap.
117593         (translate): Renamed from re_translate.
117594         (can_be_null): Renamed from re_can_be_null.
117595         (regs_allocated): Renamed from re_regs_allocated.
117596         (fastmap_accurate): Renamed from re_fastmap_accurate.
117597         (no_sub): Renamed from re_no_sub.
117598         (not_bol): Renamed from re_not_bol.
117599         (not_eol): Renamed from re_not_eol.
117600         (newline_anchor): Renamed from re_newline_anchor.
117601         (num_regs): Renamed from rm_num_regs.
117602         (start): Renamed from rm_start.
117603         (end): Renamed from rm_end.
117605         (free_state): Move up a bit.
117607         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
117608         #define to be empty.
117609         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
117610         when that is what is intended.
117611         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
117612         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
117613         (MAX): New macro.
117614         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
117615         All uses changed back to re_malloc, etc.  It's now the caller's
117616         responsibility to check for overflow; all callers changed.
117617         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
117618         (re_x2nrealloc): Remove.
117619         (free_state): Remove decl.
117621         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
117622         (re_set_registers, re_exec):
117623         Use K&R-style defn.
117625         2006-01-31  Roland McGrath  <roland@redhat.com>
117627         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
117628         Reported by Mike Frysinger <vapier@gentoo.org>.
117630         2006-01-15  Andreas Jaeger  <aj@suse.de>
117632         [BZ #1950]
117633         * lib/regex_internal.c (re_string_reconstruct): Adjust for
117634         build_wcs_upper_buffer change.
117635         (build_wcs_upper_buffer): Change return type.
117637         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
117639         * lib/regex_internal.h: Include <stdint.h> if available.
117641         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
117643         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
117645         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
117647         * lib/regcomp.c: Adjust for changed secondary hash function.
117649         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
117651         * lib/regex.h: Pretty printing.
117652         Clean up namespace a bit.
117654         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
117656         * lib/regexec.c (update_cur_sifted_state, check_arrival,
117657         check_arrival_add_next_nodes): Avoid using uninitialized variable.
117659         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
117660                     Ulrich Drepper  <drepper@redhat.com>
117662         [BZ #1302]
117663         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
117664         changed.
117665         (bitset_word_t): Renamed from bitset_word.  All uses changed.
117667         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
117669         [BZ #281]
117670         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
117671         * lib/regcomp.c: Remove unnecessary uses of
117672         unsigned RE_TRANSLATE_TYPE.
117673         * lib/regex_internal.h: Likewise.
117674         * lib/regex_internal.c: Likewise.
117675         * lib/regexec.c: Likewise.
117676         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
117678         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
117680         * lib/regexec.c (find_recover_state): Remove unnecessary
117681         initialization.
117682         (transit_state_bkref): Make DFA a const pointer.
117683         (get_subexp): Likewise.
117684         (check_arrival): Likewise.
117685         (update_cur_sifted_state): Likewise.
117686         (re_search_internal): Likewise.
117687         (prune_impossible_nodes): Likewise.
117688         (acquire_init_state_context): Likewise.
117689         (proceed_next_node): Likewise.
117690         (set_regs): Likewise.
117691         (free_fail_stack_return): Likewise.
117692         (check_arrival_expand_ecl): Mark DFA parameter as const.
117693         (check_arrival_expand_ecl_sub): Likewise.
117694         (check_subexp_limits): Likewise.
117695         (sub_epsilon_src_nodes):  Likewise.
117696         (add_epsilon_src_nodes):  Likewise.
117697         (merge_state_array): Likewise.
117698         (update_regs): Likewise.
117699         (build_trtable): Likewise.
117700         (sift_states_backward): Mark MCTX parameter as const.
117701         (build_sifted_states): Likewise.
117702         (update_cur_sifted_state): Likewise.
117703         (sift_states_mkref): Likewise.
117704         (check_arrival_expand_ecl): Mark eclosure as const.
117705         (check_dst_limits_calc_pos_1): Likewise.
117706         * lib/regex_internal.h (re_match_context_t): Make dfa a const
117707         pointer.
117709         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
117711         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
117712         (transit_state_sb): Likewise.
117713         (transit_state_mb): Likewise.
117714         (sift_states_iter_mb): Likewise.
117715         (check_arrival_add_next_nodes): Likewise.
117716         (check_node_accept_bytes): Change first parameter to pointer-to-const.
117717         [_LIBC] (re_search_2_stub): Use mempcpy.
117719         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
117720         mbrtowc for very simple UTF-8 case.
117722         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
117723         a pointer-to-const.
117724         (re_acquire_state_context): Likewise.
117725         * lib/regex_internal.h: Adjust prototypes.
117727         * lib/regex.c: Prevent using C++ compilers.
117729         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
117730         (re_acquire_state_context): Likewise.
117732 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117734         * modules/regex (Depends-on): Add ssize_t.
117736 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117738         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
117739         translation table.
117741 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117743         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
117745 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
117746             Bruno Haible  <bruno@clisp.org>
117748         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
117749         <sys/types.h> and <inttypes.h>.
117751 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117753         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
117754         `__error_t_defined', so argp.h will not typedef the former.
117756 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
117758         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
117759         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
117760         glibc names.  Even if glibc is changed to conform to POSIX, the
117761         traditional names will be available anyway, since regex depends on
117762         the extensions module.  Also, fix a longstanding typo in the
117763         implementation of Spencer ERE test #75 from grep 2.3.  Problems
117764         reported by Emanuele Giaquinta.  Also, change sense of cached
117765         variable, so that the message makes sense.
117767 2006-03-24  Simon Josefsson  <jas@extundo.com>
117769         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
117770         including some doc fixes.
117771         (base64_encode_alloc): Fix +1 bug on allocation failures.
117773 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117775         * lib/base64.c (base64_encode): Do not read past end of array with
117776         unsanitized input on systems with CHAR_BIT > 8.
117778 2006-03-24  Eric Blake  <ebb9@byu.net>
117780         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
117782 2006-03-22  Karl Berry  <karl@gnu.org>
117784         * config/srclist.txt (*setenv.[ch]): get from coreutils.
117785         * config/srclistvars.sh (COREUTILS): new var.
117787 2006-03-17  Jim Meyering  <jim@meyering.net>
117789         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
117790         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
117792 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117794         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
117795         no longer needs it.  Instead, check that regoff_t is as least
117796         as wide as ptrdiff_t.
117798         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
117799         so that our regex.h stays compatible with the installed regex.
117800         This is helpful for installers who configure --without-included-regex.
117801         Problem reported by Emanuele Giaquinta.
117803 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117805         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
117806         Typedef to long int, not to off_, as POSIX will likely change
117807         in that direction.
117809 2006-03-15  Eric Blake  <ebb9@byu.net>
117811         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
117813 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117815         * lib/argp-help.c (validate_uparams): Fix typo
117816         * lib/argp-parse.c (argp_default_options): Consistently begin help
117817         messages with a lowercase letter.
117819 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
117821         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
117822         overrun buffers and shouldn't be used (much as gets shouldn't be
117823         used).
117824         * lib/time_r.c (asctime_r, ctime_r): Likewise.
117826 2006-03-08  Simon Josefsson  <jas@extundo.com>
117828         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
117829         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117831 2006-03-08  Simon Josefsson  <jas@extundo.com>
117833         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
117834         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117836 2006-03-08  Simon Josefsson  <jas@extundo.com>
117838         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
117839         signal that configure disabled the device.
117841 2006-03-08  Simon Josefsson  <jas@extundo.com>
117843         * build-aux/maint.mk: Fix refresh-po, to handle no translated
117844         languages.
117846 2006-03-07  Simon Josefsson  <jas@extundo.com>
117848         * modules/getopt (Depends-on): Add unistd.
117850         * modules/unistd: New file.
117852 2006-03-07  Simon Josefsson  <jas@extundo.com>
117854         * modules/gc-random: New file.
117856 2006-03-07  Simon Josefsson  <jas@extundo.com>
117858         * m4/unistd_h.m4: New file.
117860 2006-03-07  Simon Josefsson  <jas@extundo.com>
117862         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
117863         test to be side-effect free by storing the result in the cache
117864         variable gl_cv_lib_readline, and moving the assignment of
117865         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
117866         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117868 2006-03-07  Simon Josefsson  <jas@extundo.com>
117870         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
117871         error on missing devices (the functions will return an error).
117873         * m4/gc.m4: Move random stuff to gc-random.m4
117875 2006-03-07  Simon Josefsson  <jas@extundo.com>
117877         * lib/unistd_.h: New file.
117879 2006-03-07  Simon Josefsson  <jas@extundo.com>
117881         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
117883 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117885         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
117886         Problem reported by Juan Manuel Guerrero.
117888 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117890         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
117891         the unistd module.
117892         * lib/getlogin_r.c: Likewise.
117893         * lib/getlogin_r.h: Likewise.
117894         * lib/glob.c: Likewise.
117895         * lib/pagealign_alloc.c: Likewise.
117896         * lib/unistd_.h: Remove; no longer needed.
117898 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117900         * MODULES.html.sh (Support for systems lacking POSIX:2001):
117901         Add unistd.
117902         * modules/c-stack (Depends-on): Add unistd.
117903         * modules/getlogin_r: Likewise.
117904         * modules/glob: Likewise.
117905         * modules/pagealign_alloc: Likewise.
117906         * modules/unistd (Files): Remove lib/unistd_.h.
117907         (EXTRA_DIST): Remove.
117908         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
117909         need unistd_.h.
117910         (MOSTLYCLEANFILES): Remove unistd.h-t.
117912 2006-03-03  Simon Josefsson  <jas@extundo.com>
117914         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
117916 2006-03-03  Simon Josefsson  <jas@extundo.com>
117918         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
117919         libidn and bison.
117921 2006-03-03  Simon Josefsson  <jas@extundo.com>
117923         * build-aux/maint.mk: Add indent target.
117925 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
117927         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
117928         our replacement poll.h in any case, to avoid a differing
117929         declaration from a system header.  Seen on AIX.
117931 2006-03-01  Simon Josefsson  <jas@extundo.com>
117933         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
117934         <kasal@ucw.cz>.
117936 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117938         * modules/gettime (Depends-on): Add extensions module.
117939         * modules/nanosleep (Depends-on): Likewise.
117940         * modules/settime (Depends-on): Likewise.
117942 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117944         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
117945         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
117946         pedantically.
117947         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117948         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
117950         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
117951         not "==".  Reported by Ralf Wildenhues.
117953 2006-03-01  Karl Berry  <karl@gnu.org>
117955         * doc/Copyright/request-*: new files, synced from gnuorg.
117957 2006-03-01  Karl Berry  <karl@gnu.org>
117959         * config/srclist.txt (Copyright/*): new entries.
117961 2006-02-28  Simon Josefsson  <jas@extundo.com>
117963         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
117965 2006-02-27  Simon Josefsson  <jas@extundo.com>
117967         * lib/base64.h: Indent #define's.  From Jim Meyering
117968         <jim@meyering.net>.
117970 2006-02-27  Jim Meyering  <jim@meyering.net>
117972         Revert the change of 2006-02-24, so these files can continue
117973         to be sync'd from gettext.
117974         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
117975         of `config.h'.
117977 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
117979         * modules/intprops: New file.
117980         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
117981         Add intprops.
117982         * modules/getloadavg (Files): Remove lib/intprops.h.
117983         (Depends-on): Add intprops.
117984         * modules/human: Likewise.
117985         * modules/inttostr: Likewise.
117986         * modules/openat: Likewise.
117987         * modules/sig2str: Likewise.
117988         * modules/userspec: Likewise.
117989         * modules/utimecmp: Likewise.
117990         * modules/xnanosleep: Likewise.
117991         * modules/xstrtol: Likewise.
117993 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
117995         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
117996         * modules/lock-tests (TESTS): Use $(EXEEXT).
117997         * modules/tls-tests: Likewise.
117998         * modules/argp-tests: Likewise.
117999         (check_PROGRAMS): New var, replacing...
118000         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
118002 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118004         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
118005         `config.h'.
118007 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
118009         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
118011 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118013         Sync from coreutils.
118014         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
118015         gl_CHDIR_SAFER.
118017 2006-02-22  Jim Meyering  <jim@meyering.net>
118019         Sync from coreutils.
118020         * m4/chdir-safer.m4: New file.
118022 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
118024         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
118025         AT_FDCWD exceeds INT_MAX.
118026         * lib/openat.h (AT_FDCWD): Likewise.
118028 2006-02-17  Eric Blake  <address@hidden>
118030         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
118032 2006-02-16  Simon Josefsson  <jas@extundo.com>
118034         * modules/getaddrinfo (Depends-on): Add sys_socket.
118036 2006-02-15  Simon Josefsson  <jas@extundo.com>
118038         * build-aux/maint.mk: Add dsyntax-check rule.
118040 2006-02-15  Eric Blake  <ebb9@byu.net>
118042         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
118043         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
118044         'present but cannot compile' warnings on cygwin.
118045         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
118046         use ws2tcpip.h if sys/socket.h works.
118047         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
118048         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
118050 2006-02-14  Simon Josefsson  <jas@extundo.com>
118052         * modules/maintainer-makefile (Files): Rename.
118054         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
118055         and (the local) Makefile.cfg to maint-cfg.mk.
118057         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
118058         to the latter.
118060         * modules/maintainer-makefile: New module.
118062         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
118063         severaly stripped to make it possible to build it up from scratch
118064         with reliable tests.
118066         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
118067         fixes to permit overriding the default actions when configure and
118068         makefile are not available.
118070 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
118072         Sync from coreutils.
118073         * modules/lstat (Depends-on): Don't depend on xalloc.
118074         (License): Change from GPL to LGPL, since this is now simply a
118075         replacement for a libc function.
118077 2006-02-14  Jim Meyering  <jim@meyering.net>
118079         Sync from coreutils.
118081         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
118082         failure on deficient systems, and simplify gnulib lgpl dependencies.
118083         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
118084         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
118086         * lib/xalloc-die.c: Remove unused definition of N_.
118088 2006-02-14  Jim Meyering  <jim@meyering.net>
118090         Sync from coreutils.
118091         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
118092         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
118093         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
118094         double-quote uses of that variable, to accommodate the rare case in
118095         which getmntent is available in none of the libraries checked.  This
118096         happens at least on FreeBSD 5.0.
118098 2006-02-13  Simon Josefsson  <jas@extundo.com>
118100         * gnulib-tool (Usage): Fix --import, from
118101         karl@freefriends.org (Karl Berry).
118103 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
118105         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
118107 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
118109         * lib/argp-namefrob.h: Restore changes accidentally lost during the
118110         "autoupdate" on 2005-12-12.
118112 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118114         * modules/closeout (Depends-on): Remove atexit.
118116 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
118118         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
118119         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
118121 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
118123         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
118124         __EXTENSIONS__ if this causes compilation to fail.  Problem
118125         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
118126         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
118128 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
118130         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
118131         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
118132         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
118133         All uses changed.
118135 2006-01-26  Simon Josefsson  <jas@extundo.com>
118137         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
118138         prototype is visible on mingw32.
118140         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
118141         for mingw32.
118143         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
118144         mingw32).
118146 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
118148         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
118149         attempt to open for write; this always fails, at least on POSIX
118150         hosts.  This reinstates the 2006-01-09 change, which was
118151         inadvertently removed.
118153 2006-01-26  Bruno Haible  <bruno@clisp.org>
118155         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
118156         Reported by Paul Eggert.
118158 2006-01-26  Bruno Haible  <bruno@clisp.org>
118159             Paul Eggert  <eggert@cs.ucla.edu>
118161         * lib/stdbool_.h (_Bool)
118162         [(! (defined __cplusplus || defined __BEOS__)
118163           && !defined __GNUC__
118164           && !(defined __HP_cc || defined __xlc__
118165                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
118166                || defined __sgi))]:
118167         #define to signed char in these cases too; this simplifies
118168         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
118169         etc., separately) and makes it more conservative.
118171 2006-01-25  Simon Josefsson  <jas@extundo.com>
118173         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
118174         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
118175         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
118177 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
118179         * lib/argp-namefrob.h: Bugfix. Remove stray #
118181 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
118183         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
118184         so that we test the test.
118185         Check for yet another HP-UX cc bug involving *bool |= bool.
118187 2006-01-25  Karl Berry  <karl@gnu.org>
118189         * config/srclist.txt (vasnprintf.c): sync lost.
118191 2006-01-25  Jim Meyering  <jim@meyering.net>
118193         Sync from the stable (b5) branch of coreutils:
118195         * lib/fts.c (fts_children): Don't let close() clobber errno from
118196         failed fchdir().
118198         * lib/fts.c (fts_stat): When following a symlink-to-directory,
118199         don't necessarily interpret stat-fails+lstat-succeeds as indicating
118200         a dangling symlink.  That can also happen at least for ELOOP.
118201         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
118202         FYI, this bug predates the inclusion of fts.c in coreutils.
118204         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
118205         in their own block, so pre-c99 compilers don't object.
118207         Avoid the double-free (first in fts_read, second in fts_close) that
118208         would occur when an `active' directory is made inaccessible (e.g.,
118209         via chmod a-x) during a traversal.
118210         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118211         before returning.  Reproduce this failure by
118212         mkdir -p a/b; cd a; chmod a-x . b
118213         Reported by Stavros Passas.
118215 2006-01-25  Jim Meyering  <jim@meyering.net>
118217         * lib/fileblocks.c: Remove more useless parentheses.
118218         * lib/readutmp.h: Likewise.
118220 2006-01-25  Bruno Haible  <bruno@clisp.org>
118222         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
118223         warnings.
118224         Reported by Paul Eggert.
118226 2006-01-25  Bruno Haible  <bruno@clisp.org>
118228         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
118229         rid of a trap command. For Solaris sh.
118230         Reported by Mark D. Baushke <mdb@gnu.org>.
118232 2006-01-24  Simon Josefsson  <jas@extundo.com>
118234         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
118235         Bruno.
118237 2006-01-24  Karl Berry  <karl@gnu.org>
118239         * config/srclist.txt (argp-namefrob.h): sync lost.
118241 2006-01-24  Jim Meyering  <jim@meyering.net>
118243         * modules/openat (Files): Add lib/intprops.h.
118244         From Mark D. Baushke.
118246 2006-01-24  Jim Meyering  <jim@meyering.net>
118248         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
118249         Reported by Mark D. Baushke.
118251 2006-01-24  Jim Meyering  <jim@meyering.net>
118253         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
118255 2006-01-24  Bruno Haible  <bruno@clisp.org>
118257         * modules/strnlen (Maintainer): Change from glibc to all.
118259 2006-01-24  Bruno Haible  <bruno@clisp.org>
118261         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
118262         Patch by Paul Eggert.
118264 2006-01-24  Bruno Haible  <bruno@clisp.org>
118266         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
118267         already has it.
118268         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
118269         2005-11-26.
118271         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
118272         'signed char' to avoid problems with the built-in _Bool type.
118273         Reported by Paul Eggert on 2005-11-26.
118275 2006-01-24  Bruno Haible  <bruno@clisp.org>
118277         * gnulib-tool (func_import): Avoid constructing complicated sed
118278         expressions inside backquote.
118279         Report and solution by Mark D. Baushke <mdb@gnu.org>.
118281 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
118283         These changes imported from libc.
118284         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
118285         test and two separate function calls.
118286         * lib/strndup.c (__strndup): Add libc_hidden_def.
118288 2006-01-23  Simon Josefsson  <jas@extundo.com>
118290         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
118291         Remove the test_*_SOURCES variable: automake infers it by default.
118292         * modules/tls-tests: Likewise.
118294 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118296         Work around porting bugs reported by Dieter in
118297         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
118298         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
118299         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
118300         Include "getopt.h" first, to check interface.
118301         (getenv): Declare only if defined HAVE_DECL_GETENV &&
118302         !HAVE_DECL_GETENV.
118303         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
118304         (__strndup): Revert to K&R-style function dfns, the glibc style.
118305         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
118306         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
118307         Include strnlen.h first, to get prototype properly.
118308         (strnlen): Renamed from __strnlen.
118309         Remove weak alias.
118311 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118313         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
118315 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118317         * config/srclist.txt: Adjust to reflect glibc reorganization.
118318         This affects only comments.
118320 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
118322          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
118323          Reported by Bruce Korb <bkorb@gnu.org>.
118325 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
118327         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
118328         to pacify gcc -Wswitch-default.
118330 2006-01-22  Bruno Haible  <bruno@clisp.org>
118332         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
118333         temporary buffer for sprintf, take into account the precision also
118334         for 'd', 'i', 'u', 'o', 'x', 'X'.
118336 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118338         * modules/argp-tests: New module
118339         * tests/test-argp.c: New file
118340         * tests/test-argp-2.sh: New file
118342 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118344         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
118345         (__argp_base_name): Removed
118346         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
118347         typo.
118348         (__argp_base_name): Provide macro definition or extern declaration
118349         depending on the configuration
118351 2006-01-20  Simon Josefsson  <jas@extundo.com>
118353         * modules/inet_ntop (Depends-on): Depend on sys_socket.
118355 2006-01-20  Simon Josefsson  <jas@extundo.com>
118357         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
118359 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
118361         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
118362         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
118363         Suggested by Bruno Haible.
118365 2006-01-20  Karl Berry  <karl@gnu.org>
118367         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
118368         until changes propagate, I guess.
118370 2006-01-19  Simon Josefsson  <jas@extundo.com>
118372         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
118374 2006-01-19  Simon Josefsson  <jas@extundo.com>
118376         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
118378 2006-01-19  Simon Josefsson  <jas@extundo.com>
118380         * gnulib-tool: Set check_PROGRAMS.
118382         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118383         modules/des-tests, modules/gc-arcfour-tests,
118384         modules/gc-arctwo-tests, modules/gc-des-tests,
118385         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118386         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118387         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118388         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118389         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118390         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
118391         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
118392         test_*_SOURCES.
118394 2006-01-18  Simon Josefsson  <jas@extundo.com>
118396         * modules/socklen (Depends-on): Depend on sys_socket.
118398 2006-01-18  Simon Josefsson  <jas@extundo.com>
118400         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118401         modules/des-tests, modules/gc-arcfour-tests,
118402         modules/gc-arctwo-tests, modules/gc-des-tests,
118403         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118404         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118405         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118406         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118407         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118408         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
118409         $(EXEEXT) to automake TESTS variable, for mingw32.
118411 2006-01-17  Simon Josefsson  <jas@extundo.com>
118413         * modules/socklen (Include): Need sys/socket.h.
118415 2006-01-17  Bruno Haible  <bruno@clisp.org>
118417         * modules/ssize_t (Include): Add <sys/types.h>.
118419 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
118421         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
118422         it's not portable and it doesn't work with cross-compiles.
118423         Problem reported by Bruno Haible.  Fix missing-$ typo in
118424         'test "gl_cv_ignore_unused_libraries" ...' that prevented
118425         -zignore from being used with Sun's C compiler.
118427 2006-01-12  Simon Josefsson  <jas@extundo.com>
118429         * lib/base64.c: Fix warning, reported by Bruno Haible
118430         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
118432 2006-01-12  Bruno Haible  <bruno@clisp.org>
118434         * modules/ldd: New file.
118435         * build-aux/ldd.sh.in: New file.
118436         * MODULES.html.sh (Support for building libraries and executables): Add
118437         ldd.
118439 2006-01-12  Bruno Haible  <bruno@clisp.org>
118441         * m4/ldd.m4: New file.
118443 2006-01-12  Bruno Haible  <bruno@clisp.org>
118445         * gnulib-tool (func_import, func_create_testdir): Don't go into an
118446         endless loop while replacing $auxdir with build-aux.
118448 2006-01-11  Simon Josefsson  <jas@extundo.com>
118450         * lib/stdint_.h (SIZE_MAX): Add missing (.
118452 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
118454         Sync from coreutils.
118455         * lib/md5.c: Fix commentary typos.
118456         (alignof, UNALIGNED_P): No need for a GCC-specific version.
118457         * lib/md5.h (__attribute__): Remove; unused.
118458         * lib/sha1.c: Fix commentary to match md5 better.
118459         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
118460         so that we don't need to worry about alignment.  All uses changed.
118461         This merges the 2005-10-28 md5 change into sha1.
118463 2006-01-11  Jim Meyering  <jim@meyering.net>
118465         Sync from coreutils.
118466         * lib/md5.c (OP): Fix spacing.
118468 2006-01-11  Bruno Haible  <bruno@clisp.org>
118470         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118471         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
118472         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
118474 2006-01-11  Bruno Haible  <bruno@clisp.org>
118476         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118477         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
118478         the "early" section as well.
118480 2006-01-11  Bruno Haible  <bruno@clisp.org>
118482         Avoid "ar: no archive members specified" error on MacOS X.
118483         * gnulib-tool (func_modules_add_dummy): New function.
118484         (func_import, func_create_testdir): Invoke it.
118486 2006-01-11  Bruno Haible  <bruno@clisp.org>
118488         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
118489         with $auxdir in AC_CONFIG_FILES statements.
118491 2006-01-11  Bruno Haible  <bruno@clisp.org>
118493         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
118494         Initialize also noinst_HEADERS to empty.
118496 2006-01-11  Bruno Haible  <bruno@clisp.org>
118498         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
118499         variables.
118500         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
118501         autoreconf.
118503 2006-01-11  Bruno Haible  <bruno@clisp.org>
118505         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
118506         overridable by the user.
118507         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118509 2006-01-10  Simon Josefsson  <jas@extundo.com>
118511         * modules/sys_socket: New file.
118513 2006-01-10  Simon Josefsson  <jas@extundo.com>
118515         * m4/sys_socket_h.m4: New file.
118517 2006-01-10  Simon Josefsson  <jas@extundo.com>
118519         * lib/socket_.h: New file.
118521 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118523         * modules/readutmp (Maintainer): Add myself.
118525 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118527         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
118528         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
118529         People who are still concerned with buggy memcmp implementations
118530         can invoke gl_FUNC_MEMCMP themselves.
118532 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118534         * lib/regex_internal.h (BITSET_WORD_BITS):
118535         Work around a bug in 64-bit PGC (before version 6.1-2), where the
118536         preprocessor mishandles large unsigned values as if they were signed.
118537         Problem reported by Claudio Fontana in
118538         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
118540 2006-01-10  Jim Meyering  <jim@meyering.net>
118542         Avoid the double-free (first in fts_read, second in fts_close) that
118543         would occur when an `active' directory is made inaccessible (e.g.,
118544         via chmod a-x) during a traversal.
118545         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118546         before returning.  Reproduce this failure by
118547         mkdir -p a/b; cd a; chmod a-x . b
118548         Reported by Stavros Passas.
118550         Sync from coreutils.
118551         * lib/sha1.c: Tweak grammar in a comment.
118553 2006-01-10  Jim Meyering  <jim@meyering.net>
118555         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
118556         Patch by Joerg Sonnenberger.
118558 2006-01-10  Bruno Haible  <bruno@clisp.org>
118560         * modules/readutmp: Depend on module free.
118561         * modules/strtok_r: Depend on module restrict.
118563 2006-01-10  Bruno Haible  <bruno@clisp.org>
118565         * modules/gettext (configure.ac): Add an invocation of
118566         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
118568 2006-01-10  Bruno Haible  <bruno@clisp.org>
118570         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
118571         Reported by Werner Lemberg <wl@gnu.org>.
118573 2006-01-10  Bruno Haible  <bruno@clisp.org>
118575         * lib/localcharset.c: Update from GNU gettext.
118577 2006-01-10  Bruno Haible  <bruno@clisp.org>
118579         * lib/argp.h (__const): Remove macro. Use const instead.
118580         * lib/argp-fmtstream.h (__const): Likewise.
118581         * lib/glob_.h (__const): Remove macro.
118582         * lib/glob-libc.h: Use const instead of __const.
118584 2006-01-10  Bruno Haible  <bruno@clisp.org>
118586         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
118587         variable.
118588         Needed to avoid an automake error regarding the 'gettext' module.
118590 2006-01-09  Simon Josefsson  <jas@extundo.com>
118592         * modules/inet_ntop (Depends-on): Add restrict.
118594 2006-01-09  Simon Josefsson  <jas@extundo.com>
118596         * modules/gc-rijndael-tests (License): Put under LGPL.
118598         * modules/gc-des-tests (License): Likewise.
118600         * modules/gc-arcfour-tests (License): Likewise.
118602         * modules/gc-arctwo-tests (License): Likewise.
118604         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
118606         * modules/gc-hmac-sha1-tests (Files): Likewise.
118608         * modules/gc-hmac-md5-tests (License): Likewise.
118610         * modules/gc-sha1-tests (License): Likewise.
118612         * modules/gc-md5-tests (License): Likewise.
118614         * modules/gc-md4-tests (License): Likewise.
118616         * modules/gc-md2-tests (License): Likewise.
118618         * modules/gc-tests (License): Likewise.
118620         * modules/des-tests (License): Likewise.
118622         * modules/md4-tests (License): Likewise.
118624         * modules/md2-tests (License): Likewise.
118626 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118628         Sync from coreutils:
118630         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
118631         * modules/lib-ignore: New file.
118632         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
118633         chdir-safer.m4, lchmod.m4.
118634         * modules/openat: Add mkdirat.c, openat-priv.h.
118636 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118638         Sync from coreutils.
118639         * m4/lib-ignore.m4: New file.
118640         * m4/lchmod.m4: New file.
118642 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118644         Sync from coreutils.
118645         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
118646         for write access: POSIX says that must fail.
118647         * lib/fts.c (diropen): Likewise.
118648         * lib/save-cwd.c (save_cwd): Likewise.
118649         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
118650         well, for minor improvements on hosts that lack O_DIRECTORY.
118651         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
118652         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
118653         Fall back on chown if open failed with EACCES.
118655         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
118656         Report an error at compile-time if only a 1-second nominal clock
118657         resolution is found.
118659         * lib/lchmod.h: New file.
118660         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
118661         (make_dir_parents): Use lchown rather than chown, and
118662         lchmod rather than chmod.
118664         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
118665         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
118666         "proc" reported by n0dalus.
118668         * lib/mountlist.c: Include <limits.h>.
118669         (dev_from_mount_options)
118670         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
118671         New function.  It no longer assumes "dev=" has the System V meaning
118672         on Linux (since it doesn't).  It also parses "dev=" more carefully.
118673         (read_file_system_list)
118674         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
118675         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
118676         dev= in that case.
118678         * lib/posixtm.h (PDS_PRE_2000): New macro.
118679         * lib/posixtm.c (year): Arg is now syntax_bits rather than
118680         allow_century.  All usages changed.  Reject dates outside the range
118681         1969-1999 if PDS_PRE_2000 is used.
118683 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118685         Sync from coreutils.
118686         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
118687         (Time of day items): Mention the possibility of leap seconds.
118688         Problem reported by Dr. David Alan Gilbert.
118690 2006-01-09  Jim Meyering  <jim@meyering.net>
118692         Sync from coreutils.
118694         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
118696         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
118698         * lib/modechange.c (mode_compile): Reject an invalid mode string
118699         that starts with an octal digit.  From Andreas Gruenbacher.
118701         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
118702         and dup to open_safer and dup_safer, respectively.
118703         (openat_permissive): Fix typo in comment.
118705         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
118706         "gettext.h"; either no longer needed or are guaranteed by openat.h.
118707         (_): Remove; no longer needed.
118708         (openat): Renamed from rpl_openat; no need for rpl_openat
118709         since openat.h renames openat for us.
118710         Replace most of the body with a call to openat_permissive,
118711         to avoid duplicate code.
118712         Port to (probably hypothetical) environments were mode_t is
118713         wider than int.
118714         (openat_permissive): Require mode arg, so that we can check
118715         types better.  Put it just after flags.  Change cwd failure
118716         indicator from pointer-to-bool to pointer-to-errno-value.
118717         All callers changed.
118718         Invoke openat_save_fail and/or openat_restore_fail if
118719         cwd_errno is null, so that openat can call us.
118720         (openat_permissive, fdopendir, fstatat, unlinkat):
118721         Simplify errno handling to avoid some duplicate code,
118722         as it's OK to set errno on success.
118723         * lib/openat.h: Revamp code so that function macros depend on
118724         __OPENAT_PREFIX only, not also on AT_FDCWD.
118725         (openat_ro): Remove.  Caller changed to use openat_permissive.
118726         (openat_permissive): Now a macro, if not a function.
118727         (openat_restore_fail, openat_save_fail): Now always functions,
118728         since mkdirat needs them even if __OPENAT_PREFIX is defined.
118730         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
118731         and openat.c.
118732         * lib/mkdirat.c: Include openat-priv.h.
118733         Remove definitions of macros defined therein.
118734         * lib/openat.c: Likewise.
118736         * lib/mkdirat.c (mkdirat): New file and function.
118737         * lib/openat.h (mkdirat): Declare.
118739         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
118741         * lib/openat.h (openat_permissive): Declare.
118742         (openat_ro): Define.
118744         * lib/openat.c (EXPECTED_ERRNO): New macro.
118745         (openat_permissive): New function -- used in remove.c rewrite.
118746         (all functions): Set errno just before returning, only if there
118747         was an actual failure.
118748         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
118750         Emulate openat-family functions using Linux's procfs, if possible.
118751         Idea and some code based on Ulrich Drepper's glibc changes.
118753         * lib/openat.c: (BUILD_PROC_NAME): New macro.
118754         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
118755         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
118756         before falling back on save_cwd and restore_cwd.
118757         (fdopendir, fstatat, unlinkat): Likewise.
118759         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
118760         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
118762         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
118763         as second argument to va_arg.  Otherwise, some versions of gcc
118764         warn that `if this code is reached, the program will abort'.
118766 2006-01-09  Jim Meyering  <jim@meyering.net>
118768         Sync from coreutils.
118769         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
118770         Require openat-priv.h.
118772 2006-01-09  Bruno Haible  <bruno@clisp.org>
118774         * modules/strnlen (Include): Use strnlen.h.
118776 2006-01-09  Bruno Haible  <bruno@clisp.org>
118778         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
118780 2006-01-09  Bruno Haible  <bruno@clisp.org>
118782         * lib/sysexit_.h (EX_OK): New macro.
118783         Suggested by Martin Lambers <marlam@marlam.de>.
118785 2006-01-09  Bruno Haible  <bruno@clisp.org>
118787         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
118788         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
118790 2006-01-09  Bruno Haible  <bruno@clisp.org>
118792         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
118793         numbers.
118795 2006-01-09  Bruno Haible  <bruno@clisp.org>
118797         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
118798         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
118799         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
118800         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
118802 2006-01-09  Bruno Haible  <bruno@clisp.org>
118804         * build-aux/javacomp.sh.in: New file, moved from lib/.
118805         * modules/javacomp-script (Files): Update.
118806         (configure.ac): Add AC_CONFIG_FILES invocation.
118807         (EXTRA_DIST): Remove variable.
118809         * build-aux/javaexec.sh.in: New file, moved from lib/.
118810         * modules/javaexec (Files): Update.
118811         (configure.ac): Add AC_CONFIG_FILES invocation.
118812         (EXTRA_DIST): Remove javaexec.sh.in.
118814         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
118815         * modules/csharpcomp-script (Files): Update.
118816         (configure.ac): Add AC_CONFIG_FILES invocation.
118817         (EXTRA_DIST): Remove variable.
118819         * build-aux/csharpexec.sh.in: New file, moved from lib/.
118820         * modules/csharpexec (Files): Update.
118821         (configure.ac): Add AC_CONFIG_FILES invocation.
118822         (EXTRA_DIST): Remove csharpexec.sh.in.
118824 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118826         Sync from coreutils.
118828         Add POSIX ACL support
118829         * lib/acl.h (copy_acl, set_acl): Add declarations.
118830         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
118831         systems other than Linux.
118832         (chmod_or_fchmod): New function: use fchmod when possible,
118833         and chmod otherwise.
118834         (file_has_acl): Add a POSIX ACL implementation, with a
118835         Linux-specific subcase.
118836         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
118837         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
118838         acls are unsupported.
118839         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
118840         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
118841         are unsupported.
118843 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118845         Sync from coreutils.
118846         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
118848 2006-01-07  Bruno Haible  <bruno@clisp.org>
118850         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
118851         gl_EARLY.
118853 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118855         * lib/strftime.c (tzname): Don't declare if it is already #defined.
118856         Problem reported for Mingw by Mark Junker.
118858 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118860         * README: Gnulib normally doesn't generate a tarball.
118862 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
118864         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
118865         long int, not int, for nanosecond counts, so that people who are
118866         used to POSIX struct timespec won't be surprised.  Reported by Jim
118867         Meyering.
118869 2005-12-28  Bruno Haible  <bruno@clisp.org>
118871         * build-aux/config.rpath: Update from GNU gettext.
118873 2005-12-16  Jim Meyering  <jim@meyering.net>
118875         * modules/fprintftime: New module.
118876         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
118878 2005-12-16  Jim Meyering  <jim@meyering.net>
118880         * m4/fprintftime.m4: New file.
118882 2005-12-16  Jim Meyering  <jim@meyering.net>
118884         * lib/fprintftime.c, lib/fprintftime.h: New files.
118886 2005-12-15  Simon Josefsson  <jas@extundo.com>
118888         * modules/socklen (configure.ac): Fix M4 macro name, to align with
118889         new m4/socklen.m4.
118891 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118893         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
118894         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
118896 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118898         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
118899         * lib/argp-help.c (fill_in_uparams): Check if the constructed
118900         struct uparams is valid. Fall back to the default values if it is
118901         not.
118903 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118905         * modules/argp (Files): Add argp-pin.c
118906         (Depends-on): dirname
118907         (lib_SOURCES): Add argp-pin.c
118909 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118911         * m4/argp.m4:  Check if program_invocation_name and
118912         program_invocation_short_name are declared and define appropriate
118913         macros if they are not.
118915 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118917         * lib/argp-help.c (__argp_base_name): New function
118918         (__argp_short_program_name): Rewrite using __argp_base_name
118919         * lib/argp-namefrob.h: Define program_invocation_name and
118920         program_invocation_short_name if requested
118921         (__argp_base_name): Add prototype
118922         * lib/argp-parse.c (argp_def): Use gettext wrappers
118923         (argp_default_parser): Use __argp_base_name
118924         * lib/argp-pin.c: New file. Defines program_invocation_name and
118925         program_invocation_short_name on systems that lack them.
118927 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118929         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
118930         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118931         porting problem reported by Georg Schwarz in
118932         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118934 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118936         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
118937         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118938         porting problem reported by Georg Schwarz in
118939         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118941 2005-12-05  Bruno Haible  <bruno@clisp.org>
118943         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
118944         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
118945         Reported by Mark Junker <mjscod@gmx.de>.
118947 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
118949         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
118950         Use implementation from Albert Chin, with some
118951         comments/corrections by Stepan Kasal and myself.
118953 2005-12-02  Bruno Haible  <bruno@clisp.org>
118955         * gnulib-tool (func_import): Accept GPLed build tool modules when
118956         --lgpl is given.
118957         * modules/csharpcomp-script: New file.
118958         * modules/csharpcomp: Depend on it.
118959         * modules/javacomp-script: New file.
118960         * modules/javacomp: Depend on it.
118961         Suggested by Simon Josefsson.
118963 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
118965         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
118966         statement, to work around an HP-UX 10.20 compiler bug reported by
118967         Peter O'Gorman.
118969 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118971         * modules/savedir (Depends-on): Add openat.
118973 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118975         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
118976         (uintmax_t) [defined uintmax_t]: Do not declare.
118977         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
118978         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
118979         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
118980         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
118981         sake of portability to weird hosts that C allows (though we don't
118982         know of any practical examples).
118984         * lib/savedir.h (fdsavedir): New decl.
118985         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
118986         contains most of the former guts of savedir.
118987         (savedir): Use savedirstream.
118988         Include "openat.h".
118990 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
118992         * modules/obstack (Files): Add m4/ulonglong.m4.
118993         Problem reported by Davide Angelocola.
118995 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
118997         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
118998         coreutils no longer futzes with rounding modes.
119000 2005-11-14  Jim Meyering  <jim@meyering.net>
119002         * lib/mkstemp-safer.c: Include <config.h>, required for possible
119003         replacement of mkstemp.
119005 2005-11-10  Simon Josefsson  <jas@extundo.com>
119007         * lib/readline.c: Remove EOL.
119009 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119011         * modules/gethrxtime (Depends-on): Add gettime.
119013 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119015         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
119016         or gettimeofday; no longer needed.
119018 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
119020         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
119021         time business.
119022         (gethrxtime) [! (HAVE_NANOUPTIME
119023         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
119024         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
119025         our own approximation.
119027 2005-11-08  Eric Blake  <ebb9@byu.net>
119029         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119031 2005-11-08  Eric Blake  <ebb9@byu.net>
119033         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
119035 2005-11-04  Bruno Haible  <bruno@clisp.org>
119037         * gnulib-tool: Implement --update mode.
119039 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119041         Fix porting problem reported by Theodoros V. Kalamatianos.
119042         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
119043         Don't assume that futimes failing means we must fail.
119045 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119047         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
119048         variables to suggest the intended function of the PATH_MAX check.
119050 2005-10-30  Kean Johnston  <jkj@sco.com>
119052         Trivial changes to support SCO systems.
119053         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
119054         as PATH_MAX.
119055         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
119056         where __ptr is null when no I/O is pending.
119058 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
119060         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
119061         leave errno alone.  Problem reported by Dmitry V. Levin.
119063 2005-10-28  Simon Josefsson  <jas@extundo.com>
119065         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
119066         Test more.
119068         * tests/test-gc-md2.c, tests/test-md2.c: New files.
119070         * modules/md2, modules/md2-tests: New files.
119072 2005-10-28  Simon Josefsson  <jas@extundo.com>
119074         * m4/inet_ntop.m4: More tests.
119076         * m4/gc-md2.m4, md2.m4: New file.
119078 2005-10-28  Simon Josefsson  <jas@extundo.com>
119080         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
119081         "restrict" keywords, as per POSIX.  Protect the function
119082         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
119083         Don't use K&R prototypes.  Check the sprintf return values.
119084         Re-define EAFNOSUPPORT if not present.  Indent.
119086         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
119087         suggested by Bruno Haible <bruno@clisp.org>.
119089         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
119091         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
119093         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
119094         libgcrypt).
119096         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
119098         * lib/md2.h, lib/md2.c: New files.
119100 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
119102         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
119103         errno alone.  Problem reported by Frederic Jolliton.
119105 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
119107         * modules/verify (License): Change from GPL to LGPL.  This is a
119108         tiny module and there are apparently near-equivalents that are
119109         under the BSD license.
119111 2005-10-24  Simon Josefsson  <jas@extundo.com>
119113         * modules/sha1: Relicense to LGPL.
119115 2005-10-24  Simon Josefsson  <jas@extundo.com>
119117         * lib/md4.h: Shrink buffer size, now that we changed the type.
119119 2005-10-23  Simon Josefsson  <jas@extundo.com>
119121         * gnulib-tool (func_import): Fix --tests-base.
119123 2005-10-22  Simon Josefsson  <jas@extundo.com>
119125         * modules/arcfour (Depends-on): Need stdint.
119127 2005-10-22  Simon Josefsson  <jas@extundo.com>
119129         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
119130         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
119132 2005-10-22  Simon Josefsson  <jas@extundo.com>
119134         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
119135         suggested by Bruno Haible <bruno@clisp.org>.
119137 2005-10-22  Simon Josefsson  <jas@extundo.com>
119139         * lib/crc.h: Include stddef.h, for size_t.
119141 2005-10-22  Simon Josefsson  <jas@extundo.com>
119143         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
119144         arcfour_context struct (simplify test vector testing in GNU
119145         Shishi).
119147 2005-10-21  Simon Josefsson  <jas@extundo.com>
119149         * modules/des, modules/des-tests: New files.
119151         * modules/gc-des, modules/gc-des-tests: New files.
119153         * tests/test-des.c, tests/test-gc-des.c: New file.
119155 2005-10-21  Simon Josefsson  <jas@extundo.com>
119157         * modules/arctwo, modules/arctwo-tests: New files.
119159         * tests/test-arctwo.c: New file.
119161         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
119163         * tests/test-gc-arctwo.c: New file.
119165 2005-10-21  Simon Josefsson  <jas@extundo.com>
119167         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
119168         Bruno Haible <bruno@clisp.org>.
119170         * m4/gc-des.m4: New file.
119172 2005-10-21  Simon Josefsson  <jas@extundo.com>
119174         * m4/arctwo.m4: New file.
119176         * m4/gc-arctwo.m4: New file.
119178 2005-10-21  Simon Josefsson  <jas@extundo.com>
119180         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
119181         block.
119183 2005-10-21  Simon Josefsson  <jas@extundo.com>
119185         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
119186         <bruno@clisp.org>.
119188         * lib/hmac-sha1.c (hmac_sha1): Likewise.
119190         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
119191         Bruno Haible <bruno@clisp.org>.
119193         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
119194         <bruno@clisp.org>.
119196 2005-10-21  Simon Josefsson  <jas@extundo.com>
119198         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
119200 2005-10-21  Simon Josefsson  <jas@extundo.com>
119202         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
119204 2005-10-21  Simon Josefsson  <jas@extundo.com>
119206         * lib/des.h, lib/des.c: New files.
119208         * lib/gc-gnulib.c: Support DES.c
119210 2005-10-21  Simon Josefsson  <jas@extundo.com>
119212         * lib/arctwo.h, lib/arctwo.c: New files.
119214         * lib/gc-gnulib.c: Support ARCTWO.
119216 2005-10-21  Simon Josefsson  <jas@extundo.com>
119218         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
119219         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
119221 2005-10-21  Simon Josefsson  <jas@extundo.com>
119223         * gnulib-tool (func_import, func_create_testdir): Define automake
119224         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
119225         Makefile.am snippet),
119226         suggested by Bruno Haible <bruno@clisp.org>.
119228         * modules/gc (Makefile.am): Use it.
119230 2005-10-21  Bruno Haible  <bruno@clisp.org>
119232         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
119233         patch.
119235 2005-10-19  Simon Josefsson  <jas@extundo.com>
119237         * tests/test-gc-rijndael.c: New file.
119239         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
119241 2005-10-19  Simon Josefsson  <jas@extundo.com>
119243         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
119244         interface too.
119246 2005-10-19  Simon Josefsson  <jas@extundo.com>
119248         * tests/test-gc-arcfour.c: New file.
119250         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
119252 2005-10-19  Simon Josefsson  <jas@extundo.com>
119254         * modules/gc-md4, modules/gc-md4-tests: New file.
119256         * tests/test-gc-md4.c: New file.
119258 2005-10-19  Simon Josefsson  <jas@extundo.com>
119260         * m4/gc-md4.m4: New file.
119262 2005-10-19  Simon Josefsson  <jas@extundo.com>
119264         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
119265         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
119266         <kasal@ucw.cz>.
119268 2005-10-19  Simon Josefsson  <jas@extundo.com>
119270         * m4/gc-arcfour.m4: New file.
119272         * m4/gc-rijndael.m4: New file.
119274 2005-10-19  Simon Josefsson  <jas@extundo.com>
119276         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
119278 2005-10-19  Simon Josefsson  <jas@extundo.com>
119280         * lib/gc-gnulib.c: Support ARCFOUR.
119282 2005-10-19  Simon Josefsson  <jas@extundo.com>
119284         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
119285         support.
119287         * lib/gc.h: Add ECB enum type.
119289         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
119291 2005-10-18  Simon Josefsson  <jas@extundo.com>
119293         * tests/test-md5.c: New file.
119295         * modules/md5-tests: New file.
119297 2005-10-18  Simon Josefsson  <jas@extundo.com>
119299         * tests/test-md4.c: New file.
119301         * modules/md4, modules/md4-tests: New files.
119303 2005-10-18  Simon Josefsson  <jas@extundo.com>
119305         * m4/md4.m4: New file.
119307 2005-10-18  Simon Josefsson  <jas@extundo.com>
119309         * lib/md4.h, lib/md4.c: New files, based on md5.?.
119311 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
119313         * gnulib-tool (func_create_testdir): Omit the second check whether
119314         BUILT_SOURCES in nonempty.
119316 2005-10-17  Simon Josefsson  <jas@extundo.com>
119318         * tests/test-rijndael.c: New file.
119320 2005-10-17  Simon Josefsson  <jas@extundo.com>
119322         * modules/sha1: Depend on stdint instead of md5.
119324         * modules/md5: Depend on stdint, remove uint32_t.
119326 2005-10-17  Simon Josefsson  <jas@extundo.com>
119328         * modules/gc-sha1-tests: New file.
119330         * tests/test-gc-sha1.c: New file.
119332 2005-10-17  Simon Josefsson  <jas@extundo.com>
119334         * m4/md5.m4: Remove call to uint32_t.m4.
119336 2005-10-17  Simon Josefsson  <jas@extundo.com>
119338         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
119340         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
119341         md5.h.
119343         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
119345         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
119347 2005-10-17  Simon Josefsson  <jas@extundo.com>
119349         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
119351 2005-10-17  Simon Josefsson  <jas@extundo.com>
119353         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
119355 2005-10-17  Simon Josefsson  <jas@extundo.com>
119357         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
119359         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
119361 2005-10-17  Bruno Haible  <bruno@clisp.org>
119363         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
119364         that it can also be used in a test.
119366 2005-10-16  Bruno Haible  <bruno@clisp.org>
119368         * gnulib-tool (func_emit_tests_Makefile_am): Also define
119369         TESTS_ENVIRONMENT, so that individual tests can augment it.
119371         * gnulib-tool (func_create_testdir): Use an intermediate target for
119372         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
119373         macros, like $(ALLOCA_H), which cannot be passed through the command
119374         line.
119376 2005-10-15  Simon Josefsson  <jas@extundo.com>
119378         * modules/rijndael-tests: New file.
119380         * modules/rijndael: New file.
119382 2005-10-15  Simon Josefsson  <jas@extundo.com>
119384         * m4/rijndael.m4: New file.
119386 2005-10-15  Simon Josefsson  <jas@extundo.com>
119388         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
119390         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
119392 2005-10-14  Simon Josefsson  <jas@extundo.com>
119394         * tests/test-arcfour.c: New file.
119396         * modules/arcfour, modules/arcfour-tests: New files.
119398 2005-10-14  Simon Josefsson  <jas@extundo.com>
119400         * m4/arcfour.m4: New file.
119402 2005-10-14  Simon Josefsson  <jas@extundo.com>
119404         * lib/arcfour.h, lib/arcfour.c: New files.
119406 2005-10-14  Roland McGrath  <roland@redhat.com>
119408         Import from libc.  [BZ #1331]
119409         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
119410         macro argument.
119411         Reported by Matej Vela <vela@debian.org>.
119413 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119415         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
119416         include <wchar.h>; no longer needed.
119418 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119420         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
119422 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
119423         and  Ulrich Drepper  <drepper@redhat.com>
119425         Import from libc.
119426         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
119427         instead of inline stream orientation test and two separate
119428         function calls.  Pay no attention to USE_IN_LIBIO.
119430 2005-10-13  Simon Josefsson  <jas@extundo.com>
119432         * modules/gc-hmac-md5-tests: New file.
119434         * tests/test-gc-hmac-sha1.c: New file.
119436         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
119438         * modules/gc-hmac-md5-tests: New file.
119440         * tests/test-gc-md5.c: New file.
119442         * modules/gc-md5-tests: New file.
119444 2005-10-13  Simon Josefsson  <jas@extundo.com>
119446         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
119447         Move memory allocation outside of loop.
119449 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
119451         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
119452         intermediate directory is in a read-only file system.  Problem
119453         reported by Eric Blake.
119455 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
119457         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
119459 2005-10-12  Simon Josefsson  <jas@extundo.com>
119461         * tests/test-hmac-sha1.c: New file.
119463         * modules/hmac-sha1-tests: New file.
119465         * modules/hmac-sha1: New file.
119467 2005-10-12  Simon Josefsson  <jas@extundo.com>
119469         * modules/gc-sha1: New file.
119471 2005-10-12  Simon Josefsson  <jas@extundo.com>
119473         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
119475         * tests/test-gc-pbkdf2-sha1.c: New file.
119477 2005-10-12  Simon Josefsson  <jas@extundo.com>
119479         * modules/gc-md5, modules/gc-hmac-md5: New files.
119481         * modules/gc (Files): Remove md5, memxor and hmac files.
119483 2005-10-12  Simon Josefsson  <jas@extundo.com>
119485         * m4/gc-pbkdf2-sha1.m4: New file.
119487         * m4/gc-hmac-sha1.m4: New file.
119489         * m4/gc-sha1: New file.
119491         * m4/hmac-sha1.m4: New file.
119493 2005-10-12  Simon Josefsson  <jas@extundo.com>
119495         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
119497         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
119499 2005-10-12  Simon Josefsson  <jas@extundo.com>
119501         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
119502         suggested by Bruno Haible <bruno@clisp.org>.
119504 2005-10-12  Simon Josefsson  <jas@extundo.com>
119506         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
119508 2005-10-12  Simon Josefsson  <jas@extundo.com>
119510         * lib/gc-pbkdf2-sha1.c: New file.
119512         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
119514 2005-10-12  Simon Josefsson  <jas@extundo.com>
119516         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
119518         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
119520 2005-10-12  Simon Josefsson  <jas@extundo.com>
119522         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
119523         GC_USE_HMAC_MD5, respectively.
119525         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
119526         (gc_md5): Fix typo.
119528         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
119530         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
119532         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
119534 2005-10-12  Bruno Haible  <bruno@clisp.org>
119536         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
119537         Reported by Stepan Kasal <kasal@ucw.cz>.
119539 2005-10-11  Simon Josefsson  <jas@extundo.com>
119541         * tests/test-crc.c: New file.
119543         * modules/crc, modules/crc-tests: New files.
119545 2005-10-11  Simon Josefsson  <jas@extundo.com>
119547         * m4/crc.m4: New file.
119549 2005-10-11  Simon Josefsson  <jas@extundo.com>
119551         * lib/gc.h: Add gc_hash and gc_hash_buffer.
119553         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
119555         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
119557 2005-10-11  Simon Josefsson  <jas@extundo.com>
119559         * lib/crc.h, lib/crc.c: New files.
119561         * lib/gc.h (gc_hash_buffer): Add doc.
119563 2005-10-11  Bruno Haible  <bruno@clisp.org>
119565         * modules/c-strcasestr: New file.
119566         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
119568 2005-10-11  Bruno Haible  <bruno@clisp.org>
119570         * modules/c-strcase: New file.
119571         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
119573 2005-10-11  Bruno Haible  <bruno@clisp.org>
119575         * lib/strcasecmp.c: Include limits.h.
119576         (strcasecmp): Avoid integer overflow on exotic platforms.
119577         * lib/strncasecmp.c: Include limits.h.
119578         (strncasecmp): Avoid integer overflow on exotic platforms.
119579         Reported by Paul Eggert.
119581 2005-10-11  Bruno Haible  <bruno@clisp.org>
119583         * lib/c-strcasestr.h: New file, from GNU gettext.
119584         * lib/c-strcasestr.c: New file, from GNU gettext.
119586 2005-10-11  Bruno Haible  <bruno@clisp.org>
119588         * lib/c-strcase.h: New file, from GNU gettext.
119589         * lib/c-strcasecmp.c: New file, from GNU gettext.
119590         * lib/c-strncasecmp.c: New file, from GNU gettext.
119592 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
119594         * modules/mempcpy (License): GPL -> LGPL.
119595         * modules/strchrnul (License): Likewise.
119596         * modules/sysexits (License): Likewise.
119598 2005-10-08  Simon Josefsson  <jas@extundo.com>
119600         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
119602 2005-10-07  Simon Josefsson  <jas@extundo.com>
119604         * m4/memxor.m4: Remove gl_C_RESTRICT call.
119606 2005-10-06  Simon Josefsson  <jas@extundo.com>
119608         * tests/test-hmac-md5.c: New file.
119610         * modules/hmac-md5-tests: New file.
119612         * modules/hmac-md5: New file.
119614 2005-10-06  Simon Josefsson  <jas@extundo.com>
119616         * m4/hmac-md5.m4: New file.
119618         * m4/memxor.m4: Require gl_C_RESTRICT.
119620 2005-10-06  Simon Josefsson  <jas@extundo.com>
119622         * lib/memxor.c (memxor): Avoid casts and warnings.
119624 2005-10-06  Simon Josefsson  <jas@extundo.com>
119626         * lib/hmac-md5.c: New file.
119628         * lib/hmac.h: New file.
119630 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
119632         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
119633         promotes to int, not unsigned int, to catch the AIX 5.3
119634         compiler bug.
119636 2005-10-05  Simon Josefsson  <jas@extundo.com>
119638         * modules/memxor: New file.
119640         * modules/iconv (Files): Move config.rpath to havelib, it is used
119641         there.
119643         * modules/havelib (Files): Add config.rpath.
119645 2005-10-05  Simon Josefsson  <jas@extundo.com>
119647         * m4/memxor.m4: New file.
119649 2005-10-05  Simon Josefsson  <jas@extundo.com>
119651         * lib/memxor.c (memxor): Fix compiler error.
119653         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
119654         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
119656         * lib/memxor.h, lib/memxor.c: New files.
119658         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
119659         we assume all systems have it, suggested by Jim Meyering
119660         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
119661         any systems lack sys/socket.h; mingw32 is known to lack it, but we
119662         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
119663         same reasons.
119665 2005-10-05  Simon Josefsson  <jas@extundo.com>
119667         * config/srclist.txt: Add glibc bug 1423 for md5.h.
119669 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
119671         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
119672         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
119673         needed, since the source code now assumes these .h files.
119675 2005-10-05  Derek Price  <derek@ximbiot.com>
119677         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
119679 2005-10-05  Bruno Haible  <bruno@clisp.org>
119681         * modules/stdint (License): Change to LGPL.
119683 2005-10-04  Simon Josefsson  <jas@extundo.com>
119685         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
119686         D. Baushke" <mdb@gnu.org>.
119688 2005-10-04  Bruno Haible  <bruno@clisp.org>
119690         * lib/verify.h (verify_true): Provide alternative definition for C++.
119692 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
119694         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
119695         (SSIZE_MAX): New macro, if not already defined.
119696         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
119697         than 2 GiB.
119699 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119701         Sync from coreutils.
119702         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
119703         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
119704         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
119705         ULLONG_MAX doesn't work with 2.7.2.1.
119707 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119709         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
119710         From Ben Pfaff.
119712         * modules/exclude (Depends-on): Depend on verify.
119713         * modules/strtoimax (Depends-on): Likewise.
119714         * modules/utimecmp (Depends-on): Likewise.
119716 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119718         * lib/exclude.c: Include verify.h.
119719         (verify): Remove.  All callers changed to use verify.h's version.
119720         * lib/strtoimax.c: Likewise.
119721         * lib/utimecmp.c: Likewis.e
119723         Sync from coreutils.
119724         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
119725         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
119726         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
119727         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
119728         bother returning ENOSYS if settimeofday or stime fails; just let
119729         them return whatever errno they want to return.
119730         * lib/utimens.c: Include unistd.h, for dup2.
119731         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
119732         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
119734 2005-10-02  Jim Meyering  <jim@meyering.net>
119736         Sync from coreutils.
119737         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
119738         from glibc-2.2.5 that fails for read-only files.
119740 2005-10-02  Jim Meyering  <jim@meyering.net>
119742         Sync from coreutils.
119743         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
119744         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
119745         `#if HAVE_CONFIG_H'.
119746         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
119747         Remove AT_FDCWD test.
119748         Do not consume the fd unless successful.
119749         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
119750         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
119751         block, so that we don't even try to compile it if settimeofday is
119752         available.  This works around a compilation failure on OSF1 V5.1,
119753         due to stime requiring a `long int*' while tv_sec is `int'.
119755 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
119757         Sync from coreutils.
119758         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
119759         against `yes', rather than just testing for nonempty.
119761 2005-10-01  Simon Josefsson  <jas@extundo.com>
119763         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
119764         and Darwin.
119766         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
119767         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
119768         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
119769         freeaddrinfo and gai_strerror are declared by the POSIX headers.
119770         Check if struct addrinfo is declared.
119772 2005-10-01  Simon Josefsson  <jas@extundo.com>
119774         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
119775         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
119776         AI_* and EAI_* definitions.  Protect function declarations.
119778 2005-10-01  Jim Meyering  <jim@meyering.net>
119780         Sync from coreutils.
119782         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
119783         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
119784         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
119785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119786         in the inet and nsl libraries.  Required on Solaris 5.7.
119788 2005-10-01  Jim Meyering  <jim@meyering.net>
119790         Sync from coreutils.
119791         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119792         in the inet and nsl libraries.  Required on Solaris 5.7.
119794 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
119796         * lib/getdelim.c (getdelim): Remove unused variables.
119798 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
119800         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
119801         so that the code works even with ancient cpp.  Portability problem
119802         with GCC 2.7.2.1 reported by Thomas M.Ott.
119804 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
119806         * modules/regex (Depends-on): Add strcase.
119808         * modules/gethostname (Licence): Change from GPL to LGPL, since
119809         gethostname.c is a trivial implementation of a standard library
119810         function.
119811         * modules/poll (License): Change from GPL to LGPL, since it's
119812         derived from LGPL code.
119814 2005-09-27  Jim Meyering  <jim@meyering.net>
119816         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
119817         HAVE_CONFIG_H.
119819         * lib/intprops.h (signed_type_or_expr__): Define.
119820         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
119821         for unsigned types.
119823 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
119825         * lib/verify.h (verify_expr): Remove, replacing with:
119826         (verify_true): New macro that returns true instead of void.
119827         (verify_type__): Remove.
119828         (verify): Use verify_true rather than verify_type__.
119830 2005-09-26  Bruno Haible  <bruno@clisp.org>
119832         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
119833         is necessary.
119834         (lib_SOURCES): Remove mbchar.c.
119835         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
119836         (Files): Add m4/mbrtowc.m4.
119837         * modules/mbiter: Likewise.
119838         * modules/mbuiter: Likewise.
119840 2005-09-26  Bruno Haible  <bruno@clisp.org>
119842         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
119843         compile mbchar.c if they are not both present.
119844         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
119845         * m4/mbiter.m4 (gl_MBITER): Likewise.
119846         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
119847         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
119848         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
119850 2005-09-25  Jim Meyering  <jim@meyering.net>
119852         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
119853         also uses socklen_t.
119855 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
119857         * lib/utimens.c (ENOSYS): Define if not already defined.
119858         (futimens): Support having a null PATH if the file descriptor
119859         is nonnegative.
119861         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
119862         Remove.
119863         (__attribute): Define to empty unless GCC 3.1 or later.
119864         This works around a core dump on OpenBSD 3.4, which has GCC
119865         2.95.3, which dumps core when given __attribute__(()).  It also
119866         simplifies other tests, since we really don't want to bother with
119867         worrying about which ancient version of GCC supported what.
119868         Original problem reported by Yoann Vandoorselaere, with part of
119869         the fix suggested by Derek Price.
119871 2005-09-24  Jim Meyering  <jim@meyering.net>
119873         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
119874         so we can once again use a positive bitfield width of 1 -- now we
119875         don't have to explain why we were using a bitfield width of 2.
119877 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119879         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
119880         and similarly for the other external symbols.  Problem reported
119881         by James Gallager.
119883         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
119884         bug reported by Jim Meyering.
119886         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
119887         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
119888         not needed, since socklen is a prerequisite module.
119890 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119892         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
119893         Problem reported by Eric Blake.
119894         (getaddrinfo): Initialize se so that it's not garbage.
119895         Redo internal storage allocation so that it doesn't make unportable
119896         assumptions about alignment.
119897         Fix a memory leak.
119899         * lib/utimens.c (futimens): Use futimesat if available.
119900         Prefer it to futimes since it doesn't have the futimes bug.
119902         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
119903         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
119904         Instead, declare a function that returns a pointer to an array,
119905         and use verify_type__ to declare the size of the array.
119906         Problem and germ of a solution reported by Bruno Haible.
119907         (verify_type__): Use 2, not 1, for bitfield size, to avoid
119908         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
119910 2005-09-23  Jim Meyering  <jim@meyering.net>
119912         Sync from coreutils.
119913         Correct build failure (socklen_t not defined) on at least
119914         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
119915         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
119917 2005-09-23  Jim Meyering  <jim@meyering.net>
119919         * modules/getaddrinfo (Depends-on): Add socklen.
119921 2005-09-23  Bruno Haible  <bruno@clisp.org>
119923         * tests/test-verify.c: New file.
119925 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119927         Sync from coreutils.
119929         * modules/argmatch (Depends-on): Add verify.
119930         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
119931         unistd-safer.
119932         * modules/save-cwd (Depends-on): Likewise.
119934         * modules/openat (Files): Add lib/openat-die.c.
119935         (Depends-on): Remove error, exitfail.
119936         Add dirname.
119938         * modules/verify: New file.
119939         * MODULES.html.sh (Diagnostics <assert.h>): New section,
119940         with "verify" module.
119942 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119944         Sync from coreutils.
119946         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
119947         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
119948         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
119949         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
119950         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
119951         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
119952         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
119953         Don't bother checking for string.h, stdlib.h, unistd.h.
119954         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
119955         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
119956         module's job.
119957         * m4/jm-macros.m4 (gl_MACROS): Likewise.
119958         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
119960         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
119961         (gl_GETDATE): Use it.
119963         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
119965 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119967         Sync from coreutils.
119969         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
119970         stat-time.h.
119971         * lib/argmatch.h: Include verify.h
119972         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
119973         (ARGMATCH_ASSERT): Remove; unused.
119974         * lib/canonicalize.c: Assume STDC_HEADERS.
119975         * lib/exclude.c: Include "strcase.h".
119976         * lib/regex_internal.h [!defined _LIBC]: Likewise.
119977         * lib/getusershell.c: Include stdio--.h rather than stdio.h
119978         and stdio-safer.h.
119979         (getusershell): Call fopen, not fopen_safer.
119980         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
119981         Do not include unistd-safer.h.
119982         (save_cwd): Don't call fd_safer; no longer needed
119983         now that we include fcntl--.h.
119985         * lib/getdate.y (relative_time): New type.
119986         (RELATIVE_TIME_0): New constant.
119987         (parser_control): Use relative_time instead of doing it ourselves.
119988         (%union): Add new relative_time rel member.
119989         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
119990         Now typeless.
119991         (relunit, relunit_snumber): Now of type rel.
119992         (zone, rel, relunit, get_date): Adjust to above changes.
119994         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
119995         Do not include unistd-safer.h.
119996         (getloadavg): Don't call fd_safer; no longer needed
119997         now that we include fcntl--.h.
119999         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
120000         (make_dir_parents): Treat ENOSYS like EEXIST.
120002         Improve quality of diagnostics on restore_cwd failure.
120003         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
120004         (make_dir_parents): Last arg is now int * (for errno), not bool *.
120005         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
120006         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
120007         each time through the loop.  Do not diagnose restore_cwd failure;
120008         that is the caller's job (and perhaps the caller does not care).
120010         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
120011         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
120012         If the file already exists but is not a directory, don't bother
120013         to try to make its parents.
120014         Close potential file descriptor leak if we can't chdir("/") (!).
120015         Don't always return true if chdir($PWD) fails; return true only
120016         if the requested action was done successfully (except for the
120017         chdir($PWD)).
120018         Don't log final directory unless we actually made it.
120019         Refactor to avoid duplicate code to fix up permissions.
120020         Don't attempt to fix up parent permissions if chdir($PWD) fails.
120022         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
120023         to make it a bit faster and (I hope) clearer.
120024         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
120025         Fix bug in formats like %2N.
120027         * lib/verify.h: New file.
120029 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
120031         Sync from coreutils.
120032         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
120034 2005-09-22  Jim Meyering  <jim@meyering.net>
120036         Sync from coreutils.
120038         * m4/lstat.m4 (gl_FUNC_LSTAT):
120039         Use AC_LIBSOURCES to require lstat.c and lstat.h.
120040         Remove obsolete comment.
120041         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
120042         * m4/xstrtod.m4: Likewise.
120044         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
120046 2005-09-22  Jim Meyering  <jim@meyering.net>
120048         Sync from coreutils.
120050         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
120052         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
120053         the .tm_year member, since otherwise gcc-4.0 would now warn about
120054         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
120056         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
120057         order to avoid an unsuppressible warning from gcc on 64-bit systems.
120059         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
120060         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
120061         when run in a time zone for which daylight savings time is in effect
120062         for the starting date.
120064         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
120065         stop us from restricting permissions of just-created absolute-named
120066         directories.
120067         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
120068         to restore initial working directory.
120069         * lib/mkdir-p.c (make_dir_parents): New parameter:
120070         different_working_dir, to tell caller if/when we change the working
120071         directory and are unable to return to the initial one.
120072         * lib/mkdir-p.h (make_dir_parents): Update prototype.
120073         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
120074         `return false'.  This fixes a bug introduced on 2004-07-30.
120076         * lib/openat.c (fdopendir): Be sure to close the supplied
120077         file descriptor before returning.  This makes our replacement
120078         implementation a little closer to Solaris's, where fdopendir
120079         ties the file descriptor to the returned DIR* pointer.
120080         * lib/openat.c (unlinkat): New function.
120081         * lib/openat.h (unlinkat): Add prototype.
120082         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
120083         (openat_restore_fail): Rename from openat_restore_die.
120084         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
120086         Provide an alternative to exiting immediately upon save_cwd or
120087         restore_cwd failure.  Now, an application can arrange e.g.,
120088         to perform a longjump in that case.
120089         * lib/openat.c: Include dirname.h.
120090         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
120091         (rpl_openat, fdopendir, fstatat): Call openat_save_die
120092         and openat_restore_die rather than calling error directly.
120093         Don't include "error.h" or "exitfail.h"; they're no longer needed.
120095         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
120096         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
120097         define.
120099         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
120100         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
120101                             int utc, int nanoseconds);
120102         Background:
120103         date should not have to allocate a megabyte of virtual memory to
120104         handle a format argument like +%1048575T.  When implemented with
120105         strftime, it must allocate such a buffer, use strftime to fill it
120106         in, print it, then free it.
120107         With fprintftime, it simply prints everything and exits.
120108         With no need for memory allocation, that's one fewer way to fail.
120109         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
120110         optional field width, not before, so we accept %9:z, not %:9z.
120111         (my_strftime): Be sure to use L_('x') for literals.
120113         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
120114         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
120115         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
120116         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
120117         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
120118         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
120119         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
120120         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
120121         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
120122         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
120123         * lib/xgethostname.c, lib/xreadlink.c:
120124         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
120126         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
120127         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
120128         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
120129         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
120130         and don't include <sys/file.h>).
120132 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
120134         Sync from coreutils.
120136         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
120137         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
120138         [!LDAV_DONE]: Avoid unused variable warning.
120140 2005-09-21  Bruno Haible  <bruno@clisp.org>
120142         * lib/unicodeio.h (unicode_to_mb): New declaration.
120144 2005-09-20  Derek Price  <derek@ximbiot.com>
120146         * lib/getaddrinfo.c: Don't include <netdb.h> included from
120147         getaddrinfo.h.
120149 2005-09-20  Bruno Haible  <bruno@clisp.org>
120151         * gnulib-tool: Remove trailing slashes from the values specified for
120152         --source-base, --m4-base, --tests-base, --aux-dir.
120153         Suggested by Simon Josefsson <jas@extundo.com>.
120155 2005-09-20  Bruno Haible  <bruno@clisp.org>
120157         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
120158         func_modules_to_filelist, func_import, func_create_testdir): Make all
120159         sorting results locale-independent, so that gnulib-cache.m4 doesn't
120160         change when gnulib-tool is invoked in a different locale.
120162 2005-09-19  Simon Josefsson  <jas@extundo.com>
120164         * m4/socklen.m4: Fix typo.
120166 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
120168         Use a consistent style for including <config.h>.
120169         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
120170         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
120171         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
120172         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
120173         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
120174         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
120175         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
120176         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
120177         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
120178         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
120179         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
120180         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
120181         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
120182         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
120183         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
120184         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
120185         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
120186         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
120187         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
120188         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
120189         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
120190         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
120191         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
120192         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
120193         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
120194         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
120195         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
120196         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
120197         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
120198         lib/xstrtoumax.c, lib/yesno.c:
120199         Standardize inclusion of config.h.
120200         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
120201         lib/inttostr.h:  Removed inclusion of config.h from header files.
120202         * lib/inttostr.c:  Adjusted in-tree users.
120203         * lib/timespec.h: Remove superfluous warning to include config.h.
120204         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
120205         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
120206         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
120207         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
120208         config.h with HAVE_CONFIG_H.
120210 2005-09-19  Jim Meyering  <jim@meyering.net>
120212         * modules/pathmax (License): Change to LGPL.
120214 2005-09-19  Derek Price  <derek@ximbiot.com>
120216         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
120218 2005-09-19  Bruno Haible  <bruno@clisp.org>
120220         * gnulib-tool (import): Provide default for --tests-base.
120222 2005-09-19  Bruno Haible  <bruno@clisp.org>
120224         * doc/quote.texi: New file, extracted from gnulib.texi.
120225         * doc/ctime.texi: New file, extracted from gnulib.texi.
120226         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
120227         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
120228         * doc/gnulib.texi: Include them.
120230 2005-09-18  Bruno Haible  <bruno@clisp.org>
120232         Portability fix.
120233         * gnulib-tool (func_readlink): New function.
120234         (func_ln_if_changed): Use it.
120236 2005-09-18  Bruno Haible  <bruno@clisp.org>
120238         * gnulib-tool: Support --with-tests also with --import.
120239         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
120240         (func_import): Use variables $testsbase and $inctests. Emit a
120241         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
120242         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
120243         SUBDIRS += $testsdir.
120244         (func_create_testdir): Update.
120246 2005-09-18  Bruno Haible  <bruno@clisp.org>
120248         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
120249         instead of $dry_run.
120250         (func_cp_if_changed, func_mv_if_changed): Remove functions.
120251         (func_ln_if_changed): Don't handle dry-run here.
120252         (func_import): In dry-run mode, detect more precisely which actions
120253         would be performed, and don't use "...ing" verbs.
120255 2005-09-18  Bruno Haible  <bruno@clisp.org>
120257         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
120258         (func_import): Use join on two temporary files instead of three nested
120259         loops, in order to determine which files are new or old.
120261 2005-09-18  Bruno Haible  <bruno@clisp.org>
120263         * gnulib-tool (func_import): Comment out code that spits out the
120264         new files with --dry-run.
120266 2005-09-18  Bruno Haible  <bruno@clisp.org>
120268         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
120270 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120272         * lib/stat-time.h: New file.
120273         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
120274         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
120275         in a different way.
120276         (timespec_cmp): New function.
120277         * lib/utimecmp.c: Include stat-time.h.
120278         (SYSCALL_RESOLUTION): Depend on whether various struct stat
120279         members exist, not on the obsolescent ST_MTIM_NSEC.
120280         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
120282 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120284         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
120286 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120288         * MODULES.html.sh (File system functions): Add stat-time.
120289         * modules/stat-time: New file.
120290         * modules/timespec (Files): Remove m4/st_mtim.m4; this
120291         is now done in a different way, by the stat-time module.
120292         * modules/utimecmp (Depends-on): Add stat-time.
120294 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
120296         * m4/st_mtim.m4: Remove.  Superseded by...
120297         * m4/stat-time.m4: New file.
120298         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
120299         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
120301 2005-09-15  Derek Price  <derek@ximbiot.com>
120303         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
120305 2005-09-15  Derek Price  <derek@ximbiot.com>
120307         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
120308         * lib/regex_internal.c: Ditto, using this...
120309         (__GNUC_PREREQ): ...new macro.
120310         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
120311         using...
120312         (__GNUC_PREREQ): ...this new macro.
120314         * lib/strstr.h: Include string.h. Define strstr as a macro here.
120316 2005-09-15  Derek Price  <derek@ximbiot.com>
120317             Paul Eggert  <eggert@cs.ucla.edu>
120319         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
120320         changes, consolidating in...
120321         * lib/regex_internal.h: ...this file.
120323 2005-09-13  Jim Meyering  <jim@meyering.net>
120325         * lib/canon-host.c: Filter through gnu indent and reword comments
120326         slightly.
120327         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
120329 2005-09-13  Derek Price  <derek@ximbiot.com>
120331         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
120332         failure.
120333         Reported by Jim Meyering  <jim@meyering.net>.
120335 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120337         * lib/base64.c: Typo.
120338         (base64_encode): Put b64str in initialized data section.
120340 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
120342         Merge glibc and coreutils changes into gnulib, plus a few
120343         extra fixes.
120344         * lib/md5.c: Use #error rather than a string.
120345         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
120346         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
120347         (__attribute__): Define to empty for non recent-GCC.
120348         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
120349         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
120350         Renamed from their non-__ counterparts, with new macros replacing
120351         them if not _LIBC.  Add __THROW attribute.
120352         (rol): Remove.
120353         (struct md5_ctx): Align buffer if using GCC.
120354         * lib/sha1.h (struct sha1_ctx): Likewise.
120355         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
120356         The old name was backwards.
120357         (NOTSWAP): Remove; not used.
120358         (rol): New macro, moved here from md5.h.
120359         (sha1_process_block): Remove a FIXME that doesn't make sense.
120361 2005-09-12  Derek Price  <derek@ximbiot.com>
120363         Return usable errors from canon-host.
120364         * lib/canon-host.h: New file.
120365         * lib/canon-host.c (canon_host): Wrap...
120366         (canon_host_r): ...this new function, which now relies exclusively on
120367         getaddrinfo.
120368         (ch_strerror): New function.
120369         (last_cherror): New global.
120370         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
120371         interface.
120372         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
120373         void *.
120374         (freeaddrinfo): Free ai->ai_canonname when set.
120376 2005-09-12  Derek Price  <derek@ximbiot.com>
120378         Make canon-host require getaddrinfo.
120379         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
120380         AC_LIBSOURCE canon-host.h.  Call...
120381         (gl_PREREQ_CANON_HOST): ...this new function, which requires
120382         gl_GETADDRINFO.
120383         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
120385 2005-09-12  Derek Price  <derek@ximbiot.com>
120387         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
120388         LGPL.
120389         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
120391 2005-09-12  Derek Price  <derek@ximbiot.com>
120393         * lib/gai_strerror.c: Include config.h when available.  Include
120394         getaddrinfo.h before other headers to test interface.
120395         Reported by Larry Jones <lawrence.jones@ugs.com>.
120397 2005-09-12  Derek Price  <derek@ximbiot.com>
120398             Paul Eggert  <eggert@cs.ucla.edu>
120400         * modules/glob (Files): Add glob-libc.h.
120402 2005-09-12  Derek Price  <derek@ximbiot.com>
120403             Paul Eggert  <eggert@cs.ucla.edu>
120405         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
120406         glob_.h, glob-libc.h.
120407         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
120409 2005-09-12  Derek Price  <derek@ximbiot.com>
120410             Paul Eggert  <eggert@cs.ucla.edu>
120412         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
120413         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
120414         protecting things that should be done only in gnulib contexts.
120415         * lib/glob_.h: New file, containing only the glob things needed for
120416         gnulib.
120417         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
120418         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
120419         (glob, globfree, glob_pattern_p): Now defined simply in terms of
120420         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
120421         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
120422         and to respect the namespace rules better.
120424 2005-09-08  Simon Josefsson  <jas@extundo.com>
120426         * modules/socklen: New file.
120428 2005-09-08  Simon Josefsson  <jas@extundo.com>
120430         * m4/socklen.m4: New file.
120432 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120434         * modules/utimens (Files): Add m4/utimbuf.m4, since
120435         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
120436         Reported by Sergey Poznyakoff.
120438 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120440         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
120441         definitions, since that's the preferred style in glibc.
120442         Fix a minor spacing issue, and update copyright notice to match
120443         glibc's.
120445 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120447         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
120449 2005-09-06  Simon Josefsson  <jas@extundo.com>
120451         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
120452         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
120454 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120456         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
120457         warning.
120459 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120461         * config/srclist.txt: Add glibc bug 1302.
120463 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
120465         Change bitset word type from unsigned int to unsigned long int,
120466         as this has better performance on typical 64-bit hosts.
120467         Port bitset code to hosts with unusual word sizes.
120468         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
120469         (build_collating_symbol):
120470         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
120471         argument is a bitset.  This is merely a style issue, but it makes
120472         it clearer that an entire array is expected.
120473         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
120474         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
120475         Port to the case where bitset_word is not the same as unsigned int.
120476         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120477         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
120478         Likewise.
120479         * lib/regexec.c (check_dst_limits_calc_pos_1,
120480         check_subexp_matching_top):
120481         (build_trtable, group_nodes_into_DFAstates):
120482         Likewise.
120483         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
120484         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
120485         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
120486         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
120487         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
120488         * lib/regcomp.c (optimize_subexps, lower_subexp):
120489         Work even if bitset_word has holes in its bitwise representation.
120490         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
120491         * lib/regexec.c (check_dst_limits_calc_pos_1,
120492         check_subexp_matching_top):
120493         Likewise.
120494         * lib/regex_internal.c (re_string_reconstruct):
120495         Don't assume UCHAR_MAX == 255.
120496         * lib/regex_internal.h (bitset_set_all): Likewise.
120497         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
120498         All uses changed.
120499         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
120500         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
120501         All uses changed.
120502         (BITSET_WORD_MAX): New macro.
120503         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
120504         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
120505         (bitset_empty, bitset_copy):
120506         Prefer sizeof (bitset) to multiplying it out ourselves.
120507         (bitset_not_merge): Remove; unused.
120508         (bitset_contain): Return bool, not unsigned int with one bit on.
120509         All callers changed.
120510         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
120511         alignment than re_node_set; do this by defining a new internal
120512         type struct dests_alloc and using it to allocate memory.
120514 2005-09-05  Bruno Haible  <bruno@clisp.org>
120516         * gnulib-tool (func_import): Fix comparison in handling of symbolic
120517         links.
120519 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
120521         * modules/size_max (Makefile.am): Add size_max.h
120523 2005-09-04  Derek Price  <derek@ximbiot.com>
120525         * gnulib-tool (func_import): Fix reversed $symbolic logic.
120527 2005-09-03  Simon Josefsson  <jas@extundo.com>
120529         * gnulib-tool: Fix typo.
120531 2005-09-03  Simon Josefsson  <jas@extundo.com>
120533         * config/srclist.txt: Add glibc bug 1293.
120535 2005-09-03  Derek Price  <derek@ximbiot.com>
120537         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
120538         From Larry Jones <lawrence.jones@ugs.com>.
120540 2005-09-02  Simon Josefsson  <jas@extundo.com>
120542         * modules/socklen: New file.
120544 2005-09-02  Simon Josefsson  <jas@extundo.com>
120546         * modules/havelib: New module.
120548         * modules/gettext, modules/iconv, modules/lock, modules/readline:
120549         Use havelib.
120551 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120553         Check for arithmetic overflow when calculating sizes, to prevent
120554         some buffer-overflow issues.  These patches are conservative, in the
120555         sense that when I couldn't determine whether an overflow was possible,
120556         I inserted a run-time check.
120557         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
120558         macros.
120559         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
120560         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
120561         (re_xnrealloc, re_x2nrealloc): New inline functions.
120562         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
120563         parse_bracket_exp):
120564         (build_equiv_class, build_charclass): Check for arithmetic overflow
120565         in size expression calculations.
120566         * lib/regex_internal.c (re_string_realloc_buffers):
120567         (build_wcs_upper_buffer, re_node_set_add_intersect):
120568         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
120569         (re_dfa_add_node, register_state): Likewise.
120570         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
120571         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
120572         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
120573         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
120575 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120577         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
120578         m4/ulonglong.m4.  Problem reported by Martin Lambers.
120580 2005-09-02  Bruno Haible  <bruno@clisp.org>
120582         Support for lib vs. lib64 distinction on biarch platforms.
120583         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
120584         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
120585         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
120587 2005-09-02  Bruno Haible  <bruno@clisp.org>
120589         * gnulib-tool (import): In the other first-use case, provide defaults
120590         as well.
120592 2005-09-02  Bruno Haible  <bruno@clisp.org>
120594         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
120595         patches not yet found in the latest gettext release.
120597 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120599         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
120600         to avoid a collision with bits/local_lim.h in glibc.
120601         All uses changed.  Problem reported by Dmitry V. Levin in
120602         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
120604         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
120605         bugs in int versus size_t comparisons.
120606         (re_string_context_at): Fix bug where the code assumed that
120607         Idx is signed.
120609         Use bool where appropriate.
120610         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
120611         All callers changed.
120612         (calc_eclosure_iter): Likewise, for ROOT arg.
120613         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
120614         (build_charclass_op): Likewise, for NON_MATCH arg.
120615         * lib/regex_internal.c (re_string_allocate, re_string_construct):
120616         (re_string_construct_common): Likewise, for ICASE arg.
120617         * lib/regexec.c (re_search_2_stub, re_search_stub):
120618         Likewise, for RET_LEN arg.
120619         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
120620         (set_regs): Likewise, for FL_BACKTRACK arg.
120621         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
120622         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
120623         (calc_eclosure_iter, parse_bracket_exp):
120624         Use bool for internal variables that are booleans.
120625         * lib/regexec.c (re_search_internal, check_matching,
120626         proceed_next_node):
120627         (set_regs, build_sifted_states, sift_states_bkref):
120628         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
120629         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120630         (find_collation_sequence_value):
120631         Likewise.
120632         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
120633         (re_node_set_compare):
120634         Return bool, not int. All callers changed.
120635         * lib/regexec.c (check_halt_node_context, check_dst_limits):
120636         (build_trtable, check_node_accept): Likewise.
120637         * lib/regex_internal.h: Include stdbool.h.
120639         Fix bugs uncovered when converting to bool.
120640         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
120641         failure instead of charging ahead blindly.
120642         * lib/regex_internal.c (register_state): Likewise.
120643         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
120644         for freeing internal storage.
120645         (group_nodes_into_DFA_states): Use unsigned int, not int, for
120646         bitset pieces used as boolean, to avoid undefined behavior
120647         on hosts that do int overflow checking.
120649 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120651         * config/srclist.txt: Add glibc bugs 1285-1287.
120653 2005-09-01  Jim Meyering  <jim@meyering.net>
120655         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
120656         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
120657         Require gl_STAT_MACROS, too.
120659 2005-09-01  Bruno Haible  <bruno@clisp.org>
120661         * gnulib-tool (import): In the first-use case, provide defaults.
120663 2005-09-01  Bruno Haible  <bruno@clisp.org>
120665         * gnulib-tool (func_import): Remove the .tmp files.
120667 2005-09-01  Bruno Haible  <bruno@clisp.org>
120669         * gnulib-tool (func_import): Fix handling of symbolic links.
120671 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120673         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
120674         old glibc regex code mishandles strings longer than 2**31 bytes.
120675         This patch fixes this when the regex code is used in gnulib
120676         (i.e., outside glibc).
120678         This patch should not affect the use of the regex code inside
120679         glibc.  No doubt this problem also needs to be handled for glibc
120680         as well, but the result will be an incompatible change to the
120681         glibc ABI, and the old ABI will have to be supported too.  That
120682         can be the subject for another patch.
120684         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
120685         governing whether the rest of this patch is active.  By default,
120686         the macro is disabled and the patch has no effect.
120687         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
120688         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
120689         (struct re_pattern_buffer, re_search, re_search_2, re_match):
120690         (re_match_2, re_set_registers): Use the new types.
120691         * lib/regex_internal.h (Idx, re_hashval_t): New types.
120692         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
120693         New macros.
120694         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
120695         (re_string_context_at, bin_tree_t, re_dfastate_t):
120696         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
120697         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
120698         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
120699         (re_string_char_size_at, re_string_wchar_at):
120700         (re_string_elem_size_at):
120701         Use the new types and macros to port to 64-bit hosts.
120702         Use unsigned types for internal values, so that the code
120703         mostly works even for arrays larger than SSIZE_MAX.
120704         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
120705         (search_duplicated_node, calc_eclosure_iter, fetch_number):
120706         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
120707         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
120708         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
120709         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
120710         (calc_inveclosure, parse_dup_op, build_range_exp):
120711         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
120712         (fetch_number, create_token_tree, mark_opt_subexp):
120713         Likewise.
120714         * lib/regex_internal.c (re_string_construct_common,
120715         create_ci_newstate):
120716         (create_cd_newstate, re_string_allocate, re_string_construct):
120717         (re_string_realloc_buffers, build_wcs_upper_buffer):
120718         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
120719         (re_string_reconstruct, re_string_peek_byte_case):
120720         (re_string_fetch_byte_case, re_string_context_at):
120721         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
120722         (re_node_set_init_copy, re_node_set_add_intersect):
120723         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120724         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120725         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120726         (re_acquire_state, re_acquire_state_context, register_state):
120727         Likewise.
120728         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
120729         search_cur_bkref_entry):
120730         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
120731         (re_search_internal, re_search_2_stub, re_search_stub)
120732         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
120733         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
120734         (update_cur_sifted_state, check_dst_limits):
120735         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120736         (check_subexp_limits, sift_states_bkref, merge_state_array):
120737         (check_subexp_matching_top, get_subexp, get_subexp_sub):
120738         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
120739         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120740         (expand_bkref_cache, check_node_accept_bytes):
120741         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
120742         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
120743         (acquire_init_state_context, check_halt_node_context):
120744         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
120745         (sift_states_backward, clean_state_log_if_needed):
120746         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
120747         (find_recover_state, transit_state_sb, transit_state_mb):
120748         (transit_state_bkref, build_trtable, match_ctx_clean):
120749         Likewise.
120750         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
120751         to work around an assumption that REG_MISSING is negative.
120753         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
120754         (seek_collating_symbol_entry) [defined _LIBC]:
120755         (lookup_collation_sequence_value) [defined _LIBC]:
120756         (build_range_exp, build_collating_symbol) [defined _LIBC]:
120757         Use prototypes rather than old-style function definitions.
120758         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
120759         (transit_state_sb) [0]:
120760         (find_collation_sequence_value) [defined _LIBC]: Likewise.
120762         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
120763         rm_eo.
120765         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
120766         (optimize_subexps, lower_subexp):
120767         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
120768         since the signed shift might overflow.  Use 1u<<31 instead.
120769         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120770         Likewise.
120771         * lib/regexec.c (check_dst_limits_calc_pos_1,
120772         check_subexp_matching_top): Likewise.
120774         * lib/regcomp.c (optimize_subexps, lower_subexp):
120775         Use CHAR_BIT rather than 8, for clarity.
120776         * lib/regexec.c (check_dst_limits_calc_pos_1):
120777         (check_subexp_matching_top): Likewise.
120778         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
120779         have to worry about portability issues when shifting it left.
120780         Remove no-longer-needed test for table_size > 0.
120781         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
120782         in a word, as the resulting behavior is undefined.
120783         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
120784         in one case, a <= should have been an <, and in another case the
120785         whole test was missing.
120786         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
120787         the standard name CHAR_BIT.
120788         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
120789         this is not true on one's complement and signed-magnitude hosts.
120791         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
120792         next_last_offset.
120793         (struct re_dfa_t): Remove unused member states_alloc.
120794         * lib/regcomp.c (init_dfa): Don't initialize unused members.
120796 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120798         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
120799         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
120800         and large-file glibc and in 32-bit large-file Solaris.
120802 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120804         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
120805         lengths fit in regoff_t; this isn't true if regoff_t is the same
120806         width as size_t.
120807         * lib/regex.c (re_search_internal): 5th arg is LAST_START
120808         (= START + RANGE) instead of RANGE.  This avoids overflow
120809         problems when regoff_t is the same width as size_t.
120810         All callers changed.
120811         (re_search_2_stub): Check for overflow when adding the
120812         sizes of the two strings.
120813         (re_search_stub): Check for overflow when adding START
120814         to RANGE; if it occurs, substitute the extreme value.
120816 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120818         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
120820 2005-08-31  Jim Meyering  <jim@meyering.net>
120822         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
120823         a pointer-to-const.
120824         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
120825         (register_state): Likewise.
120826         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
120827         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120828         (group_nodes_into_DFAstates): Likewise.
120830 2005-08-31  Jim Meyering  <jim@meyering.net>
120832         * check-module: Add a FIXME comment.
120834 2005-08-31  Eric Blake  <ebb9@byu.net>
120836         * modules/unistd-safer (Files): Add unistd--.h.
120837         * modules/stdio-safer (Files): Add stdio--.h.
120839 2005-08-31  Derek Price  <derek@ximbiot.com>
120841         * lib/getdelim.c (getdelim): Return EOF on EOF.
120842         Reported by Larry Jones <lawrence.jones@ugs.com>.
120844 2005-08-31  Bruno Haible  <bruno@clisp.org>
120846         Avoid unnecessary diffs in the generated lib/Makefile.am.
120847         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
120848         the generated files.
120849         (func_import): Don't set cmd.
120851 2005-08-31  Bruno Haible  <bruno@clisp.org>
120853         * lib/strstr.c: Include <stddef.h>, for NULL.
120854         * lib/strcasestr.c: Likewise.
120855         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
120857 2005-08-31  Bruno Haible  <bruno@clisp.org>
120859         * gnulib-tool: New option --macro-prefix.
120860         (func_import): Use macro_prefix.
120861         (import): Handle option --macro-prefix.
120863 2005-08-31  Bruno Haible  <bruno@clisp.org>
120865         * gnulib-tool (import): Rename most ac_* variables to cached_*.
120866         Also use new variables cached_lgpl, cached_libtool.
120868 2005-08-31  Bruno Haible  <bruno@clisp.org>
120870         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
120871         always instantiating them.
120873 2005-08-31  Bruno Haible  <bruno@clisp.org>
120875         * gnulib-tool (func_import): Read the previous cached settings
120876         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
120877         earlier added by gnulib but are now dropped. Warn when a gnulib file
120878         overwrites a non-gnulib file.
120880 2005-08-31  Bruno Haible  <bruno@clisp.org>
120882         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
120883         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
120884         projects that don't keep autogenerated files in CVS. Put into
120885         actioncmd only the specified modules, not the transitive closure.
120887 2005-08-31  Bruno Haible  <bruno@clisp.org>
120889         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
120890         Create directories that shall be filled.
120891         (import): Don't look for gl_* macros in configure.ac. Recurse across
120892         all directories containing a gnulib-cache.m4 files, if meaningful.
120894 2005-08-31  Bruno Haible  <bruno@clisp.org>
120896         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
120897         (import): Set seen_libtool when we see gl_LIBTOOL.
120899 2005-08-31  Bruno Haible  <bruno@clisp.org>
120901         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
120902         declaration macro definitions from generated gnulib.m4.
120904 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
120906         * lib/iconvme.h: Add prototype for iconv_alloc.
120908 2005-08-29  Simon Josefsson  <jas@extundo.com>
120910         * lib/iconvme.c: Fix errno.
120912 2005-08-29  Bruno Haible  <bruno@clisp.org>
120914         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
120915         that it works when the directory contains spaces.
120917 2005-08-29  Bruno Haible  <bruno@clisp.org>
120919         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
120921 2005-08-29  Bruno Haible  <bruno@clisp.org>
120923         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
120924         Emit more advice.
120926 2005-08-29  Bruno Haible  <bruno@clisp.org>
120927         and Stepan Kasal  <kasal@ucw.cz>
120929         * check-module: If more parameters are given, check each of them
120930         separately; add more exceptions, as noted by Jim Meyering.
120931         (check_module): New procedure.
120932         (%exempt_header): Now contains all exceptions.
120934 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
120936         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
120938 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
120940         * lib/iconvme.c: Split iconv_string into iconv_alloc.
120942 2005-08-28  Bruno Haible  <bruno@clisp.org>
120944         * m4/gnulib-tool.m4: New file.
120946 2005-08-27  Jim Meyering  <jim@meyering.net>
120948         * modules/unistd-safer (Files): Add pipe-safer.c.
120949         * modules/fcntl-safer (Files): Add creat-safer.c.
120951 2005-08-27  Jim Meyering  <jim@meyering.net>
120953         * m4/stdlib-safer.m4: New file.  From coreutils.
120954         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
120955         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
120956         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
120957         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
120958         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
120960 2005-08-27  Jim Meyering  <jim@meyering.net>
120962         * lib/fopen-safer.c: Merge minor changes from coreutils.
120963         * lib/dup-safer.c: Likewise.
120964         * lib/fd-safer.c: Likewise.
120966         Merge from coreutils.
120967         * lib/stdio--.h: New file.
120968         * lib/stdlib--.h: New file.
120969         * lib/mkstemp-safer.c: New file.
120971         GNU tar needs these.
120972         * lib/pipe-safer.c: New file.
120973         * lib/creat-safer.c: New file.
120974         * lib/fcntl--.h (creat): Define to creat_safer.
120975         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
120976         * lib/unistd--.h (pipe): Define to pipe_safer.
120977         * lib/unistd-safer.h: Declare pipe_safer.
120979 2005-08-26  Simon Josefsson  <jas@extundo.com>
120981         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
120982         Haible <bruno@clisp.org>.
120984 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
120986         * lib/regex_internal.h: Remove all references to
120987         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
120988         or better.
120989         (bitset_not, bitset_merge, bitset_not_merge):
120990         (bitset_mask, re_string_allocate, re_string_construct):
120991         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
120992         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
120993         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
120994         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
120995         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120996         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120997         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
120998         (re_acquire_state_context):
120999         Remove unnecessary forward decls.
121000         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
121001         Put __attribute at function definition,
121002         now that the function decl has been removed.
121003         * lib/regex_internal.c (re_string_peek_byte_case):
121004         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
121005         Likewise.
121007 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
121009         * m4/regex.m4: Add AC_PREREQ(2.50).
121010         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
121012 2005-08-25  Simon Josefsson  <jas@extundo.com>
121014         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
121015         __fsetlocking.
121017 2005-08-25  Simon Josefsson  <jas@extundo.com>
121019         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
121020         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
121021         GLIBC specific code.
121023 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121025         Make regex safe for g++.  This fixes one real bug (an "err"
121026         that should have been "*err").  g++ problem reported by
121027         Sam Steingold.
121028         * lib/regex_internal.h (re_calloc): New macro, consistent with
121029         re_malloc etc.  All callers of calloc changed to use re_calloc.
121030         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
121031         not int.  All callers changed.
121032         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
121033         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
121034         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
121035         (find_recover_state): Change "err" to "*err"; this fixes what
121036         appears to be a real bug.
121037         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
121038         versus int.
121040 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121042         * modules/regex (Depends-on): Add malloc, since the code
121043         assumes that !malloc(0) means failure.
121045 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121047         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
121049         alloca modernization/simplification for regex.
121050         * lib/regex.c: Remove portability cruft for alloca.  This no longer
121051         needs to be at the start of the file, and can be moved into
121052         regex_internal.h and simplified.
121053         * lib/regex_internal.h: Include <alloca.h>.
121054         (__libc_use_alloca) [!defined _LIBC]: New macro.
121055         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
121056         now works outside glibc.
121058 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
121060         * config/srclist.txt: Add glibc bugs 1241, 1245.
121062 2005-08-25  Jim Meyering  <jim@meyering.net>
121064         * lib/open-safer.c: Include <config.h>.
121065         Otherwise, we'd lose LARGEFILE support in any file using
121066         e.g. "fcntl--.h"
121068 2005-08-25  Bruno Haible  <bruno@clisp.org>
121070         * m4/minmax.m4: Require autoconf 2.52.
121071         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
121072         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
121073         alternatives of translit over the alphabet.
121074         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
121076 2005-08-24  Simon Josefsson  <jas@extundo.com>
121078         * tests/test-getpass.c: New file.
121080 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121082         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
121083         for GNU regex features.
121085 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121087         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
121088         * lib/regex.h (regerror): Likewise.
121090         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
121091         requires this.  (The code never needed it.)
121093         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
121094         All uses of recently-renamed identifiers changed to use the new,
121095         POSIX-compliant names.  The code will build and run just fine
121096         without these changes, but it's better to eat our own dog food
121097         and use the standard-conforming names.
121099         * lib/regex.h: Fix a multitude of POSIX name space violations.
121100         These changes have an effect only for programs that define
121101         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
121102         do not change anything for programs compiled in the normal way.
121103         Also, there is no effect on the ABI.
121105         (_REGEX_SOURCE): New macro.
121106         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
121107         defined and _GNU_SOURCE is not; this fixes a name space violation.
121109         Rename the following macros to obey POSIX requirements.
121110         The old names are still visible as macros if _REGEX_SOURCE is defined.
121111         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
121112         RE_BACKSLASH_ESCAPE_IN_LISTS.
121113         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
121114         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
121115         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
121116         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
121117         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
121118         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
121119         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
121120         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
121121         (REG_INTERVALS): renamed from RE_INTERVALS.
121122         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
121123         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
121124         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
121125         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
121126         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
121127         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
121128         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
121129         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
121130         RE_UNMATCHED_RIGHT_PAREN_ORD.
121131         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
121132         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
121133         (REG_DEBUG): renamed from RE_DEBUG.
121134         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
121135         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
121136         unusual, since we can't clash with the POSIX REG_ICASE.
121137         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
121138         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
121139         (REG_NO_SUB): renamed from RE_NO_SUB.
121140         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
121141         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
121142         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
121143         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
121144         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
121145         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
121146         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
121147         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
121148         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
121149         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
121150         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
121151         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
121152         RE_SYNTAX_POSIX_MINIMAL_BASIC.
121153         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
121154         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
121155         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
121156         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
121157         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
121158         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
121159         (REG_FIXED): Renamed from REGS_FIXED.
121160         (REG_NREGS): Renamed from RE_NREGS.
121162         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
121163         of other REG_* macros, since POSIX says the user is allowed to
121164         #undef these macros selectively.
121166         (reg_errcode_t): Update comment stating what other tables need
121167         to be consistent.
121169         Rename the following enum values to obey POSIX requirements.
121170         The old names are still visible as macros.
121171         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
121172         is not defined, since GNU is supposed to be a superset of POSIX as
121173         much as possible, and since we want reg_errcode_t to be a signed
121174         type for implementation consistency.
121175         (_REG_NOERROR): Renamed from REG_NOERROR.
121176         (_REG_NOMATCH): Renamed from REG_NOMATCH.
121177         (_REG_BADPAT): Renamed from REG_BADPAT.
121178         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
121179         (_REG_ECTYPE): Renamed from REG_ECTYPE.
121180         (_REG_EESCAPE): Renamed from REG_EESCAPE.
121181         (_REG_ESUBREG): Renamed from REG_ESUBREG.
121182         (_REG_EBRACK): Renamed from REG_EBRACK.
121183         (_REG_EPAREN): Renamed from REG_EPAREN.
121184         (_REG_EBRACE): Renamed from REG_EBRACE.
121185         (_REG_BADBR): Renamed from REG_BADBR.
121186         (_REG_ERANGE): Renamed from REG_ERANGE.
121187         (_REG_ESPACE): Renamed from REG_ESPACE.
121188         (_REG_BADRPT): Renamed from REG_BADRPT.
121189         (_REG_EEND): Renamed from REG_EEND.
121190         (_REG_ESIZE): Renamed from REG_ESIZE.
121191         (_REG_ERPAREN): Renamed from REG_ERPAREN.
121192         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
121193         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
121194         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
121195         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
121197         (_REG_RE_NAME, _REG_RM_NAME): New macros.
121198         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
121199         changed.  But support the old name if the new one is not defined
121200         and if _REGEX_SOURCE.
121202         Change the following member names in struct re_pattern_buffer.
121203         The old names are still supported if !_REGEX_SOURCE.
121204         The new names are always supported, regardless of _REGEX_SOURCE.
121205         (re_buffer): Renamed from buffer.
121206         (re_allocated): Renamed from allocated.
121207         (re_used): Renamed from used.
121208         (re_syntax): Renamed from syntax.
121209         (re_fastmap): Renamed from fastmap.
121210         (re_translate): Renamed from translate.
121211         (re_can_be_null): Renamed from can_be_null.
121212         (re_regs_allocated): Renamed from regs_allocated.
121213         (re_fastmap_accurate): Renamed from fastmap_accurate.
121214         (re_no_sub): Renamed from no_sub.
121215         (re_not_bol): Renamed from not_bol.
121216         (re_not_eol): Renamed from not_eol.
121217         (re_newline_anchor): Renamed from newline_anchor.
121219         Change the following member names in struct re_registers.
121220         The old names are still supported if !_REGEX_SOURCE.
121221         The new names are always supported, regardless of _REGEX_SOURCE.
121222         (rm_num_regs): Renamed from num_regs.
121223         (rm_start): Renamed from start.
121224         (rm_end): Renamed from end.
121226         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
121227         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
121228         Prepend __ to parameter names.
121230         Undo yesterday's changes.
121232 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121234         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
121235         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
121236         lib/regex.c.
121238 2005-08-24  Jim Meyering  <jim@meyering.net>
121240         Sync from coreutils.
121241         * m4/fcntl-safer.m4: New file.
121243         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
121244         and object files for this module.
121246 2005-08-24  Jim Meyering  <jim@meyering.net>
121248         Sync from coreutils.
121249         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
121251 2005-08-24  Jim Meyering  <jim@meyering.net>
121253         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
121254         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
121256 2005-08-24  Jim Meyering  <jim@meyering.net>
121258         * modules/fcntl-safer: New module.
121259         * modules/fts (Depends-on): Add fcntl-safer.
121260         * MODULES.html.sh (File descriptor based Input/Output):
121261         Add fcntl-safer.
121263 2005-08-24  Bruno Haible  <bruno@clisp.org>
121265         Support for unit test modules.
121266         * modules/README: Mention tests modules.
121267         * modules/TEMPLATE-TESTS: New file.
121268         * gnulib-tool: New options --extract-tests-module, --with-tests and
121269         --tests-base (unused for the moment).
121270         (testsbase, inctests): New variables.
121271         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
121272         (func_verify_module): Exclude TEMPLATE-TESTS.
121273         (func_verify_nontests_module, func_verify_tests_module): New functions.
121274         (func_get_dependencies): Add implicit dependency for tests modules.
121275         (func_get_tests_module): New function.
121276         (func_modules_transitive_closure): When --with-tests was specified,
121277         include the unit tests as well, unless explicitly avoided.
121278         (func_emit_lib_Makefile_am): Ignore the tests modules here.
121279         (func_emit_tests_Makefile_am): New function.
121280         (func_create_testdir): When --with-tests was specified, emit a
121281         tests/ directory.
121282         * MODULES.html.sh (Future developments): Update.
121284 2005-08-24  Bruno Haible  <bruno@clisp.org>
121286         * modules/tls-tests: New file.
121287         * tests/test-tls.c: New file, from GNU gettext.
121289 2005-08-24  Bruno Haible  <bruno@clisp.org>
121291         * modules/lock-tests: New file.
121292         * tests/test-lock.c: New file, from GNU gettext.
121294 2005-08-24  Bruno Haible  <bruno@clisp.org>
121296         * lib/lock.h: Add multiple inclusion guard.
121297         * lib/tls.h: Add multiple inclusion guard.
121299 2005-08-24  Bruno Haible  <bruno@clisp.org>
121301         * gnulib-tool: Add support for the --aux-dir option to
121302         --create-testdir, --create-megatestdir, --test, --megatest.
121303         (func_create_testdir, func_create_megatestdir): Optionally emit a
121304         AC_CONFIG_AUX_DIR directive.
121305         (create-testdir, create-megatestdir, test, megatest): Provide a
121306         default value for $auxdir.
121308 2005-08-24  Bruno Haible  <bruno@clisp.org>
121310         * gnulib-tool (import): Use compound statement instead of subshell
121311         where possible.
121313 2005-08-24  Bruno Haible  <bruno@clisp.org>
121315         * gnulib-tool (import): Change --aux-dir default to "build-aux".
121317 2005-08-24  Bruno Haible  <bruno@clisp.org>
121319         * gnulib-tool (func_version): Update.
121321 2005-08-24  Bruno Haible  <bruno@clisp.org>
121323         * gnulib-tool (func_import, func_create_testdir,
121324         func_create_megatestdir): Quote all autoconf macro arguments.
121326 2005-08-24  Bruno Haible  <bruno@clisp.org>
121328         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
121329         option --force, because --force causes the aclocal.m4 of each
121330         subdirectory to be newer than the corresponding config.h.in.
121332 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121334         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
121335         All contents moved to gl_REGEX.
121336         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
121337         assume that it does.
121339 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121341         * lib/regex.h (REG_NOSYS)
121342         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
121343         Define, since POSIX requires it as of 2001.
121344         (_REG_ENOSYS)
121345         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
121346         New private symbol, used to keep the enum signed in all cases.
121347         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
121348         Youngman in
121349         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
121351         * lib/regex_internal.c (re_string_skip_chars, register_state):
121352         (calc_state_hash):
121353         Remove forward decls; no longer needed now that we use prototypes.
121354         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
121355         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
121356         (clean_state_log_if_needed): Likewise.
121358 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121360         * config/srclist.txt: Add glibc bugs 1231-1233.
121362 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121364         Fix problems reported by Sam Steingold in
121365         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
121366         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
121367         assumed that reg_errcode_t is a signed type, which is not
121368         necessarily true if _XOPEN_SOURCE is not defined.
121369         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
121370         since some compilers warn about it otherwise.
121372 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121374         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
121375         (init_word_char, create_initial_state, duplicate_node_closure):
121376         (fetch_token, peek_token_bracket, build_range_exp):
121377         (build_collating_symbol): Remove forward decls; no longer needed
121378         now that we use prototypes.
121380         * lib/regcomp.c:
121381         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
121382         (re_compile_fastmap_iter, regcomp, regerror, regfree):
121383         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
121384         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
121385         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
121386         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
121387         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
121388         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
121389         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
121390         (build_range_exp, build_collating_symbol, parse_bracket_exp):
121391         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
121392         (build_charclass, build_charclass_op, fetch_number, create_tree):
121393         (create_token_tree, mark_opt_subexp, duplicate_tree):
121394         Use prototypes rather than old-style definitions.
121396         * lib/regex_internal.c:
121397         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
121398         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
121399         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121400         (re_string_reconstruct, re_string_peek_byte_case):
121401         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
121402         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121403         (re_node_set_init_copy, re_node_set_add_intersect):
121404         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121405         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121406         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121407         (re_acquire_state, re_acquire_state_context, register_state):
121408         (create_ci_newstate, create_cd_newstate, free_state):
121409         Likewise.
121410         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
121411         re_search_2):
121412         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
121413         (re_search_internal, prune_impossible_nodes):
121414         (acquire_init_state_context, check_matching, static):
121415         (check_halt_node_context, check_halt_state_context, proceed_next_node):
121416         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
121417         (update_regs, sift_states_backward, build_sifted_states):
121418         (clean_state_log_if_needed, merge_state_array):
121419         (update_cur_sifted_state, add_epsilon_src_nodes):
121420         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
121421         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
121422         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
121423         (find_recover_state, check_subexp_matching_top, transit_state_mb):
121424         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
121425         (check_arrival, check_arrival_add_next_nodes):
121426         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121427         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121428         (check_node_accept_bytes, check_node_accept, extend_buffers):
121429         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
121430         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
121431         (sift_ctx_init):
121432         Likewise.
121434         * lib/regex_internal.h:
121435         (re_string_allocate, re_string_construct, re_string_reconstruct):
121436         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
121437         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
121438         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
121439         (re_string_context_at, re_string_peek_byte_case):
121440         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
121441         is defined, since we now use prototypes always.
121443         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
121444         C89 or better.  All uses removed.
121446 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121448         * config/srclist.txt: Add glibc bugs 1220-1227.
121450 2005-08-20  Jim Meyering  <jim@meyering.net>
121452         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
121453         of unused local, dfa.
121455 2005-08-20  Bruno Haible  <bruno@clisp.org>
121457         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
121459 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121461         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
121462         (re_node_set_insert_last, re_dfa_add_node):
121463         Rename local variables to avoid GCC shadowing warnings.
121465 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121467         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
121468         [defined lint]: Suppress bogus uninitialized-variable warnings.
121470         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
121471         and let the caller return REG_ESPACE if out of space.  This
121472         removes an uninitialied-variable warning with GCC 4.0.1, and also
121473         avoids taking the address of a local variable.  All callers
121474         changed.
121476 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121478         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
121479         $LIBCSRC/posix/regexec.c.
121480         Add glibc bug 1217 for regcomp.c.
121482 2005-08-19  Jim Meyering  <jim@meyering.net>
121484         * lib/regexec.c (proceed_next_node): Redo local variables to
121485         avoid GCC shadowing warnings.
121487 2005-08-18  Bruno Haible  <bruno@clisp.org>
121489         * lib/strstr.c (strstr): Fix return value in multibyte case.
121490         * lib/strcasestr.c (strcasestr): Likewise.
121492 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
121494         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
121496 2005-08-17  Jim Meyering  <jim@meyering.net>
121498         Make the %s format (seconds since the epoch) work for a negative
121499         number and when used with a zero-padded field width, e.g. %015s.
121501         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
121502         label so that it precedes the code to set `digits'.  Otherwise,
121503         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
121504         print `00-22'.  Now, it prints `-0022', as it should.
121506 2005-08-17  Bruno Haible  <bruno@clisp.org>
121508         * modules/strstr (Files): Add m4/mbrtowc.m4.
121509         (Depends-on): Add mbuiter.
121511 2005-08-17  Bruno Haible  <bruno@clisp.org>
121513         * modules/strcasestr: New file.
121514         * MODULES.html.sh (String handling, based on ANSI C 89): Add
121515         strcasestr.
121517 2005-08-17  Bruno Haible  <bruno@clisp.org>
121519         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
121521 2005-08-17  Bruno Haible  <bruno@clisp.org>
121523         * modules/mbuiter: New file.
121524         * MODULES.html.sh (Extended multibyte and wide character utilities):
121525         Add mbuiter.
121527 2005-08-17  Bruno Haible  <bruno@clisp.org>
121529         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
121530         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
121532 2005-08-17  Bruno Haible  <bruno@clisp.org>
121534         * m4/strcasestr.m4: New file.
121536 2005-08-17  Bruno Haible  <bruno@clisp.org>
121538         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
121539         * lib/strstr.c: Completely rewritten, with multibyte locale support.
121541 2005-08-17  Bruno Haible  <bruno@clisp.org>
121543         * lib/strcasestr.h: New file.
121544         * lib/strcasestr.c: New file.
121546 2005-08-17  Bruno Haible  <bruno@clisp.org>
121548         * lib/strcasecmp.c: Use mbuiter.h.
121550 2005-08-17  Bruno Haible  <bruno@clisp.org>
121552         * lib/mbuiter.h: New file.
121554 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
121556         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
121557         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
121558         and gl_GETOPT are both invoked via different paths (as happens
121559         with GNU tar CVS because it uses both argp and getopt), the former
121560         wins.
121562 2005-08-16  Bruno Haible  <bruno@clisp.org>
121564         * modules/tls: New file.
121565         * MODULES.html.sh (Multithreading): Add tls.
121567 2005-08-16  Bruno Haible  <bruno@clisp.org>
121569         * modules/strnlen1: New file.
121570         * MODULES.html.sh (String handling): Add strnlen1.
121572 2005-08-16  Bruno Haible  <bruno@clisp.org>
121574         * modules/strcase (Files): Add m4/mbrtowc.m4.
121575         (Depends-on): Add strnlen1, mbchar.
121577 2005-08-16  Bruno Haible  <bruno@clisp.org>
121579         * modules/mbiter: New file.
121580         * MODULES.html.sh (Extended multibyte and wide character utilities):
121581         Add mbiter.
121583 2005-08-16  Bruno Haible  <bruno@clisp.org>
121585         * modules/mbfile: New file.
121586         * MODULES.html.sh (Extended multibyte and wide character utilities):
121587         Add mbfile.
121589 2005-08-16  Bruno Haible  <bruno@clisp.org>
121591         * modules/mbchar: New file.
121592         * MODULES.html.sh (Extended multibyte and wide character utilities):
121593         New section.
121595 2005-08-16  Bruno Haible  <bruno@clisp.org>
121597         * m4/tls.m4: New file, from GNU gettext.
121599 2005-08-16  Bruno Haible  <bruno@clisp.org>
121601         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
121602         always.
121603         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
121605 2005-08-16  Bruno Haible  <bruno@clisp.org>
121607         * m4/mbiter.m4: New file.
121609 2005-08-16  Bruno Haible  <bruno@clisp.org>
121611         * m4/mbfile.m4: New file.
121613 2005-08-16  Bruno Haible  <bruno@clisp.org>
121615         * m4/mbchar.m4: New file.
121617 2005-08-16  Bruno Haible  <bruno@clisp.org>
121619         * lib/tls.h: New file, from GNU gettext.
121620         * lib/tls.c: New file, from GNU gettext.
121622 2005-08-16  Bruno Haible  <bruno@clisp.org>
121624         * lib/strnlen1.h: New file.
121625         * lib/strnlen1.c: New file.
121627 2005-08-16  Bruno Haible  <bruno@clisp.org>
121629         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
121630         (mbi_init): Update.
121631         (mbi_avail, mbi_advance): Let the iteration end before the terminating
121632         NUL byte, not after it.
121634 2005-08-16  Bruno Haible  <bruno@clisp.org>
121636         * lib/strcase.h (strcasecmp): Add note in comments.
121637         * lib/strncasecmp.c: Use code from strcasecmp.c.
121638         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
121639         (strcasecmp): Work correctly in multibyte locales.
121641 2005-08-16  Bruno Haible  <bruno@clisp.org>
121643         * lib/mbiter.h: New file.
121645 2005-08-16  Bruno Haible  <bruno@clisp.org>
121647         * lib/mbfile.h: New file.
121649 2005-08-16  Bruno Haible  <bruno@clisp.org>
121651         * lib/mbchar.h: New file.
121652         * lib/mbchar.c: New file.
121654 2005-08-16  Bruno Haible  <bruno@clisp.org>
121656         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
121657         the valid ones. Makes the comparison operations transitive:
121658         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
121659         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
121661 2005-08-15  Simon Josefsson  <jas@extundo.com>
121663         * modules/ssize_t (License): Change to 'unlimited'.
121665         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
121667 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
121669         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
121670         Add comments for each pending glibc patch.
121672 2005-08-15  Bruno Haible  <bruno@clisp.org>
121674         * lib/regex.h (__restrict_arr): Don't define to __restrict if
121675         __cplusplus is defined.
121677 2005-08-14  Jim Meyering  <jim@meyering.net>
121679         Sync from coreutils.
121681         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
121682         Use the hash-table-based cycle-detection code not just when
121683         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
121684         Reported by James Youngman in
121685         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
121686         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
121687         FTS_TIGHT_CYCLE_CHECK.
121688         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
121689         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
121690         once again.
121691         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
121692         * lib/fts.c (fd_safer): Remove decl.
121693         Include fcntl--.h rather than unistd-safer.h
121694         (fts_safe_changedir): Don't call fd_safer; no longer needed
121695         now that we include fcntl--.h.
121697 2005-08-12  Simon Josefsson  <jas@extundo.com>
121699         * modules/getndelim2: Use ssize_t module.
121700         * modules/getnline: Likewise.
121701         * modules/safe-read: Likewise.
121702         * modules/xreadlink: Likewise.
121704         * modules/ssize_t: New file.
121706 2005-08-12  Simon Josefsson  <jas@extundo.com>
121708         * m4/readline.m4: Look for termcap, curses or ncurses if required.
121710 2005-08-12  Simon Josefsson  <jas@extundo.com>
121712         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
121713         ssize_t.
121715 2005-08-12  Simon Josefsson  <jas@extundo.com>
121717         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
121718         readline, getdelim and check_version.
121719         (Support for systems lacking ISO C 99: Sizes of integer types):
121720         Add size_max.
121722 2005-08-12  Bruno Haible  <bruno@clisp.org>
121724         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
121726 2005-08-11  Simon Josefsson  <jas@extundo.com>
121728         * modules/readline: New file.
121730         * modules/strnlen (Files): Add strnlen.h.
121732 2005-08-11  Simon Josefsson  <jas@extundo.com>
121734         * m4/readline.m4: New file.
121736 2005-08-11  Simon Josefsson  <jas@extundo.com>
121738         * lib/readline.h, readline.c: New file.
121740 2005-08-11  Simon Josefsson  <jas@extundo.com>
121742         * doc/gnulib.texi (Initial import, Finishing touches): Mention
121743         gl_AVOID.
121745 2005-08-11  Bruno Haible  <bruno@clisp.org>
121747         * lib/strnlen.h (strnlen): Change parameter name to match comment.
121749 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
121751         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
121753 2005-08-10  Simon Josefsson  <jas@extundo.com>
121755         * tests/test-iconvme.c: New file.
121757 2005-08-10  Simon Josefsson  <jas@extundo.com>
121759         * m4/strnlen.m4: New file.
121761         * m4/strndup.m4: Don't check for strnlen declaration, done in
121762         strnlen.m4.
121764 2005-08-10  Simon Josefsson  <jas@extundo.com>
121766         * lib/strndup.c: Use strnlen.h.
121768         * lib/strnlen.h: New file.
121770 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
121772         * README: Typos.
121774 2005-08-02  Simon Josefsson  <jas@extundo.com>
121776         * modules/readline: New file.
121778 2005-08-02  Simon Josefsson  <jas@extundo.com>
121780         * modules/getdelim: New file.
121782         * modules/getline: Rewrite, don't use getndelim2.
121784 2005-08-02  Simon Josefsson  <jas@extundo.com>
121786         * m4/getline.m4: Separate out getdelim stuff into separate module.
121788         * m4/getdelim.m4: New file.
121790 2005-08-02  Simon Josefsson  <jas@extundo.com>
121792         * lib/getline.h, getline.c: Rewrite.
121794         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
121796 2005-07-31  Bruno Haible  <bruno@clisp.org>
121798         * lib/lock.h (gl_lock_initializer): New macro.
121799         (gl_lock_define_initialized): Use it.
121800         (gl_rwlock_initializer): New macro.
121801         (gl_rwlock_define_initialized): Use it.
121802         (gl_recursive_lock_initializer): New macro.
121803         (gl_recursive_lock_define_initialized): Use it.
121805 2005-07-30  Karl Berry  <karl@gnu.org>
121807         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
121808         Report from Ben Pfaff, regarding getopt.
121810 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
121812         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
121813         normal way.
121814         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
121815         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
121816         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
121817         (gl_GETOPT): Use the new macros.  Most of the implementation
121818         is moved to the new macros.  This is for programs like Emacs
121819         that don't want all the functionality of gl_GETOPT.
121821 2005-07-26  Bruno Haible  <bruno@clisp.org>
121823         * m4/lock.m4: Update from GNU gettext.
121825 2005-07-26  Bruno Haible  <bruno@clisp.org>
121827         * lib/lock.h: Update from GNU gettext.
121828         * lib/lock.c: Update from GNU gettext.
121830 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
121832         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
121833         obsolescent AC_TRY_RUN.  Include the default includes files, for
121834         'exit'.
121836 2005-07-24  Bruno Haible  <bruno@clisp.org>
121838         * modules/visibility: New file.
121839         * MODULES.html.sh (Misc): Add visibility.
121841 2005-07-24  Bruno Haible  <bruno@clisp.org>
121843         * m4/visibility.m4: New file.
121845 2005-07-24  Bruno Haible  <bruno@clisp.org>
121847         * doc/visibility.texi: New file.
121849 2005-07-22  Bruno Haible  <bruno@clisp.org>
121851         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
121852         $(ALLOCA_H), redundant through BUILT_SOURCES.
121853         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
121854         redundant through BUILT_SOURCES.
121855         * modules/byteswap (Makefile.am): Remove explicit dependency on
121856         $(BYTESWAP_H), redundant through BUILT_SOURCES.
121857         * modules/fnmatch (Makefile.am): Remove explicit dependency on
121858         $(FNMATCH_H), redundant through BUILT_SOURCES.
121859         * modules/getopt (Makefile.am): Remove explicit dependency on
121860         $(GETOPT_H), redundant through BUILT_SOURCES.
121861         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
121862         redundant through BUILT_SOURCES.
121863         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
121864         redundant through BUILT_SOURCES.
121865         * modules/stdbool (Makefile.am): Remove explicit dependency on
121866         $(STDBOOL_H), redundant through BUILT_SOURCES.
121867         * modules/stdint (Makefile.am): Remove explicit dependency on
121868         $(STDINT_H), redundant through BUILT_SOURCES.
121869         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
121870         Remove explicit dependency on $(SYSEXITS_H).
121871         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
121873 2005-07-18  Simon Josefsson  <jas@extundo.com>
121875         * lib/check-version.c (check_version): Accept identical versions too.
121877 2005-07-18  Bruno Haible  <bruno@clisp.org>
121879         * modules/lock: New file.
121880         * MODULES.html.sh (Multithreading): New section.
121882 2005-07-18  Bruno Haible  <bruno@clisp.org>
121884         * m4/lock.m4: New file, from GNU gettext.
121886 2005-07-18  Bruno Haible  <bruno@clisp.org>
121888         * lib/lock.h: New file, from GNU gettext.
121889         * lib/lock.c: New file, from GNU gettext.
121891 2005-07-18  Bruno Haible  <bruno@clisp.org>
121893         * lib/lock.h (gl_once_t): New type.
121894         (gl_once_define, gl_once): New macros.
121895         * lib/lock.c (fresh_once): New variable.
121896         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
121897         functions.
121899 2005-07-16  Simon Josefsson  <jas@extundo.com>
121901         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
121902         workaround, suggested by Bruno.
121904 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121906         * modules/xalloc (Depends-on): Add xalloc-die.
121907         * modules/xvasprintf (Depends-on): Add xalloc-die.
121909 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121911         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
121912         with a minor change.
121914 2005-07-15  Bruno Haible  <bruno@clisp.org>
121916         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
121917         When using lib/poll.c, define poll as rpl_poll.
121919 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
121921         * modules/argp (Depends-on): Remove unlocked-io.
121923 2005-07-14  Derek Price  <derek@ximbiot.com>
121925         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
121926         for glob symlink bug.
121928 2005-07-14  Bruno Haible  <bruno@clisp.org>
121930         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
121931         Instead, test for *_unlocked function declarations directly.
121933 2005-07-11  Simon Josefsson  <jas@extundo.com>
121935         * modules/size_max: New file.
121937         * modules/xsize: Depend on size_max module for size_max.m4.
121939 2005-07-11  Simon Josefsson  <jas@extundo.com>
121941         * lib/size_max.h: New file.
121943 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
121945         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
121946         copyright symbol and the year.
121947         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
121948         (version_etc_va): Use parameterized copyright notice.
121949         Reword to conform to the current GNU coding standards.
121951 2005-07-11  Karl Berry  <karl@gnu.org>
121953         * doc/gnulib.texi (Quoting): new node.
121954         (Initial import): more info, from Patrice.
121956 2005-07-11  Bruno Haible  <bruno@clisp.org>
121958         * gnulib-tool (func_usage): Document option --avoid.
121959         (Command line options): Handle --avoid.
121960         (func_acceptable): New function.
121961         (func_modules_transitive_closure): Use it.
121963 2005-07-11  Bruno Haible  <bruno@clisp.org>
121965         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
121966         Reported by Jim Meyering.
121968 2005-07-10  Bruno Haible  <bruno@clisp.org>
121970         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
121971         Needed when size_t is smaller than 'unsigned int'.
121972         Reported by Paul Eggert.
121974 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121976         * modules/argp (Depends-on): Add unlocked-io
121978 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121980         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
121981         block of defines.
121983 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
121985         * config/srclist.txt: Comment out regcomp.c, since we have a porting
121986         fix now.
121988 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
121989         and Paul Eggert  <eggert@cs.ucla.edu>
121991         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
121992         in wint_t, not wchar_t.  Remove now-unnecessary cast.
121994 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121996         * modules/regex (Files): Add lib/regex_internal.c,
121997         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
121998         (Depends-on): Add extensions.
121999         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
122001 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122003         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
122004         pathconf.
122005         * m4/same.m4 (gl_SAME): Likewise.
122006         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
122008         * m4/regex.m4: Adjust to new libc regex implementation.
122009         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
122010         all the .c and .h parts of (the new) regex.
122011         Quote the m4 stuff better.
122012         Check for RE_ICASE bug of old gnulib.
122013         Check for REG_STARTEND of recent libc.
122014         Rename local variables from jm_* to gl_*.
122015         Quote operand of "test -f".
122016         Say "recent enough" version of libc, not "version 2".
122017         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
122018         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
122019         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
122020         Remove check for btowc, isascii.
122021         Require AM_LANGINFO_CODESET.
122023 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122025         * lib/regex.c, regex.h: Sync from libc.
122026         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
122027         * lib/regexec.c:
122028         New files, synced from libc, except that regex_internal.h
122029         currently has a small porting fix.
122031 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
122033         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
122034         regex_internal.c, regexec.c.
122035         Add regex_internal.h too, but as a comment, since the libc version
122036         is currently broken in gnulib mode.
122038 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
122040         Support programs like Emacs that use gnulib but not gettext.
122041         * MODULES.html.sh (Internationalization functions): Add gettext-h.
122042         * modules/gettext-h: New file.
122043         * modules/gettext (Files): Remove lib/gettext.h.
122044         (Depends-on): Add gettext-h.
122045         (Makefile.am): Remove lib_SOURCES.
122046         * modules/argmatch, modules/c-stack, modules/closeout:
122047         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
122048         * modules/execute, modules/file-type, modules/getaddrinfo:
122049         * modules/getopt, modules/human, modules/javacomp:
122050         * modules/javaexec, modules/mkdir-p, modules/obstack:
122051         * modules/openat, modules/pagealign_alloc, modules/pipe:
122052         * modules/quotearg, modules/regex, modules/rpmatch:
122053         * modules/unicodeio, modules/userspec, modules/version-etc:
122054         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
122055         * modules/xsetenv:
122056         Depend on gettext-h, not gettext.
122058 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
122060         * gnulib-tool (func_import): Add support for 'public domain' license.
122061         * modules/alloca, modules/atexit, modules/memmove:
122062         Now public domain, not GPL.
122063         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
122064         * modules/realloc, modules/strerror, modules/strtod:
122065         Now LGPL, not GPL.
122067 2005-07-05  Bruno Haible  <bruno@clisp.org>
122069         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
122070         autoconf CVS. Needed for mingw.
122072 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122074         Remove the dependency of the strftime module on the tzset module.
122075         * modules/strftime (Depends-on): Remove dependency on tzset.
122077 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122079         Remove the dependency of the strftime module on the tzset module.
122080         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
122081         gl_FUNC_TZSET_CLOBBER.
122083 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
122085         Remove the dependency of the strftime module on the tzset module.
122086         * lib/strftime.c (my_strftime)
122087         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
122088         Copy the input structure, to work around some of the bug with
122089         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
122090         Solaris releases, you should also use the tzset module, but we won't
122091         require it as a dependency any more since we don't want LGPLed code
122092         to depend on GPLed code.
122094 2005-07-02  Jim Meyering  <jim@meyering.net>
122096         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
122097         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
122098         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
122099         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
122101 2005-07-02  Jim Meyering  <jim@meyering.net>
122103         * lib/backupfile.c (backup_args): Change a `0' to NULL.
122105 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
122107         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
122108         declares only 'struct timespec;' (!).
122110 2005-07-01  Jim Meyering  <jim@meyering.net>
122112         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
122113         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
122114         * lib/save-cwd.c, tempname.c:
122115         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
122116         and don't include <sys/file.h>).
122118 2005-06-29  Jim Meyering  <jim@meyering.net>
122120         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
122121         type name.  Use the variable name instead.
122122         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
122123         Likewise.
122125 2005-06-28  Simon Josefsson  <jas@extundo.com>
122127         * modules/check-version (Files): Add check-version.m4.
122129 2005-06-28  Simon Josefsson  <jas@extundo.com>
122131         * m4/check-version.m4: New file, suggested by Jim Meyering
122132         <jim@meyering.net>.
122134 2005-06-28  Simon Josefsson  <jas@extundo.com>
122136         * lib/check-version.h, lib/check-version.c: New files.
122138 2005-06-28  Simon Josefsson  <jas@extundo.com>
122140         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
122141         collision with global variable.  Better indentation.  Don't
122142         increment buffer pointer beyond buffer end.  Based on comments
122143         from Paul Eggert <eggert@cs.ucla.edu>.
122145         * lib/base64.h: Indent.
122147 2005-06-28  Simon Josefsson  <jas@extundo.com>
122149         * doc/gnulib.texi (Library version handling): New section.
122151 2005-06-28  Jim Meyering  <jim@meyering.net>
122153         * check-module (find_included_lib_files): Hard-code another
122154         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
122155         but modules/fts-lgpl (correctly) does not list those files.
122157         * modules/canonicalize (Files): Add lib/pathmax.h.
122159 2005-06-25  Simon Josefsson  <jas@extundo.com>
122161         * modules/check-version: New file.
122163 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
122165         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
122166         initializer of struct addrinfo, as an indication that we don't
122167         care how many members the structure has.
122169 2005-06-24  Derek Price  <derek@ximbiot.com>
122170         and Bruno Haible  <bruno@clisp.org>
122172         Remove stat module & update lstat.
122173         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
122174         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
122175         * m4/stat.m4: Remove this file.
122177 2005-06-24  Derek Price  <derek@ximbiot.com>
122178         and Bruno Haible  <bruno@clisp.org>
122180         Remove stat module & update lstat.
122181         * lib/stat.c: Remove this file...
122182         (slash_aware_lstat): ...moving this content and its support...
122183         * lib/lstat.c (rpl_lstat): ...into here.
122184         * lib/lstat.h: New file.
122186 2005-06-24  Derek Price  <derek@ximbiot.com>
122187         and Bruno Haible  <bruno@clisp.org>
122189         Remove stat module & update lstat.
122190         * config/srclist.txt (libc sources): Remove stat.
122192 2005-06-24  Derek Price  <derek@ximbiot.com>
122193         and Bruno Haible  <bruno@clisp.org>
122195         Remove stat module & update lstat.
122196         * MODULES.html.sh (stat): Remove.
122197         * MODULES.html: Regenerated.
122198         * modules/lstat (Description): Correct function name.
122199         (Files): Add "lstat.h".
122200         (Depends-on): Remove stat, add xalloc, stat-macros.
122201         * modules/stat: Remove this file.
122202         (Include): Add "lstat.h", remove <sys/stat.h>.
122204 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
122206         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
122207         (ranged_convert): Don't save conversion in a temporary struct.
122208         This causes a warning with GCC 4.0.0, and anyway in the typical
122209         case it's not worth the extra 100 bytes or so of code.
122210         (ranged_convert, __mktime_internal): When calling a function via a
122211         pointer P, use P () rather than (*P) (), as we now assume C89 or
122212         better.
122214 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
122216         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
122217         "who -r" failed to give output.  Problem reported by Tim Waugh.
122219         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
122220         (xcalloc): Use it to avoid needless tests.
122221         Problem reported by Jim Meyering.
122223 2005-06-20  Derek Price  <derek@ximbiot.com>
122225         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
122226         unnecessary for Autoconfs > 2.59c.
122228 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122230         * lib/argp.h (__option_is_short): Check upper limit of
122231         __key. Isprint() requires its argument to have the value
122232         of an unsigned char or EOF.
122234 2005-06-16  Jim Meyering  <jim@meyering.net>
122236         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
122237         when either N or S is zero.
122239 2005-06-16  Derek Price  <derek@ximbiot.com>
122241         * m4/bison.m4: Declare YACC & YFLAGS precious.
122243 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
122245         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
122246         multibyte string or pattern, fall back on unibyte matching.
122247         Problem reported by James Youngman.
122249 2005-06-08  Bruno Haible  <bruno@clisp.org>
122251         * modules/csharpcomp: New file.
122252         * MODULES.html.sh (C#): Add csharpcomp.
122254 2005-06-08  Bruno Haible  <bruno@clisp.org>
122256         * m4/csharpcomp.m4: New file, from GNU gettext.
122258 2005-06-08  Bruno Haible  <bruno@clisp.org>
122260         * lib/csharpcomp.h: New file, from GNU gettext.
122261         * lib/csharpcomp.c: New file, from GNU gettext.
122262         * lib/csharpcomp.sh.in: New file, from GNU gettext.
122264 2005-06-08  Bruno Haible  <bruno@clisp.org>
122266         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
122267         warning on mingw.
122269 2005-06-07  Derek Price  <derek@ximbiot.com>
122271         Sync from CVS.
122272         * lib/glob_.h: Indent nested #ifdef.
122274 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122276         Sync from coreutils.
122277         Use "file name" when talking about file names, instead of "filename"
122278         or "path", as per the GNU coding standards.
122279         * lib/mkdir-p.c: Renamed from makepath.c.
122280         (make_dir_parents): Renamed from make_path.  All callers changed.
122281         * lib/mkdir-p.h: Likewise.  All includers changed.
122282         * lib/filenamecat.c: Renamed from path-concat.c.
122283         (file_name_concat): Renamed from path_concat.  All callers changed.
122284         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
122285         * lib/filenamecat.h: Likewise.  All includers changed.
122286         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
122287         in comments or local variable names.
122288         * lib/basename.c: Likewise.
122289         * lib/canonicalize.c, canonicalize.h: Likewise.
122290         * lib/dirname.c, dirname.h: Likewise.
122291         * lib/euidaccess.c: Likewise.
122292         * lib/exclude.c: Likewise
122293         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
122294         * lib/fsusage.c, fsuage.h: Likewise.
122295         * lib/fts.c, fts_.h: Likewise.
122296         * lib/getcwd.c: Likewise.
122297         * lib/getloadavg.c: Likewise.
122298         * lib/mkstemp.c: Likewise.
122299         * lib/mountlist.c, mountlist.h: Likewise.
122300         * lib/openat.c, openat.h: Likewise.
122301         * lib/readlink-stub.c: Likewise.
122302         * lib/readutmp.c, readutmp.h: Likewise.
122303         * lib/rename.c: Likewise.
122304         * lib/rmdir.c: Likewise.
122305         * lib/same.c: Likewise.
122306         * lib/savedir.c: Likewise.
122307         * lib/stripslash.c: Likewise.
122308         * lib/tempname.c: Likewise.
122309         * lib/xreadlink.c: Likewise.
122310         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
122311         All uses changed.
122312         * lib/exclude.h: Likewise.
122314         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
122315         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122316         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
122317         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122318         * lib/pathmax.h: Include <limits.h> unconditionally, since other
122319         files have been getting away with it for years (MORE/BSD 4.3
122320         is extinct now).
122321         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
122322         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122324         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
122325         Define to 256, not 255, as per modern POSIX.
122327 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122329         Sync from coreutils.
122330         Use "file name" when talking about file names, instead of "filename"
122331         or "path", as per the GNU coding standards.
122332         * MODULES.html.sh: mkdir-p renamed from makepath.
122333         filenamecat renamed from path-concat.
122334         * modules/filenamecat: Renamed from modules/path-concat.
122335         (Files): filenamecat.h and filenamecat.c renamed from
122336         path-concat.h and path-concat.c.
122337         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
122338         (Include): filenamecat.h, not path-concat.h.
122339         * modules/mkdir-p: Renamed from modules/makepath.
122340         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
122341         makepath.c.
122342         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
122343         (Include): mkdir-p.h, not makepath.h.
122345 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122347         Sync from coreutils.
122348         * m4/mkdir-p.m4: Renamed from makepath.m4.
122349         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
122350         Rename files from makepath.c to mkdir-p.c, and from
122351         makepath.h to mkdir-p.h.
122352         * m4/filenamecat.m4: Renamed from path-concat.m4.
122353         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
122354         Rename files from path-concat.c to filenamecat.c,
122355         and from path-concat.h to filenamecat.h.
122356         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
122357         "file name" in local variables or comments.
122358         * m4/rename.m4: Likewise.
122360 2005-06-01  Bruno Haible  <bruno@clisp.org>
122362         * modules/csharpexec: New file.
122363         * MODULES.html.sh (C#): New section.
122365 2005-06-01  Bruno Haible  <bruno@clisp.org>
122367         * m4/csharp.m4: New file, from GNU gettext.
122368         * m4/csharpexec.m4: New file, from GNU gettext.
122370 2005-06-01  Bruno Haible  <bruno@clisp.org>
122372         * lib/csharpexec.h: New file, from GNU gettext.
122373         * lib/csharpexec.c: New file, from GNU gettext.
122374         * lib/csharpexec.sh.in: New file, from GNU gettext.
122376 2005-05-31  Derek Price  <derek@ximbiot.com>
122377             Paul Eggert  <eggert@cs.ucla.edu>
122379         Sync from cvs.
122380         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122382 2005-05-31  Derek Price  <derek@ximbiot.com>
122383             Paul Eggert  <eggert@cs.ucla.edu>
122385         Sync from cvs.
122386         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122388 2005-05-29  Derek Price  <derek@ximbiot.com>
122390         * config/srclist.txt (glob_.h, glob.c): Add these files.
122392 2005-05-29  Derek Price  <derek@ximbiot.com>
122394         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
122395         * modules/glob: New file.
122396         * modules/getlogin_r: Add link to POSIX spec in description.
122398 2005-05-29  Derek Price  <derek@ximbiot.com>
122399             Paul Eggert  <eggert@cs.ucla.edu>
122401         * m4/glob.m4: New file.
122403 2005-05-29  Derek Price  <derek@ximbiot.com>
122404             Paul Eggert  <eggert@cs.ucla.edu>
122406         * lib/glob_.h, lib/glob.c: New files.
122408 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122410         * modules/fts (Files): Remove m4/inttypes-pri.m4.
122411         * modules/fts-lgpl (Depends-on): Remove gettext.
122413 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122415         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
122416         and don't require gt_INTTYPES_PRI.
122418 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122420         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
122422         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
122423         the configuration hassle isn't worth it.
122424         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
122425         (LONGEST_MODIFIER, PRIuMAX): Remove.
122427 2005-05-27  Bruno Haible  <bruno@clisp.org>
122429         * lib/getlogin_r.h: Remove second include of <stddef.h>.
122431 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
122433         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
122434         _POSIX_PTHREAD_SEMANTICS for Solaris.
122436 2005-05-25  Derek Price  <derek@ximbiot.com>
122438         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
122440 2005-05-25  Derek Price  <derek@ximbiot.com>
122441             Paul Eggert  <eggert@cs.ucla.edu>
122443         * modules/getlogin_r, m4/getlogin_r.m4: New files.
122444         * lib/getlogin_r.c, getlogin_r.h: New files.
122446 2005-05-25  Bruno Haible  <bruno@clisp.org>
122447             Derek Price  <derek@ximbiot.com>
122449         * lib/getlogin_r.h: Simplify API documentation.
122451 2005-05-23  Derek Price  <derek@ximbiot.com>
122453         * modules/minmax (Files): Add m4/minmax.m4.
122454         (configure.ac): Add gl_MINMAX.
122456 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
122458         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
122459         so that unistd-safer.h (GPL'ed code) need not be included.
122461 2005-05-22  Bruno Haible  <bruno@clisp.org>
122463         * m4/minmax.m4: New file.
122464         Based on a patch by Derek Price <derek@ximbiot.com>.
122466 2005-05-22  Bruno Haible  <bruno@clisp.org>
122468         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
122469         (INT64_MIN): Fix definition.
122470         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
122472         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
122473         NEED_SIGNED_INT_TYPES.
122475         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
122476         HAVE_SYSTEM_INTTYPES.
122478 2005-05-22  Bruno Haible  <bruno@clisp.org>
122480         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
122481         Also include <sys/param.h> if it defines MIN, MAX.
122482         Based on a patch by Derek Price <derek@ximbiot.com>.
122484 2005-05-21  Jim Meyering  <jim@meyering.net>
122486         * modules/fts (Files): Add m4/inttypes-pri.m4.
122487         (Depends-on): Add lstat and remove gettext.  Alphabetize.
122489 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122491         New fts module.
122492         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
122493         (setup_dir, free_dir): New functions.
122494         (enter_dir, leave_dir): Define trivial
122495         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
122496         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
122497         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
122498         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
122499         Move to fts-cycle.c.
122500         (fts_open): Use setup_dir.
122501         (fts_close): Use free_dir.
122502         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
122503         This adds a label and some gotos, but the alternatives were messier.
122504         Check for memory allocation failure when entering a dir.
122505         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
122506         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
122507         (FTS): New member fts_cycle, that is a union that contains the
122508         old active_dir_ht and cycle_state.  All uses changed to mention
122509         fts_cycle.ht and fts_cycle.state.
122510         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
122511         fts.c, with the following changes:
122512         (setup_dir, free_dir): New functions.
122513         (enter_dir): Now returns bool.  Return true if successful, false
122514         if memory exhausted.  All callers changed.
122515         Do not bother partly cleaning up on
122516         memory allocation failure; that is free_dir's job.
122517         However, free ad if hash_insert fails, to avoid memory leak.
122518         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
122519         fts->fts_options to see which union member to use.
122521 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122523         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
122524         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
122526 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122528         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
122530 2005-05-20  Jim Meyering  <jim@meyering.net>
122532         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
122533         Now a macro, to pacify GCC.
122535 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122537         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
122538         of -1.
122540 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122542         * lib/chown.c (rpl_chown): Return -1 on failure.
122544 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122546         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
122547         Don't check for stddef.h.
122548         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
122549         don't use its results.
122550         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
122551         since we include them unconditionally.  Don't require
122552         AM_STDBOOL_H, since stdbool is a prerequisite.
122553         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
122554         since we assume C89 or better.
122555         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
122556         as we don't use their results.
122557         Don't check for fchdir, memmove, memset, strrchr, as we use
122558         them unconditionally.
122559         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
122560         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
122562 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122564         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
122565         Include <stddef.h> unconditionally, since we assume C89 now.
122566         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
122567         * lib/fts.c: Include fts_.h first, to check interface.
122568         Do not include intprops.h; no longer needed.
122569         Include cycle-check.h and hash.h, since fts_.h no longer does.
122570         Remove unnecessary casts of closedir to void.
122571         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
122572         decide whether to decrement nlinks.
122573         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
122574         (FTS): Use struct hash_table * instead of Hash_table, so that
122575         we no longer need to include hash.h here.
122577 2005-05-18  Jim Meyering  <jim@meyering.net>
122579         * modules/dirfd (License): Change to LGPL.  Most of the code
122580         is already in the public domain.
122582 2005-05-18  Jim Meyering  <jim@meyering.net>
122584         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
122585         Reported by Yoann Vandoorselaere.
122587 2005-05-17  Jim Meyering  <jim@meyering.net>
122589         * m4/fts.m4: New file, from coreutils.
122591 2005-05-17  Jim Meyering  <jim@meyering.net>
122593         * lib/fts.c, lib/fts_.h: New files, from coreutils.
122595 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122597         Sync from coreutils.
122598         * m4/unlinkdir.m4: New file.
122600 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122602         Sync from coreutils.
122603         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
122604         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
122605         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
122606         White space changes only.
122607         * lib/makepath.c (make_path): Port to hosts where leading "//" is
122608         special.
122609         * lib/yesno.c: Include getline.h, not ctype.h.
122610         (yesno): Don't remove leading white space; POSIX doesn't allow it.
122611         Use getline to remove arbitrary restriction on response length.
122613 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122615         * config/srclist-update: Spell out "Street" in FSF postal
122616         mail address; this is the style the FSF seems to prefer.
122618         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
122619         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
122620         this updates FSF postal mail address.
122622         Sync from coreutils.
122623         * modules/unlinkdir: New file.
122624         * modules/yesno (Depends-on): Add getline.
122625         * MODULES.html.sh (File system functions): Add unlinkdir.
122627 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122629         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
122630         lib/strsep.h:
122631         Change the initial comment to refer to GPL, not LGPL.
122632         gnulib-tool will change it to LGPL as needed.
122634         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
122635         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
122636         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
122637         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
122638         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
122639         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
122640         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
122641         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
122642         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
122643         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
122644         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
122645         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
122646         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
122647         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
122648         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
122649         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
122650         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
122651         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
122652         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
122653         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
122654         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
122655         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
122656         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
122657         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
122658         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
122659         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
122660         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
122661         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
122662         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
122663         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
122664         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
122665         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
122666         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
122667         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
122668         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
122669         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
122670         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
122671         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
122672         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
122673         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
122674         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
122675         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
122676         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
122677         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
122678         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
122679         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
122680         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
122681         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
122682         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
122683         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
122684         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
122685         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
122686         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
122687         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
122688         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
122689         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
122690         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
122691         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
122692         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
122693         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
122694         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
122695         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
122696         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
122697         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
122698         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
122699         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
122700         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
122701         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
122702         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
122703         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
122704         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
122705         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
122706         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
122707         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
122708         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
122709         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
122710         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
122711         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
122712         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
122713         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
122714         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
122715         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
122716         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
122717         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
122718         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
122719         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
122720         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
122721         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
122722         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
122723         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
122724         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
122725         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
122726         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
122727         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
122728         lib/yesno.c, lib/yesno.h:
122729         Update FSF postal mail address.
122731 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122733         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
122734         tests/test-memmem.c, tests/test-stpncpy.c:
122735         Update FSF postal mail address.
122737 2005-05-13  Bruno Haible  <bruno@clisp.org>
122739         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
122740         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
122741         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
122742         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
122743         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
122744         Add support for 64-bit integers in the MSVC compiler.
122746 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122748         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
122750 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
122752         * gnulib-tool (func_import): Sort and uniquify recommended includes.
122754 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
122756         * doc/getdate.texi (General date syntax): Don't say that date
122757         date --iso-8601=ns generates acceptable dates; it doesn't yet.
122758         Problem reported by Nic Ferrier.
122760 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122762         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
122763         specified in ai_socktype. Fix invalid ai_protocol
122764         check. ai_protocol is usually set to 0 or depending on
122765         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
122766         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
122767         ai_socktype / ai_protocol in the returned addrinfo structure.
122769 2005-05-10  Simon Josefsson  <jas@extundo.com>
122771         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
122772         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
122774 2005-05-10  Karl Berry  <karl@gnu.org>
122776         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
122777         (from http://www.gnu.org/licenses).
122778         * doc/COPYING.LIB: also rename to COPYING.LESSER.
122779         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
122780         fdl.texi suffices.
122782 2005-05-10  Karl Berry  <karl@gnu.org>
122784         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
122785         (COPYING.DOC): remove.
122787         * config/srclist-update: new FSF address.
122789 2005-05-10  Derek Price  <derek@ximbiot.com>
122791         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
122792         possible.
122794 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122795             Bruno Haible  <bruno@clisp.org>
122797         * modules/inet_ntop: New file.
122798         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122799         inet_ntop.
122801 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122802             Bruno Haible  <bruno@clisp.org>
122804         * m4/inet_ntop.m4: New file.
122806 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122807             Bruno Haible  <bruno@clisp.org>
122809         * lib/inet_ntop.h: New file.
122810         * lib/inet_ntop.c: New file, from glibc with modifications.
122812 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
122814         * modules/time_r (License): Change to LGPL.
122815         * modules/extensions (License): Change to LGPL.  Actually,
122816         the license is more permissive than that, but currently gnulib-tool
122817         doesn't know how to handle more-permissive licenses.
122819         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
122820         Problem reported by Dave Love.
122822 2005-05-08  Jim Meyering  <jim@meyering.net>
122824         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
122825         blank.
122827 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
122829         * modules/argmatch (Depends-on): Add stdbool.
122830         * modules/backupfile (Depends-on): Likewise.
122831         * modules/chdir-long (Depends-on): Likewise.
122832         * modules/closeout (Depends-on): Likewise.
122833         * modules/cycle-check (Depends-on): Likewise.
122834         * modules/dirname (Depends-on): Likewise.
122835         * modules/fnmatch (Depends-on): Likewise.
122836         * modules/fsusage (Depends-on): Likewise.
122837         * modules/fwriteerror (Depends-on): Likewise.
122838         * modules/getcwd (Depends-on): Likewise.
122839         * modules/getloadavg (Depends-on): Likewise.
122840         * modules/hard-locale (Depends-on): Likewise.
122841         * modules/makepath (Depends-on): Likewise.
122842         * modules/mountlist (Depends-on): Likewise.
122843         * modules/nanosleep (Depends-on): Likewise.
122844         * modules/posixtm (Depends-on): Likewise.
122845         * modules/quotearg (Depends-on): Likewise.
122846         * modules/readtokens (Depends-on): Likewise.
122847         * modules/readtokens0 (Depends-on): Likewise.
122848         * modules/readutmp (Depends-on): Likewise.
122849         * modules/save-cwd (Depends-on): Likewise.
122850         * modules/strftime (Depends-on): Likewise.
122851         * modules/userspec (Depends-on): Likewise.
122852         * modules/utimecmp (Depends-on): Likewise.
122853         * modules/xgetcwd (Depends-on): Likewise.
122854         * modules/xnanosleep (Depends-on): Likewise.
122855         * modules/xstrtod (Depends-on): Likewise.
122856         * modules/yesno (Depends-on): Likewise.
122858 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
122860         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
122861         needless checks.
122863 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122865         Merge from coreutils.  Among other things,
122866         add bulletproofing for cases where stdin, stdout, or stderr are closed.
122867         * lib/fd-safer.c: New file.
122868         * lib/fcntl-safer.h, open-safer.c: Remove.
122869         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
122870         * lib/dup-safer.c: Include unistd-safer.h first.
122871         Don't include errno.h.
122872         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
122873         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
122874         * lib/file-type.c: Rely on file-type.h change.
122875         * lib/getloadavg.c: Include unistd-safer.h.
122876         (getloadavg): Use safer open.
122877         * lib/getusershell.c: Include "stdio-safer.h".
122878         (getusershell): Use safer fopen.
122879         * lib/long-options.c (long_options): Use NULL rather than 0.
122880         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
122881         'free'.
122882         * lib/modechange.c: Likewise.
122883         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
122884         (MODE_DONE): New constant.
122885         (struct mode_change): Remove 'next' member.
122886         (make_node_op_equals): New function; like the old one of the
122887         same name, except it allocates an array.
122888         (mode_compile, mode_create_from_ref): Use it.
122889         (mode_compile): Allocate result as an array, not a linked list.
122890         Parse octal string ourself, so that we catch mistakes like "+0".
122891         (mode_adjust): Arg is an array, not a linked list.
122892         * lib/modechange.c: Include stat-macros.h, xalloc.h.
122893         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
122894         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
122895         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
122896         Remove.  This is now stat-macros.h's job.
122897         (talloc): Remove.  All callers replaced by xalloc, so that
122898         our invokers don't have to worry about reporting memory failures.
122899         (make_node_op_equals): Remove.
122900         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122901         New constants.
122902         (struct mode_change): Moved here from modechange.h.
122903         (mode_append_entry): Remove.
122904         (mode_compile): Remove MASKED_OPS arg, since it encouraged
122905         apps to have incorrect behavior.  Use simpler algorithm for head
122906         and tail.  Don't futz with umask; that's now the job of mode_adjust.
122907         Detect more invalid usages rather than having somewhat-random behavior.
122908         Don't insert an "a=" action, as that leads to incorrect behavior.
122909         (mode_compile, mode_create_from_ref): Return NULL on error instead
122910         of an enum, since now there's only one way to have an error.  All
122911         callers changed.
122912         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
122913         at the correct time.  Simplify calculation of "+u" and its ilk.
122914         Don't mishandle "+X".
122915         (mode_free): Remove "register" and localize decls.
122916         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122917         (struct mode_change): Move to modechange.c; callers don't
122918         need to see this stuff.
122919         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
122920         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
122921         (mode_change, mode_adjust): Reflect the new signatures noted above.
122922         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
122923         that might redefine system include files.
122924         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
122925         (my_usleep): Use NULL rather than (void *) 0.
122926         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
122927         Use siginterrupt to specify that system calls should be interrupted.
122928         (rpl_nanosleep): Move initialization of suspended closer to call of
122929         my_usleep.
122930         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
122931         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
122932         (desirable_utmp_entry): New function.
122933         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
122934         using x2nrealloc, to simplify logic.
122935         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
122936         size calculation.  Do not assume utmp file is a regular file.
122937         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
122938         (READ_UTMP_CHECK_PIDS): New constant.
122939         * lib/save-cwd.c: Include unistd-safer.h.
122940         (save_cwd): Use fd_safer.
122941         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
122942         [!_LIBC] Include "stat-macros.h" instead.
122943         * lib/unistd-safer.h (fd_safer): New decl.
122945 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122947         * modules/getloadavg (Depends-on): Add unistd-safer.
122948         * modules/getusershell (Depends-on): Add stdio-safer.
122949         * modules/lstat (Depends-on): Remove xalloc.
122950         * modules/mkstemp (Depends-on): Add stat-macros.
122951         * modules/modechange (Depends-on): Remove xstrtol.
122952         Add stat-macros, xalloc.
122953         * modules/save-cwd (Depends-on): Add unistd-safer.
122954         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
122955         * modules/unistd-safer (Files): Add lib/fd-safer.c
122956         (Makefile.am): Remove lib_SOURCES.
122958         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
122959         Remove fcntl-safer; unistd-safer supersedes it.
122961 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122963         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
122964         AC_HEADER_STAT.
122965         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
122966         (gl_PREREQ_CHOWN): Remove.
122967         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
122968         it.  Don't require AC_HEADER_STAT.
122969         (gl_PREREQ_LSTAT): Remove.
122970         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
122971         Don't require AC_HEADER_STAT.
122972         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
122973         (gl_PREREQ_RMDIR): Remove.
122974         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
122975         mention stat-macros.h or AC_HEADER_STAT, since we'll make
122976         the stat-macros module a prerequisite.
122977         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
122978         * m4/filemode.m4 (gl_FILEMODE): Likewise.
122979         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
122980         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
122981         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
122982         variable names.
122983         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
122984         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
122985         variable prefixes.
122986         * m4/fcntl-safer.m4: Remove.
122987         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
122988         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
122989         Invoke gl_PREREQ_FD_SAFER.
122990         (gl_PREREQ_FD_SAFER): New macro.
122991         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
122992         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
122993         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
122994         Remove duplicate call to AC_LIBOBJ(readutmp).
122995         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
122997         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
122998         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
123000 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
123002         * MODULES.html.sh (Misc): Add byteswap.
123004 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123006         * modules/getcwd (Depends-on): Add extensions.
123007         * modules/openat (Depends-on): Likewise.
123009 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123011         * modules/byteswap: New file.
123013 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123015         * m4/byteswap.m4: New file.
123017 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
123019         * lib/byteswap_.h: New file.
123021 2005-04-25  Karl Berry  <karl@gnu.org>
123023         * m4/gettext.m4: Update from GNU gettext 0.14.4.
123025 2005-04-25  Albert Chin  <china@thewrittenword.com>
123027         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
123028         Toolkit C bug.
123030 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
123032         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
123033         (func_ln_if_changed): Remove forcibly for no error message
123034         in case file does not exist.
123036 2005-04-19  Simon Josefsson  <jas@extundo.com>
123038         * gnulib-tool (Options): Make --symlink mean --symbolic.
123040 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
123042         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
123044 2005-04-16  Simon Josefsson  <jas@extundo.com>
123046         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
123048 2005-04-15  Simon Josefsson  <jas@extundo.com>
123050         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
123052 2005-04-15  Simon Josefsson  <jas@extundo.com>
123054         * gnulib-tool: Rename --symlink to --symbolic.
123056 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
123058         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
123059         symbolic links to files instead of copying/moving.  Add --aux-dir,
123060         specifying directory relative --dir where auxiliary build tools
123061         are placed.
123063 2005-04-14  Bruno Haible  <bruno@clisp.org>
123065         * modules/allocsa (License): Change to LGPL.
123066         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
123068 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
123070         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
123071         that "UTC +1 second" continues to work.  Problem reported
123072         by Dmitry V. Levin.
123073         (relunit_snumber): New rule.
123074         (relunit): Use it.
123076 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
123078         * lib/getdate.y (universal_time_zone_table): New constant.
123079         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
123080         universal_time_zone_table.
123081         (lookup_zone): Prefer universal_time_zone_table to
123082         local_time_zone_table, so that "GMT" time stamps are allowed in
123083         London during the summer.  Problem reported by Ian Abbott.
123085 2005-04-12  Jim Meyering  <jim@meyering.net>
123087         * lib/human.c (humblock): Set *options even when returning due to
123088         xstrtoumax conversion failure.  Thanks to a used-uninitialized
123089         warning from gcc-4.
123091 2005-04-09  Jim Meyering  <jim@meyering.net>
123093         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
123094         -Wuninitialized: initialize tm0.tm_year.
123096 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
123098         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
123099         count, since there's no maximum.  All uses changed.
123100         Add member dsts_seen.
123101         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
123102         not being INT_MAX.
123103         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
123104         Use pc_rels_seen to decide whether a date is absolute.
123106         * lib/getdate.y (number): Don't overwrite year.
123107         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
123108         check.
123110 2005-04-02  Simon Josefsson  <jas@extundo.com>
123112         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
123113         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
123115 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
123117         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
123118         where no absolute path name can be longer than PATH_MAX.
123120 2005-03-27  Jim Meyering  <jim@meyering.net>
123122         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
123124 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
123126         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
123127         "one's complement" -> "ones' complement" in comment, as per Knuth.
123128         "value of type" -> "type or expression" in comment.
123129         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
123131 2005-03-26  Jim Meyering  <jim@meyering.net>
123133         Comment nits.
123134         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
123135         Correct typos: s/or/of/.
123137 2005-03-26  Jim Meyering  <jim@meyering.net>
123139         * modules/check-include-files: Move to ../ and rename to...
123140         * check-module: ...this.
123142 2005-03-25  Jim Meyering  <jim@meyering.net>
123144         * modules/xvasprintf (Files): Add xalloc.h.
123146 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
123148         * modules/gettext (Files): config/config.rpath ->
123149         build-aux/config.rpath
123150         * modules/iconv (Files): Likewise.
123151         Problem reported by Oskar Liljeblad.
123153 2005-03-23  Jim Meyering  <jim@meyering.net>
123155         * modules/check-include-files: New script to check for
123156         missing dependencies, multiple includes, etc.
123158         * modules/c-strtold (Depends-on): Add xalloc.
123159         * modules/c-strtod (Depends-on): Add xalloc.
123160         * modules/hash (Depends-on): Add xalloc.
123161         (Files): Remove lib/xalloc.h.
123163         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
123164         * modules/userspec (Files): Add lib/inttostr.h.
123166 2005-03-23  Jim Meyering  <jim@meyering.net>
123168         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
123170 2005-03-22  Jim Meyering  <jim@meyering.net>
123172         * modules/stat-macros: New module.
123173         * modules/canonicalize, modules/euidaccess, modules/file-type,
123174         * modules/filemode, modules/lchown, modules/makepath,
123175         * modules/rmdir, modules/stat: Depend on new stat-macros module
123176         rather than listing lib/stat-macros.h manually.
123177         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
123179 2005-03-22  Jim Meyering  <jim@meyering.net>
123181         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
123183 2005-03-22  Bruno Haible  <bruno@clisp.org>
123185         * config/srclist.txt: Replace target directory 'config' with
123186         'build-aux'.
123187         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
123188         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
123189         ../build-aux/.
123191 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
123193         * modules/chdir-long (Depends-on): Add mempcpy.
123195         * modules/acl, modules/backupfile, modules/c-strtod,
123196         modules/c-strtold, modules/canon-host, modules/canonicalize,
123197         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
123198         modules/exclude, modules/exitfail, modules/file-type,
123199         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
123200         modules/getdate, modules/getline, modules/getpagesize,
123201         modules/getpass, modules/getugroups, modules/group-member,
123202         modules/hard-locale, modules/hash, modules/human, modules/idcache,
123203         modules/inttostr, modules/long-options, modules/makepath,
123204         modules/md5, modules/memcasecmp, modules/memcoll,
123205         modules/modechange, modules/mountlist, modules/path-concat,
123206         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
123207         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
123208         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
123209         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
123210         modules/strftime, modules/strndup, modules/strverscmp,
123211         modules/timespec, modules/unlocked-io, modules/userspec,
123212         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
123213         modules/yesno:
123214         Remove lib_SOURCES line from Makefile.am section, as this is now
123215         done automatically by the corresponding Autoconf macro.
123217 2005-03-21  Jim Meyering  <jim@meyering.net>
123219         Changes imported from coreutils.
123221         * lib/cycle-check.c: Don't include xalloc.h.
123223         * lib/path-concat.c: Don't include assert.h.
123224         (path_concat): Remove assertion that would have triggered
123225         for ABASE starting with more than one slash.
123226         Reported by Andreas Schwab.
123228         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
123229         properly when ABASE is an absolute file name.
123230         Correct the description of this function.
123231         Include <assert.h>.
123232         Add an assertion and a test driver.
123233         This fixes a bug introduced on 2004-07-02.
123234         Andreas Schwab reported the resulting failure of cp --parents:
123235         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
123237 2005-03-21  Jim Meyering  <jim@meyering.net>
123239         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
123240         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
123242 2005-03-21  Jim Meyering  <jim@meyering.net>
123243         and  Paul Eggert  <eggert@cs.ucla.edu>
123245         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
123246         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
123247         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
123248         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
123249         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
123250         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
123251         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
123252         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
123253         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
123254         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
123255         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
123256         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
123257         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
123258         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
123259         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
123260         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
123261         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
123262         for these modules.
123264 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
123266         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
123267         (which shouldn't happen), generate nothing instead of returning 0
123268         immediately, so that nstrftime (NULL, ...) doesn't return 0.
123270 2005-03-16  Bruno Haible  <bruno@clisp.org>
123272         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
123273         HAVE_LONGLONG_64BIT.
123275 2005-03-16  Bruno Haible  <bruno@clisp.org>
123277         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
123278         HAVE_LONGLONG_64BIT.
123280 2005-03-16  Bruno Haible  <bruno@clisp.org>
123282         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
123283         HAVE_LONGLONG_64BIT.
123285 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123287         * lib/strftime.c (my_strftime): Prepend space to format so that we can
123288         reliably distinguish strftime failure from empty output on POSIX
123289         hosts.
123291 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123293         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
123294         (iconv_string): Don't guess a size-zero buffer, as that might cause
123295         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
123296         result would be 'too large', where 'too large' is (heuristically)
123297         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
123298         overflow concerns.  This will prevent some unwanted malloc failures
123299         when the inputs are very large.
123301 2005-03-15  Karl Berry  <karl@gnu.org>
123303         * config/srclist.txt (config.rpath): from gettext.
123304         * config/config.rpath: update.
123306 2005-03-15  Bruno Haible  <bruno@clisp.org>
123308         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
123309         to 'negate'.
123311         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
123312         variable.
123314         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
123315         results.
123317 2005-03-14  Simon Josefsson  <jas@extundo.com>
123319         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
123320         <fx@gnu.org>.
123322 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
123324         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
123325         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
123326         intprops.h.
123327         * lib/strtol.c: Likewise.
123329 2005-03-14  Jim Meyering  <jim@meyering.net>
123331         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
123332         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
123333         to be nonzero so that we (and caller) can detect the difference
123334         between a valid zero-length expansion and an error return, even
123335         when the underlying strftime fails before writing anything into
123336         that location.
123338 2005-03-14  Bruno Haible  <bruno@clisp.org>
123340         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
123341         Update from GNU gettext 0.14.3.
123343 2005-03-10  Jim Meyering  <jim@meyering.net>
123345         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
123347 2005-03-10  Jim Meyering  <jim@meyering.net>
123349         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
123350         so that this module works on systems without fchdir.
123352 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
123354         Factor int-properties macros into a single file, except for
123355         glibc-related files.
123356         * lib/intprops.h: New file.
123357         * lib/getloadavg.c: Include it instead of limits.h.
123358         (INT_STRLEN_BOUND): Remove.
123359         * lib/human.c: Include intprops.h.
123360         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
123361         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
123362         302/1000.
123363         * lib/inttostr.h: Include intprops.h instead of limits.h.
123364         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
123365         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
123366         for consistency with intprops.h.
123367         (time_t_is_integer, twos_complement_arithmetic): Use them.
123368         * lib/sig2str.h: Include <signal.h>, intprops.h.
123369         (INT_STRLEN_BOUND): Remove.
123370         * lib/strftime.c (TYPE_SIGNED): Remove.
123371         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
123372         * lib/strtol.c: Adjust comments to match intprops.h.
123373         * lib/userspec.c: Include intprops.h.
123374         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
123375         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
123376         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
123377         instead of rolling our own expressions.
123378         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
123380         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
123381         instead of int.
123382         (my_strftime): Do not mishandle years close to INT_MAX, by doing
123383         the right thing even if adding 1900 would overflow.  Similarly
123384         for tm_mon + 1 and tm_yday + 1.
123385         Make %Y always equivalent to %C%y, and similarly for %G and %g.
123386         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
123387         (DO_SIGNED_NUMBER): New macro.
123388         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
123390 2005-03-07  Bruno Haible  <bruno@clisp.org>
123392         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
123394 2005-03-07  Bruno Haible  <bruno@clisp.org>
123396         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
123398 2005-03-04  Derek R. Price  <derek@ximbiot.com>
123400         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
123401         (func_import): Only replace files via --import when they have actually
123402         changed.
123404 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123406         * m4/mmap-anon.m4: New file.
123407         * m4/pagealign_alloc.m4: New file.
123409 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123410             Bruno Haible  <bruno@clisp.org>
123412         * modules/pagealign_alloc: New file.
123413         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
123415 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123416             Bruno Haible  <bruno@clisp.org>
123418         * lib/pagealign_alloc.h: New file.
123419         * lib/pagealign_alloc.c: New file.
123421 2005-03-03  Bruno Haible  <bruno@clisp.org>
123423         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
123424         Use an all-permissive copyright notice, recommended by RMS.
123426 2005-03-02  Bruno Haible  <bruno@clisp.org>
123428         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
123429         of AIX, the replacement has to be done only after <string.h> is
123430         included, therefore not in config.h. stpncpy.h does the replacement,
123431         and stpncpy.c uses it.
123433 2005-03-02  Bruno Haible  <bruno@clisp.org>
123435         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
123436         stpncpy.c uses it.
123438 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123440         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
123441         The workaround isn't strictly needed for POSIX conformance, and
123442         it's too much of a pain to configure and maintain.  We'll ask
123443         people to fix their kernels instead.
123444         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
123445         (NANOSLEEP_BUG_WORKAROUND): Remove.
123446         (xnanosleep): Remove the workaround.
123448 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123450         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
123451         Reported by Derek Price.
123452         (Include): Add "timespec.h".
123454         * modules/xnanosleep (Depends-on): Remove gethrxtime.
123456 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123458         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
123459         to detect nanosleep bug.
123461 2005-03-01  Bruno Haible  <bruno@clisp.org>
123463         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
123465 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
123467         * modules/gethrxtime: New file.
123468         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
123469         (Depends-on): Add gethrxtime.
123470         (configure.ac): Add gl_XNANOSLEEP.
123471         (Makefile.am): Remove lib_SOURCES line.
123473 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123475         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
123476         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
123478 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123480         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
123481         * lib/timespec.h (gettime): Return void, since it always
123482         succeeds now.  All uses changed.
123483         * lib/gettime.c (gettime): Likewise.
123484         [HAVE_NANOTIME]: Prefer nanotime.
123485         Assume gettimeofday succeeds, as POSIX requires.
123486         Assime time () succeeds, since other code already does.
123487         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
123488         (timespec_subtract): Remove.
123489         (NANOSLEEP_BUG_WORKAROUND): New constant.
123490         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
123491         things considerably.  Use it only on GNU/Linux hosts, since the
123492         workaround shouldn't be needed elsewhere.
123494 2005-02-24  Bruno Haible  <bruno@clisp.org>
123496         * modules/gettext (Files): Add m4/glibc2.m4.
123498 2005-02-24  Bruno Haible  <bruno@clisp.org>
123500         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
123501         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
123502         * m4/progtest.m4:
123503         Update from GNU gettext 0.14.2.
123504         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
123506 2005-02-24  Bruno Haible  <bruno@clisp.org>
123508         * lib/localcharset.c: Update from GNU gettext 0.14.2.
123509         * lib/config.charset: Update from GNU gettext 0.14.2.
123511 2005-02-24  Bruno Haible  <bruno@clisp.org>
123513         * lib/gettext.h: Update from GNU gettext 0.14.2.
123515 2005-02-23  Simon Josefsson  <jas@extundo.com>
123517         * m4/iconvme.m4: New file.
123519 2005-02-23  Jim Meyering  <jim@meyering.net>
123521         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
123522         change.
123523         Thanks to Bruno Haible for catching it.
123525 2005-02-22  Simon Josefsson  <jas@extundo.com>
123527         * modules/iconvme: New file.
123529         * MODULES.html.sh: Add iconvme.
123531 2005-02-22  Simon Josefsson  <jas@extundo.com>
123533         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
123535 2005-02-22  Simon Josefsson  <jas@extundo.com>
123537         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
123539 2005-02-22  Jim Meyering  <jim@meyering.net>
123541         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
123542         s/ifndef/ifdef/.
123544 2005-02-20  Neil Conway  <neilc@samurai.com>
123546         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
123547         returned by OSX/Darwin if the specified buffer is not large
123548         enough for the hostname.
123550 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123552         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
123553         pass it to _help, otherwise the latter coredumps trying to
123554         dereference state.root_argp.
123556 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123558         * modules/chdir-long (Depends-on): Add memrchr.
123559         * modules/memrchr (Files): Add lib/memrchr.h.
123560         (Include): "memrchr.h".
123562 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123564         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
123566 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123568         * lib/memrchr.h: New file.
123569         * lib/chdir-long.c: Include it.
123570         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
123571         Don't bother including stddef.h.
123573 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
123575         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
123576         inclusion.
123577         Include <sys/types.h>, for dev_t.
123578         (ME_DUMMY, ME_REMOTE): Move from here....
123579         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
123580         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
123581         Dmitry V. Levin.
123582         Include mountlist.h first, to test the interface.
123584 2005-01-29  Bruno Haible  <bruno@clisp.org>
123586         * lib/progname.c (program_name): Initialize.
123587         Needed when linking statically on MacOS X.
123589 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123591         Sync from coreutils.
123592         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
123593         (Depends-on): Add c-strtod.
123594         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
123596 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123598         Sync from coreutils.
123599         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
123601         Remove files that are specific to coreutils.
123602         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
123604 2005-01-28  Bruno Haible  <bruno@clisp.org>
123606         * modules/javacomp: New file.
123607         * MODULES.html.sh (Java): Add javacomp.
123609 2005-01-28  Bruno Haible  <bruno@clisp.org>
123611         * m4/javacomp.m4: New file, from GNU gettext.
123613 2005-01-28  Bruno Haible  <bruno@clisp.org>
123615         * lib/javacomp.sh.in: New file, from GNU gettext.
123616         * lib/javacomp.h: New file, from GNU gettext.
123617         * lib/javacomp.c: New file, from GNU gettext.
123619 2005-01-26  Simon Josefsson  <jas@extundo.com>
123621         * lib/gai_strerror.c: Use GPL in header.
123623 2005-01-26  Bruno Haible  <bruno@clisp.org>
123625         * modules/javaexec: New file.
123626         * MODULES.html.sh (Java): Add javaexec.
123628 2005-01-26  Bruno Haible  <bruno@clisp.org>
123630         * m4/javaexec.m4: New file, from GNU gettext.
123632 2005-01-26  Bruno Haible  <bruno@clisp.org>
123634         * lib/javaexec.sh.in: New file, from GNU gettext.
123635         * lib/javaexec.h: New file, from GNU gettext.
123636         * lib/javaexec.c: New file, from GNU gettext.
123638 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123640         * modules/lchown (Depends-on): Remove lchown.h
123642 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123644         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
123645         must be defined if the header file was not found, in order
123646         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
123648 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123650         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
123651         initializers for struct pentry_state.
123652         (__argp_error): Check return value of __asprintf
123653         (__argp_failure): Translate error message
123655         * lib/argp-parse.c: Removed braces around the expansion of N_()
123657 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
123659         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
123660         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
123661         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
123662         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
123663         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
123664         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
123665         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
123666         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
123667         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
123668         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
123669         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
123670         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
123671         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
123672         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
123673         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
123674         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
123675         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
123676         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
123677         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
123678         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
123679         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
123680         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
123681         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
123682         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
123683         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
123684         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
123685         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
123686         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
123687         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
123688         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
123689         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
123690         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
123691         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
123692         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
123693         xstrtol.m4, xstrtoumax.m4, yesno.m4:
123694         Use an all-permissive copyright notice, recommended by RMS.
123696 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
123698         * modules/chdir-long (Depends-on): Remove mempcpy.
123700 2005-01-21  Jim Meyering  <jim@meyering.net>
123702         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
123703         same value as for Solaris 9.
123705         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
123706         component length.  This included changing the parameter to be
123707         of type `char *' rather than `char const *'.
123708         * lib/chdir-long.h (chdir_long): Update prototype.
123710         * lib/openat.c (fdopendir, fstatat): New functions.
123711         * lib/openat.h: Include headers required for use of DIR and struct
123712         stat.
123713         [AT_SYMLINK_NOFOLLOW]: Define.
123714         (fdopendir, fstatat): Add prototypes.
123716 2005-01-21  Bruno Haible  <bruno@clisp.org>
123718         * modules/classpath: New file.
123719         * MODULES.html.sh (Java): Add classpath.
123721 2005-01-21  Bruno Haible  <bruno@clisp.org>
123723         * lib/classpath.h: New file, from GNU gettext.
123724         * lib/classpath.c: New file, from GNU gettext.
123726 2005-01-20  Simon Josefsson  <jas@extundo.com>
123728         * modules/version-etc-fsf: New file.
123730 2005-01-20  Simon Josefsson  <jas@extundo.com>
123732         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
123733         * lib/version-etc.c: Remove version_etc_copyright.
123734         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
123735         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
123737 2005-01-20  Simon Josefsson  <jas@extundo.com>
123739         * lib/base64.h (isbase64): Add.
123741         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
123742         using a unsigned prototype, don't inline.
123743         (base64_decode): Use it.
123745 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123747         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
123748         it.
123750 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123752         * lib/save-cwd.c (save_cwd): Remove code to support the case
123753         where fchdir is missing or flaky.
123755 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123757         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
123759 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
123761         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
123762         AC_LIBSOURCES now does this.
123763         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
123764         with new ullong_max module.
123766 2005-01-19  Bruno Haible  <bruno@clisp.org>
123768         * modules/sh-quote: New file.
123769         * MODULES.html.sh (Executing programs): Add sh-quote.
123771 2005-01-19  Bruno Haible  <bruno@clisp.org>
123773         * lib/sh-quote.h: New file, from GNU gettext.
123774         * lib/sh-quote.c: New file, from GNU gettext.
123776 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123778         Merge from coreutils.
123779         * m4/ullong_max.m4: New file.
123780         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
123781         (gl_MACROS): Assume localeconv exists.
123783 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123785         Merge changes from coreutils, as described below in several
123786         changelogs dated today.
123788         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
123789         (O_DIRECTORY): Remove; not needed here, since "." must be
123790         a directory.  All uses removed.
123791         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
123792         universal on Suns, and we also need to test for IRIX.
123793         Revamp code to use 'if' rather than '#if'.
123794         Avoid unnecessary comparison of cwd->desc to 0.
123796         * lib/utimens.c (futimens): Robustify the previous patch, by checking
123797         for known valid error numbers rather than observed invalid ones.
123799 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123801         * modules/ullong_max: New file.
123803         * modules/chdir-long, modules/openat: New files.
123804         * modules/save-cwd (Depends-on): Depend on chdir-long.
123805         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
123807 2005-01-18  Jim Meyering  <jim@meyering.net>
123809         Merge from coreutils.
123810         * m4/chdir-long.m4, m4/openat.m4: New files.
123811         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
123812         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
123813         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
123814         is sane and DOES follow symlinks.  Besides, testing 20 different
123815         systems found no broken chown implementations.
123816         Prompted by a change in rsync's copy of this macro.
123817         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
123819         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
123821         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
123822         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
123823         NULL-means-set-to-current-time semantics.
123824         Remove temporary file immediately, rather than waiting
123825         for configure's at-exit trap code to do it.
123827 2005-01-18  Jim Meyering  <jim@meyering.net>
123829         * lib/version-etc.c (version_etc_copyright): Update copyright date.
123831         * lib/utimens.c (futimens): Account for the fact that futimes
123832         can also fail with errno == ENOSYS or errno == ENOENT.
123833         Patch from Dmitry V. Levin.
123835         Change the name of the robust chdir function from chdir to chdir_long.
123836         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
123837         (restore_cwd): Use chdir_long, not chdir.
123838         * lib/chdir-long.c: Renamed from chdir.c.
123839         * lib/chdir-long.h: Renamed from chdir.h.
123840         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
123841         Hurd.
123843 2005-01-18  Bruno Haible  <bruno@clisp.org>
123845         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
123846         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
123847         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
123848         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
123849         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
123850         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
123851         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
123852         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
123853         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
123854         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
123855         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
123856         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
123857         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
123858         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
123859         Use an all-permissive copyright notice, recommended by RMS.
123861 2005-01-18  Bob Proulx  <bob@proulx.com>
123863         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
123864         simplify offsetof() macro construct to avoid compile failure with
123865         native HP-UX 11.0 ANSI C compiler.
123867 2005-01-17  Bruno Haible  <bruno@clisp.org>
123869         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
123870         redundant because stpncpy.m4 takes care of it.
123872 2005-01-17  Bruno Haible  <bruno@clisp.org>
123874         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
123876 2005-01-17  Bruno Haible  <bruno@clisp.org>
123878         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
123879         used.
123881 2005-01-17  Bruno Haible  <bruno@clisp.org>
123883         * lib/fwriteerror.h (fwriteerror): Change specification to include
123884         fclose.
123885         * lib/fwriteerror.c: Include <stdbool.h>.
123886         (fwriteerror): At the end, close the file stream. Record whether
123887         stdout was already closed.
123889 2005-01-17  Bruno Haible  <bruno@clisp.org>
123891         * lib/execute.c (environ): Declare if needed.
123892         * lib/pipe.c (environ): Likewise.
123893         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
123895 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123897         * modules/argp: Depend on vsnprintf
123899 2005-01-10  Jim Meyering  <jim@meyering.net>
123901         * modules/closeout (Depends-on): Add atexit.
123903 2005-01-06  Bruno Haible  <bruno@clisp.org>
123905         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
123907 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
123909         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
123910         definitions to be after all include files, to avoid collisions.
123911         Problem reported by Bob Proulx.
123913 2005-01-04  Jim Meyering  <jim@meyering.net>
123915         Changes imported from coreutils.
123916         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
123917         as the mkstemp template, use a temporary directory and an
123918         8.3-friendly template to avoid trouble on systems like DJGPP.
123919         Reported by Juan M. Guerrero via Stepan Kasal.
123920         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
123921         close. Remove the temporary directory right away, rather than waiting
123922         for configure's at-exit trap code to do it.
123923         Suggestion from Stepan Kasal.
123925 2005-01-01  Simon Josefsson  <jas@extundo.com>
123927         * gnulib-tool: Print #include directives when --import'ing.
123929 2004-12-28  Simon Josefsson  <jas@extundo.com>
123931         * tests/test-base64.c: Include required header files.  Remove
123932         unused variables.
123934 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123936         * modules/error (Depends-on): Remove gettext.
123938 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123940         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
123941         not needed.  This removes a dependency on the gettext module.
123942         [defined _LIBC]: Do not include <libintl.h>; not needed.
123944 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123946         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
123947         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
123949 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123951         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
123952         HAVE_DECL_STRTOLD.
123954 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123956         * modules/getdate (Depends-on): Remove alloca-opt.
123958 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123960         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
123962 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123964         * lib/argp-parse.c: Include <stddef.h>.
123965         (alignof, alignto): New macros.
123966         (parser_init): Don't assume that void * is aligned sufficiently
123967         for struct option.
123969         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
123970         need to extend the stack.
123971         (YYINITDEPTH): New macro, so that the initial stack isn't overly
123972         large.
123974 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123976         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
123978 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123980         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
123981         (2004-10-24) change.  Apparently this was a false alarm.
123983         * modules/getdate: Depend on alloca-opt, not alloca.
123985 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123987         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
123988         Remove now-obsolete comment about AIX.
123989         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
123990         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
123991         (YYMAXDEPTH): New macro.
123993 2004-12-18  Simon Josefsson  <jas@extundo.com>
123995         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
123997 2004-12-18  Bruno Haible  <bruno@clisp.org>
123999         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
124001 2004-12-18  Bruno Haible  <bruno@clisp.org>
124003         * lib/fatal-signal.c (fatal_signals): Make non-const.
124004         (init_fatal_signals): New function.
124005         (uninstall_handlers, install_handlers): Ignore signals that were set to
124006         SIG_IGN.
124007         (at_fatal_signal): Call init_fatal_signals.
124008         (init_fatal_signal_set): Likewise. Ignore signals that were set to
124009         SIG_IGN.
124010         Reported by Paul Eggert.
124012 2004-12-18  Bruno Haible  <bruno@clisp.org>
124014         * doc/alloca.texi: New file.
124015         * doc/alloca-opt.texi: New file.
124017 2004-12-17  Jim Meyering  <jim@meyering.net>
124019         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
124020         Otherwise, install-sh could exit with improper exit status when
124021         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
124023 2004-12-16  Simon Josefsson  <jas@extundo.com>
124025         * tests/test-base64.c: Add license.
124027 2004-12-15  Stepan Kasal  <address@hidden>
124029         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
124031 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
124033         * modules/getcwd (Files): Add m4/d-ino.m4.
124034         Suggested by Mark D. Baushke.
124036 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124038         * lib/getdate.y (textint): New member "negative".
124039         (time_zone_hhmm): New function.
124040         Expect 14 shift-reduce conflicts, not 13.
124041         (o_colon_minutes): New rule.
124042         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
124043         (yylex): Set the "negative" member of signed numbers.
124045 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
124047         * doc/getdate.texi (Time of day items, Time zone items):
124048         Describe new formats +00:00, UTC+00:00.
124050 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
124052         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
124053         spurious "-l"s.  Problem reported by Stepan Kasal.
124055 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
124057         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
124058         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
124060 2004-12-04  Simon Josefsson  <jas@extundo.com>
124062         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
124063         Vandoorselaere <yoann@prelude-ids.org>.
124065 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124067         Changes imported from coreutils.
124068         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
124069         exist.
124070         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
124072 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124074         Changes imported from coreutils.
124075         * lib/hard-locale.c: Assume <locale.h> exists.
124076         Include "strdup.h".
124077         (GLIBC_VERSION): New macro.
124078         (hard_locale): Assume setlocale exists.
124079         Rewrite to avoid #ifdef.
124080         Use strdup rather than malloc + strcpy.
124081         * lib/human.c: Assume <locale.h> exists.
124082         (human_readable): Assume localeconv exists.
124084 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
124086         * modules/hard-locale (Depends-on): Add strdup.
124088 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
124090         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
124091         convert T2, not T.  (Imported from libc.)
124093 2004-11-30  Simon Josefsson  <jas@extundo.com>
124095         * modules/restrict (License): Change to LGPL.
124097 2004-11-30  Simon Josefsson  <jas@extundo.com>
124099         * m4/restrict.m4: Add copyright and copying conditions.
124101 2004-11-30  Simon Josefsson  <jas@extundo.com>
124103         * m4/base64.m4: New file.
124105 2004-11-30  Simon Josefsson  <jas@extundo.com>
124107         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
124108         base64.
124110         * tests/test-base64.c: New file.
124112         * modules/base64: New file.
124114 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124116         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
124117         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
124119         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
124121 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
124123         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
124124         (__getcwd.c): Don't restore errno; glibc doesn't.
124125         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
124126         first, falling back to our code only if its results look suspicious.
124127         Ensure that the resulting buffer is only as large as necessary.
124129         * lib/readutmp.c: Include readutmp.h first.
124130         Include <errno.h>, since readutmp.h no longer does that.
124131         * lib/readutmp.h: Don't include <errno.h>,
124132         <sys/param.h>, <time.h>; not needed to establish interface.
124133         (errno): Remove decl.
124134         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
124135         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
124136         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
124138 2004-11-28  Simon Josefsson  <jas@extundo.com>
124140         * lib/base64.h, base64.c: New file.
124142 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
124144         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
124146 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
124148         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
124149         (Depends-on): Remove pathmax, same.  Add mempcpy.
124150         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
124151         (Makefile.am): Append getcwd.h to lib_SOURCES.
124152         (Include): Add getcwd.h.
124153         (Maintainer): Change from Jim Meyering to "all, glibc",
124154         since getdate now uses intended-for-glibc code.
124155         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
124156         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
124158 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124160         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
124161         HP's ANSI C compiler.
124162         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
124163         Declaring int functions causes warnings on some modern systems and
124164         shouldn't be needed to compile on ancient ones.
124165         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
124166         defined.
124168         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
124169         with the following changes.
124170         (__set_errno): Parenthesize properly.
124171         Include <stdbool.h>.
124172         (MIN, MAX, MATCHING_INO): New macros.
124173         (__getcwd): Define with prototype, not K&R form.
124174         Use heuristics to allocate default buffer on stack if possible.
124175         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
124176         behavior, and to avoid the PATH_MAX limit when computing
124177         ../../../../...
124178         Use MATCHING_INO to compare inode number to file.
124179         Check for arithmetic overflow in size calculations.
124180         Fix bug in reallocation of dot array that caused getcwd to fail
124181         on directories nested deeper than 75.
124182         Be more careful about saving errno on error.
124183         Do not use realloc; use only free+malloc, as this is a bit
124184         more flexible and avoids a needless copy operation.
124185         Do not inspect st_dev and st_ino for symbolic links; POSIX
124186         doesn't specify the latter.
124187         Check for closedir errors.
124188         Avoid needless casts.
124189         Use "#ifdef weak_alias" around weak_alias, to be like other
124190         glibc code.
124191         The following changes to getcwd.c have effect only when used in
124192         gnulib; they have no effect inside glibc proper.
124193         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
124194         as alloca isn't used.
124195         (alloca, __alloca): Likewise.
124196         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
124197         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
124198         unconditionally, as gnulib assumes C89 or better.
124199         Do not include <sys/param.h>.
124200         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
124201         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
124202         better.
124203         (NULL) [!defined NULL]: Remove; we assume C89 or better.
124204         Include <dirent.h> in a way that is compatible with modern Autoconf.
124205         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
124206         New macros, if not already defined.
124207         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
124208         Use "_LIBC", not "defined _LIBC", for consistency.
124209         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
124210         a mempcpy module.
124211         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
124212         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
124213         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
124214         credit only to Jim Meyering and adjust the copyright dates.
124215         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
124216         <stdlib.h>, <unistd.h>, "pathmax.h".
124217         Instead, include "xgetcwd.h" (first) and "getcwd.h".
124218         (INITIAL_BUFFER_SIZE): Remove.
124219         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
124221 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124223         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
124224         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
124225         Use the _ONCE methods, for efficiency.
124226         Check for fcntl.h.  In test program, include <errno.h>
124227         and <fcntl.h> if available.  Remove old K&R cruft from
124228         test program.  Check for common errors in GNU/Linux,
124229         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
124230         don't do AC_LIBOBJ, as that's getcwd.m4's job.
124231         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
124232         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
124233         name accordingly.
124234         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
124235         accommodate new getcwd.c.
124236         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
124237         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
124238         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
124239         that's all we need now.
124241 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124243         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
124244         argp-parse.c depends on getopt internals, that means we should
124245         always use our getopt, to be on the safe side.
124246         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
124247         order not to spoil the result of an eventual previous invocation
124248         of gl_GETOPT_SUBSTITUTE.
124250 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124252         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
124253         redefinition warnings. To avoid them, include the defines
124254         in `#if !defined __need_getopt ... #endif'. The only place
124255         where __getopt_argv_const is used is in definitions
124256         of getopt_long and getopt_long_only below, which are as well
124257         protected by `#ifndef __need_getopt'.
124258         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
124259         __need_getopt after including <stdio.h> and <unistd.h> These
124260         headers might have defined it.
124262 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124264         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
124266 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124268         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
124269         (futimens): New function, which uses futimes if available.
124270         (futimens, utimens): Support timespec==NULL, with same semantics
124271         as utime and utimens.
124272         * lib/utimens.h (futimens): New decl.
124274 2004-11-23  Jim Meyering  <jim@meyering.net>
124276         * lib/getopt_.h: Remove trailing blanks.
124278 2004-11-23  Jim Meyering  <jim@meyering.net>
124280         * lib/__fpending.c: Add comment.
124282 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
124284         * modules/canonicalize (Depends-on): Add xreadlink.
124285         Problem reported by James Youngman.
124287 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
124289         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
124290         New macros.
124291         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
124292         optopt): Use them instead of invoking ## directly; otherwise, the
124293         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
124295 2004-11-19  Bruno Haible  <bruno@clisp.org>
124297         * lib/strtok_r.c: Move comments from here...
124298         * lib/strtok_r.h: ... to here.
124300 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124302         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
124303         implementations that mishandle size_t overflow.
124305 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124307         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
124308         might fail.  Problem reported by Yoann Vandoorselaere.
124309         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
124310         implementations that mishandle size_t overflow.
124312 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124314         * modules/canon-host (Depends-on): Add strdup.
124316 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124318         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
124320 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124322         * lib/canon-host.c: Include "strdup.h".
124323         (canon_host): Use getaddrinfo if available, so that IPv6 works.
124324         Use strdup instead of malloc/strcpy to duplicate strings.
124326         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
124327         (human_space_before_unit): New constant.
124328         * lib/human.c (human_readable): Support it.
124330         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
124331         (xgetcwd): Set errno correctly when failing.
124332         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
124333         the failure is actually due to a PATH_MAX problem.
124335         Further getopt changes to make it more likely that glibc will
124336         buy the changes back.
124337         * lib/getopt.c (POSIXLY_CORRECT): New constant.
124338         (getopt): Use it, so to preserve glibc semantic
124339         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
124340         when compiling for libc.
124341         * lib/getopt_.h (__getopt_argv_const): Bring it back.
124342         (getopt_long, getopt_long_only): Use it.
124344         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124345         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
124346         (getopt): Argv is now char * const *, as per standard.
124347         (_getopt_internal_r, _getopt_internal): Argv is now char **,
124348         not char *__getopt_argv_const *.
124349         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124350         _getopt_long_only_r): Likewise.
124351         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
124352         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124353         _getopt_long_r, _getopt_long_only_r): Likewise.
124354         * lib/getopt_.h (__getopt_argv_const): Remove.
124355         (getopt): Argv is now char * const *, as per standard.
124357         * lib/getdate.y (tORDINAL): New token.
124358         (day, relunit): Allow it for relative times.
124359         (relative_time_table): Use tORDINAL for ordinals.
124361 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124363         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
124364         Document that "second" isn't allowed as an ordinal number.
124366 2004-11-16  Jim Meyering  <jim@meyering.net>
124368         * modules/closeout (Depends-on): Add fpending.
124370 2004-11-15  Jim Meyering  <jim@meyering.net>
124372         * lib/closeout.c: Include "__fpending.h" once again.
124373         Include <stdbool.h>.
124374         (close_stdout): Don't fail just because stdout was closed initially,
124375         since some programs don't write to stdout in the normal course of
124376         operation (other than --version and --help), and we don't want this
124377         function to make e.g. `touch file >&-' fail.
124378         But do fail if it was closed and someone has tried to write to it.
124379         E.g., `printf foo >&-' must fail.
124381 2004-11-13  Jim Meyering  <jim@meyering.net>
124383         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
124385 2004-11-12  Simon Josefsson  <jas@extundo.com>
124387         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
124388         small doc fix is still pending.
124390 2004-11-11  Simon Josefsson  <jas@extundo.com>
124392         * modules/strtok_r: New file.
124394         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124395         strtok_r.
124397 2004-11-11  Simon Josefsson  <jas@extundo.com>
124399         * m4/strtok_r.m4: New file.
124401         * m4/getopt.m4: Replace opterr.
124403 2004-11-11  Simon Josefsson  <jas@extundo.com>
124405         * lib/strtok_r.h, strtok_r.c: New file.
124407 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124409         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
124410         of replacing opterr, getopt, etc.  This should handle the
124411         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
124413 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124415         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
124416         we can stop lying to compilers about the constness of argv when we
124417         are compiled outside glibc.
124418         (getopt, getopt_long, getopt_long_only): Use it.
124419         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124420         _getopt_internal, getopt): Likewise.
124421         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124422         _getopt_long_only_r): Likewise.
124423         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124424         _getopt_long_r, _getopt_long_only_r): Likewise.
124426         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
124427         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
124428         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
124429         the other external symbols.
124430         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
124431         declaration, since the above renaming now works around collisions.
124433 2004-11-11  Jim Meyering  <jim@meyering.net>
124435         * lib/linebreak.c: Remove trailing blanks.
124436         * lib/alloca_.h: Likewise.
124437         * lib/acosl.c: Likewise.
124438         * lib/euidaccess.c: Likewise.
124439         * lib/allocsa.h: Likewise.
124441 2004-11-10  Simon Josefsson  <jas@extundo.com>
124443         * m4/getaddrinfo.m4: New file.
124445 2004-11-10  Simon Josefsson  <jas@extundo.com>
124447         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
124449 2004-11-10  Simon Josefsson  <jas@extundo.com>
124451         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124452         getaddrinfo.
124454         * modules/getaddrinfo: New file.
124456 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124458         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
124460 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124462         * lib/mktime.c (SHR): New macro, which is a portable
124463         substitute for >> that should work even on Crays.
124464         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
124465         Problem reported by Mark D. Baushke in
124466         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
124467         * lib/getdate.y (SHR): Likewise.
124468         (tm_diff): Use it.
124469         * lib/strftime.c (SHR): Likewise.
124470         (tm_diff): Use it.
124471         * lib/quotearg.c (struct quoting_options): Use unsigned int for
124472         quote_these_too, so that right shifts are well defined.  All uses
124473         changed.
124475 2004-11-10  Jim Meyering  <jim@meyering.net>
124477         Ensure that no close failure goes unreported.
124478         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
124479         return early when it seems there's nothing to flush.
124480         Don't include __fpending.h.
124482 2004-11-10  Jim Meyering  <jim@meyering.net>
124484         * modules/closeout (Depends-on): Remove fpending.
124486 2004-11-10  Jim Meyering  <jim@meyering.net>
124488         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
124490 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124492         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
124493         gl_FUNC_STRFTIME.
124494         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
124495         and AC_REQUIRE when possible, to avoid duplicate checks.
124496         Check for <wchar.h>.
124498 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124500         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
124502 2004-11-09  Bruno Haible  <bruno@clisp.org>
124504         * m4/sockpfaf.m4: New file.
124506 2004-11-05  Bruno Haible  <bruno@clisp.org>
124508         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
124509         Reported by Mark D. Baushke <mdb@cvshome.org>.
124511 2004-11-04  Bruno Haible  <bruno@clisp.org>
124513         2004-09-11  Bruno Haible  <bruno@clisp.org>
124514                 * allocsa.valgrind: New file.
124515         2004-02-06  Bruno Haible  <bruno@clisp.org>
124516                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
124517                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
124518                 Reported by Christopher Seip <chris.seip@hp.com>.
124520 2004-11-04  Bruno Haible  <bruno@clisp.org>
124522         * modules/allocsa (Files): Add lib/allocsa.valgrind.
124523         (Makefile.am): Distribute it.
124525 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
124527         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
124528         with errno == ERANGE if the buffer is too small.
124529         Problem reported by Mark D. Baushke.
124531 2004-11-03  Albert Chin  <china@thewrittenword.com>
124532             Paul Eggert  <eggert@cs.ucla.edu>
124534         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
124535         equivalent, substitute $ac_type for equivalent type rather than
124536         blindly using uint32_t *always* which won't work if uint32_t is not
124537         available.  Define _UINT32_T to work around typedef of uint32_t if
124538         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
124539         2.5.1.
124541 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124543         * m4/jm-macros.m4: Sync from coreutils.
124544         (gl_MACROS): Check for mbrlen, for pathchk.
124545         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
124547 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124549         * lib/xreadlink.c (MAXSIZE): New macro.
124550         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
124551         size does not exceed MAXSIZE.  Avoid cast.
124552         As suggested by Mark D. Baushke in
124553         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
124554         if readlink fails with buffer size just under MAXSIZE, try again
124555         with MAXSIZE.
124557 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124559         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
124561 2004-11-02  Derek R. Price  <derek@ximbiot.com>
124562         and  Paul Eggert  <eggert@cs.ucla.edu>
124564         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
124565         (get_date): Overparenthesize to avoid GCC warning.
124567 2004-11-02  Bruno Haible  <bruno@clisp.org>
124569         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
124570         returns void.
124572 2004-11-02  Bruno Haible  <bruno@clisp.org>
124574         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
124575         function returns void.
124577 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124579         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
124580         fflush_unlocked, flockfile, funlockfile, funlockfile,
124581         fputs_unlocked, putc_unlocked.
124583 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124585         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124586         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
124587         already declared.
124589 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124591         * modules/getdate (Files): Add doc/getdate.texi.
124592         (Depends-on): Add setenv, xalloc.
124594 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124596         * lib/getdate.y: Add support for TZ="foo" within a date string.
124597         Fix some bugs near time_t boundaries.  Reject dates with
124598         out-of-range components, e.g., "Sept 31".
124599         Include <stdlib.h>, "setenv.h", "xalloc.h".
124600         (ISDIGIT_LOCALE): Remove; unused.
124601         Note that the TZ and time functions used here are not reentrant.
124602         (mktime_ok, get_tz): New functions.
124603         (TZBUFSIZE): New constant.
124604         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
124605         This requires that we sometimes generate our own TZ="XXX..." setting.
124607 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124609         * doc/getdate.texi: New file, from coreutils with modifications for
124610         the new TZ parsing.
124612 2004-10-27  Derek R. Price  <derek@ximbiot.com>
124614         * lib/mktime.c (not_equal_tm): Remove redundant check.
124616 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124618         * modules/regex (lib_SOURCES): Add regex.c.
124619         Reported by James Youngman in
124620         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
124622 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124624         * lib/getdate.y: Use Bison 1.875 features, and some minor
124625         code cleanups.  This change does not affect semantics.
124626         Don't include <stdlib.h>; no longer needed.
124627         Don't include unlocked-io.h; only the "#if TEST" code uses
124628         stdio, and performance isn't crucial there.
124629         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
124630         Bison 1.875 features as described below.
124631         All uses of "PC." replaced by "pc->".
124632         (YYSTYPE): Add a forward declaration.
124633         (yylex, yyerror): Use full prototypes in forward decls.
124634         Use "%pure-parser" rather than obsolescent "%pure_parser".
124635         Use %parse-param and %lex-param instead of obsolescent
124636         YYPARSE_PARAM and YYLEX_PARAM.
124637         (meridian_table, month_and_day_table, time_units_table,
124638         relative_time_table, time_zone_table, military_table,
124639         lookup_zone, lookup_word, get_date):
124640         Use NULL instead of 0 where appropriate.
124641         (to_hour): Avoid abort (), to avoid a dependency on
124642         stdlib.h.
124643         (yyerror, yylex): Now accepts parser_control * arg.
124644         (main) [TEST]: Use '\0' rather than 0 for char.
124646 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124648         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
124650 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124652         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
124653         It's now the caller's responsibility to handle the case where
124654         !HAVE_GETPAGESIZE && !defined getpagesize.
124656         * lib/mktime.c (leapyear): Arg is long int, not int.
124658 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
124660         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
124662 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
124664         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
124665         missing.  Problem reported by James Youngman.
124667 2004-10-16  Simon Josefsson  <jas@extundo.com>
124669         * gnulib-tool: Fix comments.  Fix parse problem.
124670         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
124672 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
124674         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
124675         implementation of getopt_long.  Problem reported by Alexander Taler in:
124676         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
124678 2004-10-15  Bruno Haible  <bruno@clisp.org>
124680         * gnulib-tool: Untabify. Initialize supplied_libname.
124681         (func_usage): More homogenous output.
124682         (func_modules_transitive_closure, func_modules_to_filelist,
124683         func_emit_lib_Makefile_am): New functions.
124684         (func_import): New function, extracted from big case statement. Use
124685         func_get_license, func_modules_transitive_closure,
124686         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
124687         opt_lgpl. Don't use test -a, as it's not portable.
124688         (func_create_testdir): Use func_modules_transitive_closure,
124689         func_modules_to_filelist, func_emit_lib_Makefile_am.
124691 2004-10-15  Bruno Haible  <bruno@clisp.org>
124693         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
124695 2004-10-15  Bruno Haible  <bruno@clisp.org>
124697         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
124698         the portions belonging to each module.
124699         Suggested by Derek Robert Price <derek@ximbiot.com>.
124701 2004-10-12  Simon Josefsson  <jas@extundo.com>
124703         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124704         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
124705         to real functions.
124707 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124709         * modules/vsnprintf: New file.
124711 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124713         * m4/vsnprintf.m4: New file.
124715 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124717         * lib/vsnprintf.h: New file.
124718         * lib/vsnprintf.c: New file.
124720 2004-10-11  Bruno Haible  <bruno@clisp.org>
124722         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
124723         vsnprintf.
124725 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
124727         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
124729 2004-10-07  Bruno Haible  <bruno@clisp.org>
124731         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
124732         fits into the provided buffer.
124734 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
124736         * lib/diacrit.c, diacrit.h: Add GPL notice.
124738         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
124739         notice.
124740         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
124741         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
124742         This avoids a potential constant-folding bug.
124744 2004-10-05  Bruno Haible  <bruno@clisp.org>
124746         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
124747         for the declaration of strsep.
124749 2004-10-05  Bruno Haible  <bruno@clisp.org>
124751         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
124753 2004-10-04  Simon Josefsson  <jas@extundo.com>
124755         * modules/memmem: New file.
124756         * tests/test-memmem.c: New file.
124757         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
124759 2004-10-04  Simon Josefsson  <jas@extundo.com>
124761         * m4/memmem.m4: New file.
124763 2004-10-04  Simon Josefsson  <jas@extundo.com>
124765         * lib/memmem.h: New file.
124766         * lib/memmem.c: New file, taken from glibc.
124768 2004-10-04  Simon Josefsson  <jas@extundo.com>
124770         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
124771         '#ifdef USE_UNLOCKED_IO'.
124773 2004-10-04  Simon Josefsson  <jas@extundo.com>
124775         * config/srclist.txt: Add memmem from glibc.
124777 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124779         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
124781         * modules/argmatch, modules/argp, modules/closeout, modules/error,
124782         modules/exclude, modules/getdate, modules/getline,
124783         modules/getndelim2, modules/getpass, modules/getpass-gnu,
124784         modules/getusershell, modules/linebuffer, modules/md5,
124785         modules/mountlist, modules/posixtm, modules/readtokens,
124786         modules/readutmp, modules/regex, modules/sha1,
124787         modules/version-etc, modules/yesno:
124788         Remove dependency on unlocked-io.
124790 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124792         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
124794         * m4/unlocked-io.m4: Add copyright notice.
124795         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
124797 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124799         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
124800         * lib/xmalloc.c (xmemdup): Likewise.
124801         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
124802         XFREE): Remove these long-obsolescent macros.
124803         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
124804         * lib/xstrdup.c: Remove.
124806         * lib/regex.c (re_comp): Cast gettext return value to char *,
124807         Problem reported by Martin Neitzel via Mark D. Baushke.
124809 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124811         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
124812         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
124813         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
124814         regex.c, sha1.c, version-etc.c, yesno.c:
124815         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
124816         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
124817         the includer's responsibility.
124819         Sync from coreutils.
124821         * lib/modechange.c (mode_compile): Don't decrement a pointer that
124822         points to the start of a string, as the C Standard says the
124823         resulting behavior is undefined.
124825         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
124826         simple -> simple_backups, numbered_existing ->
124827         numbered_existing_backups, numbered -> numbered_backups
124828         to avoid shadowing problems.  All uses changed.
124829         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
124830         * lib/backupfile.c (check_extension, numbered_backup):
124831         Rename locals to avoid shadowing 'basename'.
124832         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
124833         once.
124835         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
124836         * lib/.cvsignore: Add getopt.h.
124838 2004-10-04  Bruno Haible  <bruno@clisp.org>
124840         * modules/README: New file.
124841         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
124842         not a module.
124844 2004-10-02  Jim Meyering  <jim@meyering.net>
124846         * lib/dirfd.h, getpagesize.h: Add copyright notice.
124848 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124850         * modules/strsep: New file.
124852 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124854         * m4/strsep.m4: New file.
124856 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124858         * lib/strsep.h: New file.
124859         * lib/strsep.c: New file.
124861 2004-10-01  Simon Josefsson  <jas@extundo.com>
124863         * lib/snprintf.c (snprintf): Handle size==0.
124865 2004-10-01  Simon Josefsson  <jas@extundo.com>
124866             Bruno Haible  <bruno@clisp.org>
124868         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
124869         (snprintf): Declare 'args'.
124871 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
124873         * lib/snprintf.c: Remove comments as to why each header is needed.
124875 2004-10-01  Bruno Haible  <bruno@clisp.org>
124877         * MODULES.html.sh: Add strsep.
124879 2004-09-30  Simon Josefsson  <jas@extundo.com>
124881         * modules/snprintf: New file.
124883 2004-09-30  Simon Josefsson  <jas@extundo.com>
124885         * m4/snprintf.m4: New file.
124887 2004-09-30  Simon Josefsson  <jas@extundo.com>
124889         * lib/snprintf.h, lib/snprintf.c: New files.
124891 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124893         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
124894         (hol_entry_help): Never translate an empty string.
124895         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
124896         * lib/argp.h (OPTION_NO_TRANS): New option.
124898 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124900         * modules/argp (Maintainer): Replace Simon Josefsson
124901         by Sergey Poznyakoff.
124903 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124905         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
124906         changes merged back into glibc.
124908 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124910         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
124912 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
124914         * lib/xvasprintf.c: Include xalloc.h.
124915         (xvasprintf): Use xalloc_die, not xmalloc_die.
124917 2004-09-29  Bruno Haible  <bruno@clisp.org>
124919         * modules/alloca-opt: New file, derived from modules/alloca.
124920         * modules/allocsa: Depend on alloca-opt instead of alloca.
124921         * modules/setenv: Likewise.
124922         * modules/vasnprintf: Likewise.
124923         * MODULES.html.sh: Add alloca-opt.
124925 2004-09-28  Simon Josefsson  <jas@extundo.com>
124927         * gnulib-tool: New parameter --lgpl, to asseert that modules are
124928         LGPL, and to replace license template from GPL to LGPL.
124930 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124932         * modules/dummy: Change license to LGPL.
124934 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124936         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
124938 2004-09-24  Simon Josefsson  <jas@extundo.com>
124940         * modules/minmax (License): Change from GPL to LGPL.
124942 2004-09-23  Simon Josefsson  <jas@extundo.com>
124944         * gnulib-tool (--import): Typo.
124946 2004-09-23  Simon Josefsson  <jas@extundo.com>
124948         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
124950 2004-09-22  Bruno Haible  <bruno@clisp.org>
124952         * modules/*: Add 'License' field.
124953         * gnulib-tool: Accept --extract-license option.
124954         (func_get_license): New function.
124956 2004-09-21  Bruno Haible  <bruno@clisp.org>
124958         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
124959         Reported by Simon Josefsson.
124961 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124963         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
124964         gl_AC_TYPE_LONG_LONG.
124966 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124968         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
124970 2004-09-18  Simon Josefsson  <jas@extundo.com>
124971         and  Paul Eggert  <eggert@cs.ucla.edu>
124973         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
124974         calls with autoreconf.  Define GL_LIB.
124976 2004-09-14  Karl Berry  <karl@gnu.org>
124978         * config/srclist.txt: unsync setenv.c, sigh.
124980 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124982         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
124983         Problem reported by Bruno Haible in:
124984         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
124986 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124988         * config/srclist.txt: Comment out argp-pvh.c.
124990 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
124992         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
124993         in case some system header has #define'd it.  Problem reported by
124994         Soeren D. Schulze in
124995         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
124997 2004-09-09  Karl Berry  <karl@gnu.org>
124999         * regex.[ch]: delete from the root.  These were supposed to be
125000                 synced with emacs cvs, but this has not happened for about
125001                 a year, and anyway nothing else uses emacs regex.[ch].
125002                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
125003                 lib/regex[.ch] is untouched.
125005 2004-09-09  Bruno Haible  <bruno@clisp.org>
125007         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
125009 2004-09-09  Bruno Haible  <bruno@clisp.org>
125011         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
125012         modifications.
125013         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
125015 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125017         * modules/xvasprintf: New file.
125018         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
125020 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
125022         * lib/xvasprintf.h: New file.
125023         * lib/xvasprintf.c: New file.
125024         * lib/xasprintf.c: New file.
125026 2004-09-08  Bruno Haible  <bruno@clisp.org>
125028         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
125030 2004-09-08  Bruno Haible  <bruno@clisp.org>
125032         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
125033         length is > INT_MAX.
125034         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
125035         more.
125037 2004-09-08  Bruno Haible  <bruno@clisp.org>
125039         * lib/stdint_.h: New file, taken from GNU clisp.
125041 2004-09-08  Bruno Haible  <bruno@clisp.org>
125042             Oskar Liljeblad  <oskar@osk.mine.nu>
125044         * modules/stdint: New file.
125045         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
125047 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125049         Import from coreutils.
125050         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
125051         strings on unbounded length.  alloca's performance benefits aren't
125052         that important here.
125053         (V_STRDUP): Remove.
125054         (parse_with_separator): New function, with most of the internals
125055         of the old parse_user_spec.  Allow user to omit both user and group,
125056         for compatibility with FreeBSD.
125057         Clone only the user name, not the entire spec.
125058         Do not set *uid, *gid unless entirely successful.
125059         Avoid memory leak in some failing cases.
125060         Fix regression for USER.GROUP reported by Dmitry V. Levin in
125061         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
125062         (parse_user_spec): Rewrite to use parse_with_separator.
125064 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125066         * modules/userspec: Don't depend on alloca.
125068 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
125070         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
125072 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
125074         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
125075         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
125076         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
125078 2004-08-16  Simon Josefsson  <jas@extundo.com>
125080         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
125081         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
125082         Add --dry-run for --import.
125083         Let user provided command line parameters override configure.ac
125084         settings.
125086 2004-08-12  Simon Josefsson  <jas@extundo.com>
125088         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
125089         as discussed with Paul Eggert in threads rooted at
125090         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
125091         and
125092         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
125093         Before, the test was empty, and relied on ELIDE_CODE in source
125094         code.)
125095         (gl_PREREQ_GETOPT): New macro.
125096         (gl_GETOPT): Use them.
125098 2004-08-12  Simon Josefsson  <jas@extundo.com>
125100         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
125101         * lib/getopt_.h: Renamed from getopt.h.
125103 2004-08-12  Simon Josefsson  <jas@extundo.com>
125105         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
125106         Change default library name from libfoo to libgnu.
125107         Now, if you have a configure.ac that says:
125108                 gl_SOURCE_BASE(gl)
125109                 gl_M4_BASE(gl/m4)
125110                 gl_MODULES(error getopt etcetera)
125111                 gl_INIT
125112         you can import all you need by running:
125113                 ../gnulib/gnulib-tool --import
125115         * modules/getopt (Files): Rename getopt.h to getopt_.h.
125116         (Makefile.am): Rewrite, use logic from argz.
125117         (Include): Use <getopt.h> instead of "getopt.h".
125119 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125121         * modules/argp (Files): Add m4/unlocked-io.m4.
125122         (Depends-on): Add extensions.
125124 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125126         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
125127         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
125128         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
125129         Check for program_invocation_name, program_invocation_short_name,
125130         flockfile, funlockfile, features.h, _getopt_long_only_r.
125132 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125134         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
125135         its complicated substitute.
125136         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
125137         and program_invocation_name.
125138         (__argp_basename) [!_LIBC]: Remove; the only use was
125139         replaced by its body.
125140         (__argp_short_program_name): Change condition from
125141         !defined __argp_short_program_name to
125142         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
125143         to match argp-namefrob.h.
125144         (__argp_failure): Don't assume strerror_r returns char *.
125145         * lib/argp-parse.c (N_): Define unconditionally.
125146         (argp_default_options): Fill out initializers with 0 to avoid
125147         gcc warnings.
125149 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
125151         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
125152         getopt1.c.
125154 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125156         Merge from coreutils.
125158         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
125160         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
125161         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
125163 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125165         Merge from coreutils.
125167         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
125168         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
125169         for Reliant Unix 5.43.
125171         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
125172         (union fooround): Use uintmax_t, not long int.
125173         The rest is a merge from libc:
125174         [defined _LIBC]: Include <shlib-compat.h>.
125175         (_obstack) [defined _LIBC]: Remove after 2.3.4.
125177         * lib/settime.c (settime): Recode to avoid warning with
125178         Sun Forte C 6U2.
125180         * lib/strverscmp.c: Convert to UTF-8.
125182 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125184         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
125185         m4/uintmax_t.m4.
125187 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125189         * modules/xalloc-die: New file.
125190         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
125192         * modules/md5 (Files): Add m4/uint32_t.m4.
125193         * modules/sha1: Renamed from modules/sha.
125194         (Files):
125195         Rename lib/sha.h to lib/sha1.h.
125196         Rename lib/sha.c to lib/sha1.c.
125197         Rename m4/sha.m4 to m4/sha1.m4.
125198         (lib_SOURCES): Likewise.
125199         (configure.ac): Rename gl_SHA to gl_SHA1.
125200         (Include): sha.h -> sha1.h.
125202 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125204         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
125205         * m4/sha1.m4: Renamed from sha.m4.
125206         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
125208 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125210         * lib/obstack.h (obstack_empty_p):
125211         Don't assume that chunk->contents is suitably aligned.
125212         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
125213         Likewise. Problem reported by Benno in
125214         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
125216         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
125217         readable.  This could be improved further but it'd take some work.
125219 2004-08-08  Simon Josefsson  <jas@extundo.com>
125221         * modules/xgethostname (Depends-on): Remove exit and error (not
125222         used).
125224         * modules/getpass-gnu: Add getpass.h.
125225         (Depends-on): Add stdbool.
125226         * modules/getpass: Add getpass.h.
125228 2004-08-08  Simon Josefsson  <jas@extundo.com>
125230         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
125231         Check getpass declaration.
125233 2004-08-08  Simon Josefsson  <jas@extundo.com>
125235         * lib/xgethostname.c: Don't include error.h (not used).
125237         * lib/getpass.h: Add.
125238         * lib/getpass.c: Include getpass.h first.
125240 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
125242         * lib/xalloc-die.c: New file.
125243         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
125244         All uses removed.
125245         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
125246         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
125247         xalloc-die.c.
125248         (_, N_, xalloc_die): Move to xalloc-die.c.
125249         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
125250         so that we needn't mess with xalloc_msg_memory_exhausted.
125252         * lib/sha1.h: Renamed from sha.h.
125253         (SHA1_H): Renamed from _SHA_H.
125254         (sha1_ctx): Renamed from sha_ctx.
125255         (sha1_init_ctx): Renamed from sha_init_ctx.
125256         (sha1_process_block): Renamed from sha_process_block.
125257         (sha1_process_bytes): Renamed from sha_process_bytes.
125258         (sha1_finish_ctx): Renamed from sha_finish_ctx.
125259         (sha1_read_ctx): Renamed from sha_read_ctx.
125260         (sha1_stream): Renamed from sha_stream.
125261         (sha1_buffer): Renamed from sha_buffer.
125262         * lib/sha1.c: Likewise; renamed from sha.c.
125263         Do not include <sys/types.h>.
125264         Include <stddef.h> rather than <stdlib.h>.
125266 2004-08-08  Bruno Haible  <bruno@clisp.org>
125268         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
125269         FILESYSTEM_PREFIX_LEN.
125270         * lib/progreloc.c: Likewise.
125271         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
125273 2004-08-06  Simon Josefsson  <jas@extundo.com>
125275         * modules/progname (Depends-on): Don't depend on stdbool.
125277 2004-08-06  Simon Josefsson  <jas@extundo.com>
125279         * modules/getsubopt: New file.
125280         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
125281         getsubopt.
125283 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125285         More merge from coreutils.
125287         * m4/utimens.m4, m4/utimecmp.m4: New files.
125288         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
125289         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
125290         prereq.m4, sha.m4: Import changes from coreutils.
125292 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125294         More merge from coreutils.
125295         * modules/raise, modules/readtokens0, modules/utimens:
125296         * modules/utimecmp, module/xnanosleep: New files.
125297         * modules/strftime: Add lib/strftime.h.
125298         Change include from <time.h> to "strftime.h".
125299         * modules/yesno: Add lib/yesno.h.
125300         * modules/backupfile: Remove lib/addext.c.
125301         * modules/euidaccess: Add stat-macros.h.
125302         * modules/canonicalize, modules/euidaccess,
125303         modules/filemode, modules/lchown, modules/makepath,
125304         modules/rmdir, modules/stat: Likewise.
125306 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125308         Merge from tar.
125309         * lib/argp-help.c (make_hol, hol_append): Don't assume that
125310         SIZE_MAX is a valid preprocessor constant.
125311         (__argp_basename): Change from "#ifndef _LIBC"
125312         to "#ifndef __argp_short_program_name", so that
125313         we don't compile these functions for tar.
125315         More merges from coreutils.
125316         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
125317         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
125318         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
125319         * lib/addext.c: Remove; no longer needed.
125320         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
125321         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
125322         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
125323         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
125324         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
125325         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
125326         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
125327         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
125328         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
125329         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
125330         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
125331         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
125332         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
125333         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
125334         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
125335         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
125336         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
125337         Import changes from coreutils.
125339 2004-08-05  Simon Josefsson  <jas@extundo.com>
125341         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
125343 2004-08-05  Simon Josefsson  <jas@extundo.com>
125345         * m4/getsubopt.m4: New file.
125347 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125349         Merge from coreutils.
125351         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
125352         * m4/getcwd-path-max.m4: New files.
125354         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
125355         FILESYSTEM_PREFIX_LEN ->
125356         FILE_SYSTEM_PREFIX_LEN.
125357         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
125358         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
125359         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
125360         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
125362         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
125363         prerequisite modules now handle the DOS stuff.
125364         Don't check for unistd.h.
125366 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125368         Merge from coreutils.
125370         * lib/.gdb-history: Remove; this doesn't belong here.
125372         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
125373         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
125374         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
125375         * lib/getcwd.c: New files.
125377         * lib/dirname.h: Include <stdbool.h>.
125378         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
125379         for consistency with POSIX terminology.  All uses changed.
125380         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
125381         (strip_trailing_slashes): Use bool for booleans.
125382         * lib/stripslash.c (strip_trailing_slashes): Likewise.
125384         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
125385         sometimes returns a positive errno value even when it succeeds.
125386         (print_errno_message) [!LIBC]: Fall back on strerror if
125387         __strerror_r fails.
125389         * lib/path-concat.c (mempcpy): Don't define if a system header defines
125390         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
125391         (longest_relative_suffix): New function.
125392         (path_concat): Use it.  Assume first argument is not NULL.
125393         Port to DOS.  Omit redundant separators.
125394         Report an error instead of returning NULL.
125395         Use mempcpy instead of memcpy.
125396         (xpath_concat): Remove: not declared or used.
125398         * lib/same.h: Include <stdbool.h>
125399         (same_name): Return bool, not int.
125400         * lib/same.c (same_name): Likewise.
125401         (errno): Don't declare; we assume C89 or better now.
125403         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
125404         if not already defined.
125406         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
125407         * lib/dup-safer.c (errno): Likewise.
125409 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125411         Merge from coreutils.
125412         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
125413         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
125414         * modules/path-concat: Don't depend on strdup.
125416 2004-08-03  Simon Josefsson  <jas@extundo.com>
125418         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
125419         * lib/progname.h: Don't include stdbool.h.
125421 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125423         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
125424         * MODULES.html.sh (func_all_modules): Remove fatal.
125426 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125428         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
125430 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125432         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
125433         working.
125435 2004-08-02  Simon Josefsson  <jas@extundo.com>
125437         * lib/getsubopt.h: New file, with comments from Bruno Haible.
125438         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
125439         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
125441 2004-08-01  Simon Josefsson  <jas@extundo.com>
125443         * lib/xgetdomainname.c: Include stdlib.h, for free().
125445 2004-07-19  Bruno Haible  <bruno@clisp.org>
125447         * MODULES.html.sh (func_all_modules): Add dummy.
125449 2004-07-16  Simon Josefsson  <jas@extundo.com>
125451         * modules/dummy: New file.
125453 2004-07-16  Simon Josefsson  <jas@extundo.com>
125455         * lib/dummy.c: New file.
125457 2004-07-16  Bruno Haible  <bruno@clisp.org>
125459         * lib/backupfile.h: Add extern "C" for C++.
125460         * lib/closeout.h: Likewise.
125461         * lib/copy-file.h: Likewise.
125462         * lib/findprog.h: Likewise.
125463         * lib/full-write.h: Likewise.
125464         * lib/pathname.h: Likewise.
125465         * lib/progname.h: Likewise.
125466         * lib/stpcpy.h: Likewise.
125467         * lib/stpncpy.h: Likewise.
125468         * lib/strcase.h: Likewise.
125469         * lib/strstr.h: Likewise.
125470         * lib/xalloc.h: Likewise.
125472         * lib/mbswidth.h: Add extern "C" for C++.
125473         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
125475 2004-07-13  Robert Millan  <robertmh@gnu.org>
125477         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
125479 2004-07-09  Simon Josefsson  <jas@extundo.com>
125481         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
125482         failed without this.)
125484 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125486         * modules/chown (Files): Add lib/fchown-stub.c, since
125487         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
125489 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125491         * lib/fchown-stub.c: New file.
125493 2004-06-24  Jim Meyering  <jim@meyering.net>
125495         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
125497 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125499         * modules/argz: Omit "#include".
125501         * MODULES.html.sh (func_all_modules): Add calloc, to match
125502         2004-06-01 addition of calloc module.
125504 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125506         * m4/argz.m4: New file, which is autoupdated from libtool.
125508 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125510         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
125511         libtool.
125513 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125515         * config/srclist-update: Don't insist on "USA." before the
125516         close-comment, as libtool omits the period and puts the */ on a
125517         separate line.
125518         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
125519         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
125521 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
125523         * modules/argz: New file.
125524         * MODULES.html.sh (func_all_modules): Add argz.
125526 2004-06-12  Jim Meyering  <jim@meyering.net>
125527         and  Paul Eggert  <eggert@cs.ucla.edu>
125529         * modules/hash (Files): Add lib/xalloc.h.
125530         * modules/pipe (Depends-on): Add wait-process.
125531         * modules/stat (Depends-on): Add xalloc.
125532         * modules/userspec (Files): Add lib/userspec.h.
125533         * modules/xstrto
125535         Upgrade from gettext-0.13.
125536         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
125537         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
125538         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
125540 2004-06-10  Jim Meyering  <jim@meyering.net>
125542         * lib/calloc.c: New file.
125544 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
125546         * lib/getdate.y (yylex): Allow space between sign and number.
125547         Problem reported by Dan Jacobson.
125549 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125551         Merge from coreutils CVS.
125553         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
125554         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
125555         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
125556         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
125557         xstrtol.m4: Fix copyright date and/or serial number.
125559         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
125560         See if we need an fchown replacement.
125561         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
125562         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
125563         and use the replacement function if we detect either defect.
125565         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
125566         gl_UTIMECMP.
125568 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125569         and  Jim Meyering  <jim@meyering.net>
125571         Merge from coreutils CVS.
125573         * lib/stat-macros.h: New file, with contents from file-type.h
125574         and coreutils' system.h.
125575         * lib/file-type.c: Include "stat-macros.h".
125576         * lib/file-type.h (file_type): Move all macro definitions to new file,
125577         stat-macros.h.
125579         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
125580         Wrap old code with this conditional.
125581         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
125582         function that does not dereference symlinks.
125583         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
125585         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
125586         dependency problems.
125587         (xreadlink): Accept new arg SIZE, for efficiency.
125588         All decls and uses changed.
125589         * lib/xreadlink.h: Include <stddef.h>, for size_t.
125591         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
125592         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
125594         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
125595         sysexits.h.
125597 2004-06-01  Jim Meyering  <jim@meyering.net>
125599         * m4/calloc.m4: New file.
125601 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
125603         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
125604         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
125605         Also, fix a typo in a diagnostic.
125607 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125609         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
125610         or AC_FUNC_REALLOC.
125612 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125614         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
125615         macros to be defined.
125616         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
125617         the allocator returns NULL because the requested size is zero.
125619 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
125621         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
125622         var.  Add comment explaining why libc still defines it.  This
125623         merges the following patch from glibc:
125624         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
125626 2004-05-20  Andreas Schwab  <schwab@suse.de>
125628         * m4/free.m4: Replace free if it not known to work, not the other
125629         way round.
125631 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
125633         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
125634         present in glibc since revision 1.1 of this file.
125635         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
125636         obstack_alignment_mask, obstack_alloc, obstack_base,
125637         obstack_blank, obstack_blank_fast, obstack_chunk_size,
125638         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
125639         obstack_grow0, obstack_init, obstack_int_grow,
125640         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
125641         obstack_next_free, obstack_object_size, obstack_ptr_grow,
125642         obstack_ptr_grow_fast, obstack_room): Remove declarations of
125643         nonexistent functions.
125645 2004-05-18  Karl Berry  <karl@gnu.org>
125647         * config/srclist.txt: break link for vasnprintf.c.
125649 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125651         Port obstack to the AS/400, where pointers are 16 bytes wide and
125652         you cannot cast an integer to a valid pointer.  This patch is
125653         currently waiting to be integrated into glibc; see
125654         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
125656         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
125657         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
125658         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
125659         (struct obstack): temp member is now a union of a pointer and
125660         an integer, instead of an integer.  All integer uses changed.
125661         This does not affect the physical layout of struct obstack,
125662         except on hosts (like the AS/400) where the size or alignment of
125663         void * is greater than that of ptrdiff_t.
125664         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
125665         __STDC__)]: Store temporary in pointer member of union, not
125666         integer member.
125667         * lib/obstack.c: Include <stddef.h>, for offsetof.
125668         (struct fooalign): Remove; it doesn't need a name.
125669         (union fooround): Change double to long double, and add void *.
125670         (DEFAULT_ALIGNMENT): Use offsetof to compute.
125671         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
125672         not a macro.  Hence the values are always int; so remove all
125673         casts-to-int in uses.
125675 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125677         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
125678         we can get this patch merged into glibc.
125680 2004-05-17  Derek R. Price  <derek@ximbiot.com>
125681             Paul Eggert  <eggert@cs.ucla.edu>
125683         * m4/argp: Depend on alloca.
125685 2004-05-17  Derek R. Price  <derek@ximbiot.com>
125686             Paul Eggert  <eggert@cs.ucla.edu>
125688         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
125689         freecoding.
125691 2004-05-17  Bruno Haible  <bruno@clisp.org>
125693         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
125694         precision that consists of a '.' followed by an empty digit string.
125695         Patch by Tor Lillqvist <tml@iki.fi>.
125697 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
125699         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
125700         for backward compatibility with older code.  We need our own
125701         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
125702         it under some other name, and our alloca.h will define it.
125704 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
125705             Derek Price  <derek@ximbiot.com>
125707         * lib/alloca.c: Include <alloca.h>, to get our interface.
125708         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
125709         include <alloca.h> first.  Use C89 prototype for alloca; this
125710         requires including <stddef.h> for size_t.  Use extern "C" if C++.
125711         Use #elif for simplicity, since we can assume C89 now.
125712         Don't try to source the system alloca.h since it will not be found
125713         and to prevent recursively including its replacement.
125714         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
125715         * lib/regex.c: Likewise.
125717 2004-05-16  Derek Price  <derek@ximbiot.com>
125718             Paul Eggert  <eggert@cs.ucla.edu>
125720         getline cleanup.  This changes the getndelim2 API: both order of
125721         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
125722         no delimiter).
125724         * lib/getline.c: Don't include stddef.h or stdio.h, since our
125725         interface does that.
125726         (getline): Always use getdelim, so that we don't have two
125727         copies of this code.
125728         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
125729         if available.
125730         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
125731         (GETNDELIM2_MAXIMUM): New macro.
125732         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
125733         instead of the old practice of delim2==0.  All callers changed.
125734         Return -1 on overflow, instead of returning junk.
125735         Do not set *linesize unless allocation succeeds.
125736         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
125737         that we include sys/types.h.
125738         * lib/getnline.h: Likewise.
125739         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
125740         (getndelim2): Reorder arguments.
125741         * lib/getnline.c (getnline, getndelim):
125742         Don't discard the NMAX argument.
125743         (getnline): Invoke getndelim, to avoid code duplication.
125744         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
125745         of (size_t) -1 by callers of the getnline family.
125747 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125749         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
125750         Check for gettimeofday.
125751         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
125752         Check for settimeofday, stime.
125754 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125756         * lib/nanosleep.c (suspended): Change its type from int to
125757         sig_atomic_t volatile.
125758         (first_call): Make it private to rpl_nanosleep, and have it
125759         be zero initially as that's a bit faster.
125760         (my_usleep): Round up fractional times instead of truncating them,
125761         as this is the usual meaning for 'sleep'.
125763         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
125764         doesn't work.
125765         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
125766         (ENOSYS): Define if not defined.
125767         (settime): Fall back on stime if it exists and settimeofday fails.
125768         But don't bother with fallbacks if a method fails with errno == EPERM.
125770 2004-05-11  Jim Meyering  <jim@meyering.net>
125772         Prior to this change, the save_cwd caller required read access to the
125773         current directory on most systems (ones with the fchdir function).
125775         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
125776         fails, try write-only, and finally, resort to using xgetcwd.
125778 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
125780         * lib/obstack.c, obstack.h: Import changes from libc.
125782 2004-04-28  Bruno Haible  <bruno@clisp.org>
125784         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
125785         also implicitly appends .exe to executables.
125786         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
125787         accepts Windows pathnames.
125788         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125789         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125790         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125791         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125792         Reported by Derek Robert Price <derek@ximbiot.com>.
125794 2004-04-21  Karl Berry  <karl@gnu.org>
125796         * config/srclist.txt (localcharset.c): break sync.
125798 2004-04-20  Paul Eggert  <eggert@twinsun.com>
125800         * m4/host-os.m4: Add a copyright notice.
125802 2004-04-20  Jim Meyering  <jim@meyering.net>
125804         Change UTILS_ to gl_ in AC_DEFINE'd names.
125805         Change utils_- and jm_-prefixed variables, too.
125806         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
125807         UTILS_FUNC_MKDIR_TRAILING_SLASH.
125808         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
125810         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
125811         Don't emit trailing blanks.
125812         Also rename jm_-prefixed variables to have gl_ prefix.
125814         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
125815         Also rename jm_-prefixed variables to have gl_ prefix.
125817         * m4/jm-macros.m4: Reflect the renamings.
125818         * m4/prereq.m4: Likewise.
125820 2004-04-20  Jim Meyering  <jim@meyering.net>
125822         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
125823         memory.
125825 2004-04-20  Jim Meyering  <jim@meyering.net>
125826             Bruno Haible  <bruno@clisp.org>
125828         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
125829         memory when realloc fails.
125831 2004-04-19  Jim Meyering  <jim@meyering.net>
125833         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
125834         now that readutmp.c may call `free (0)'.
125836 2004-04-19  Bruno Haible  <bruno@clisp.org>
125838         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
125839         * m4/inttypes_h.m4: Likewise.
125840         * m4/stdint_h.m4: Likewise.
125841         * m4/intmax_t.m4: Likewise.
125842         * m4/uintmax_t.m4: Likewise.
125844 2004-04-18  Jim Meyering  <jim@meyering.net>
125846         * m4/prereq.m4: Don't forbid jm_ prefix.
125848         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
125849         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
125850         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
125851         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
125852         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
125853         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
125854         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
125855         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
125856         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
125857         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
125858         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
125859         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
125860         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
125861         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
125862         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
125863         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
125864         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
125865         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
125866         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
125868 2004-04-18  Jim Meyering  <jim@meyering.net>
125870         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
125871         failure, don't leak memory and do call END_UTMP_ENT.
125873 2004-04-16  Jim Meyering  <jim@meyering.net>
125875         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
125876         coreutils' stat program.
125877         (gl_PREREQ): Don't require jm_PREREQ_STAT.
125879 2004-04-11  Paul Eggert  <eggert@twinsun.com>
125881         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
125882         C89.
125883         (CHAR_BIT): Remove, since we assume C89.
125884         Include <stdint.h> if available, as per current Autoconf CVS advice.
125886 2004-03-31  Jim Meyering  <jim@meyering.net>
125888         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
125889         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
125890         * m4/xalloc.m4: Likewise.
125892 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125894         Merge from coreutils.
125896         * m4/inttostr.m4: New file.
125897         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
125898         Require AM_STDBOOL_H and gl_TIMESPEC instead.
125899         Require gl_CLOCK_TIME.
125900         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
125902 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125904         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
125905         not bool, to be more consistent with Unix conventions.
125906         Suggested by Bruno Haible.
125908         Merge from coreutils.
125910         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
125911         * lib/umaxtostr.c: New files.
125913         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
125914         the usual <time.h> dance.
125915         (get_date): Change signature to support fractional time stamps.
125916         All callers changed.
125917         * lib/getdate.y: Include "getdate.h" first, as we can now
125918         assume C89 and don't need to worry about 'const'.
125919         Similarly, include "unlocked-io.h" near start, not in middle.
125920         Include <limits.h>.
125921         (textint.value): Use long int rather than int.
125922         (textint.digits): Use size_t rather than int.
125923         (BILLION, LOG10_BILLION): New constants.
125924         (parser_control): New member rel_ns.  Members day_ordinal,
125925         time_zone, month, day, hour, minutes, rel_year, rel_month,
125926         rel_day, rel_hour, rel_minutes, rel_seconds
125927         are now long int, not int.  Member seconds is now struct timespec,
125928         not int.  New member timespec_seen.  Members dates_seen, days_seen,
125929         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
125930         not int.
125931         (%union.intval): Now long int, not int.
125932         New member timespec.
125933         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
125934         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
125935         (spec): Now is a timespec or an item list.
125936         (timespec, items): New nonterminals.
125937         (time, rel, relunit, number, get_date):
125938         Add support for fractional seconds.
125939         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
125940         (gmtime, localtime, mktime): Remove decls; not needed with C89.
125941         (to_hour): First arg is now long int, not int.
125942         (to_year): Returns long int, not int.
125943         Don't treat year -70 like 70.
125944         (tm_diff): Returns long int, not int.
125945         (lookup_word): Use bool instead of int when appropriate.
125946         (yylex): Use size_t for count, not int.
125947         Detect overflow when parsing large integer constants.
125948         Add support for fractions.
125949         (get_date): Make pointers 'const' if possible.
125950         Use more-portable code to detect integer overflow.
125951         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
125952         Don't use ctime; it's not reliable if the year has >4 digits.
125954         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
125955         This is for compatibility with BSD.
125957         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
125958         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
125959         From coreutils' system.h.
125961         * lib/userspec.c: Don't include "posixver.h".
125962         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
125963         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
125964         compatible extension.  Simplify code by removing a boolean int
125965         that was always nonzero if a string was nonnull.
125967 2004-03-30  Jim Meyering  <jim@meyering.net>
125969         Merge from coreutils.
125971         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
125972         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
125973         on some systems one must include <grp.h> before it.
125974         Reported by Christian Krackowizer.
125976 2004-03-30  Jim Meyering  <jim@meyering.net>
125978         Merge from coreutils.
125980         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
125982         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
125983         an empty input stream.
125985         * lib/readtokens.c: Include <stdbool.h>.
125986         (readtoken): Use `size_t' rather than int/long.
125987         All callers adjusted.
125988         Use `bool' rather than `int' where appropriate.
125989         Use memset rather than an explicit loop.
125990         Use x2nrealloc rather than xrealloc.
125991         Allow the use of `\0' as a delimiter.
125992         (readtokens): Likewise.
125993         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
125995 2004-03-30  Jim Meyering  <jim@meyering.net>
125997         * m4/realloc.m4: Remove file, since now it does no more than
125998         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
125999         the `configure.ac' section of module/realloc.
126000         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
126002 2004-03-30  Bruno Haible  <bruno@clisp.org>
126004         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
126005         nonnull.
126007 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126009         Merge changes to getloadavg.c from coreutils and Emacs.
126011         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
126012         Define to an expression, not to the empty string.
126013         Include cloexec.h and xalloc.h.
126014         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
126015         Use set_cloexec_flag rather than rolling our own.
126016         * lib/cloexec.c, lib/cloexec.h: New files.
126018 2004-03-29  Paul Eggert  <eggert@twinsun.com>
126020         * m4/cloexec.m4: New file.
126022 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126024         * lib/getopt.h: Sync with libc CVS.
126026 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126027             Bruno Haible  <bruno@clisp.org>
126029         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
126030         mbswidth.
126032 2004-03-18  Paul Eggert  <eggert@twinsun.com>
126033             Bruno Haible  <bruno@clisp.org>
126035         * lib/mbswidth.h: Include <wchar.h> only if
126036         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
126037         <wchar.h>.
126038         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
126040 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126042         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
126043         Sync with libc CVS.
126044         * lib/getopt_int.h: New file, also synced from libc.
126046 2004-03-09  Paul Eggert  <eggert@twinsun.com>
126048         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
126049         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
126050         Bring back getopt.c, getopt.h, getopt1.c.
126052 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126054         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
126055         All uses changed.  Check for sa_sigaction member; this fixes
126056         a bug first reported by Jason Andrade in
126057         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126059 2004-03-07  Paul Eggert  <eggert@twinsun.com>
126061         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
126062         '#if' expressions.  Unlike the code it replaces, it does not
126063         depend on (defined _SC_PAGESIZE).  However, it does depend on
126064         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
126065         first reported by Jason Andrade in
126066         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
126068 2004-02-25  Simon Josefsson  <jas@extundo.com>
126070         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
126072 2004-02-25  Simon Josefsson  <jas@extundo.com>
126074         * lib/strdup.h: New file.
126075         * lib/strdup.c: Include it.
126076         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
126077         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
126079 2004-02-23  Karl Berry  <karl@gnu.org>
126081         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
126082         (from fencepost.gnu.org:/gd/gnuorg).
126084 2004-02-23  Karl Berry  <karl@gnu.org>
126086         * config/srclistvars.sh (GNUORG) [karl]: redefine.
126087         * config/srclist.txt: add maintain/standards documents.
126089 2004-02-18  Bruno Haible  <bruno@clisp.org>
126091         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
126092         Reported by Derek Robert Price <derek@ximbiot.com>.
126094 2004-02-16  Karl Berry  <karl@gnu.org>
126096         * config/mkinstalldirs, install-sh: update from automake.
126098 2004-02-06  Karl Berry  <karl@gnu.org>
126100         * m4/po.m4: update from gettext 0.14.1.
126102 2004-02-06  Karl Berry  <karl@gnu.org>
126104         * lib/config.charset: update from gettext 0.14.1.
126106 2004-02-05  Paul Eggert  <eggert@twinsun.com>
126108         Add comments and code, prompted by suggestions from Bruno Haible
126109         for sh-quote.
126110         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
126111         describing the enum quoting_style values.
126112         * lib/quotearg.c (quotearg_alloc): New function.
126113         (quotearg_buffer_restyled): Treat lone { and } as special.
126114         Treat = as special.  Work around bug with older shells
126115         that "see" a '\' that is really the 2nd byte of a multibyte char.
126116         Quote empty string with shell_quoting_style.
126118 2004-02-03  Bruno Haible  <bruno@clisp.org>
126120         * m4/pipe.m4: New file, from GNU gettext.
126122 2004-02-03  Bruno Haible  <bruno@clisp.org>
126124         * lib/pipe.h: New file, from GNU gettext.
126125         * lib/pipe.c: New file, from GNU gettext.
126127 2004-01-27  Bruno Haible  <bruno@clisp.org>
126129         * m4/execute.m4: New file, from GNU gettext.
126131 2004-01-27  Bruno Haible  <bruno@clisp.org>
126133         * lib/execute.h: New file, from GNU gettext.
126134         * lib/execute.c: New file, from GNU gettext.
126135         * lib/w32spawn.h: New file, from GNU gettext.
126137 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126139         Merge from diffutils.
126141         * lib/file-type.c (file_type): Add typed memory objects.
126142         * lib/file-type.h (S_TYPEISTMO): New macro.
126144         * lib/c-stack.h (c_stack_action): Remove argv argument.
126145         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
126146         (die): Don't calculate message unless segv_action returns.
126147         (get_stack_location, min_address_from_argv, max_address_from_argv,
126148         volatile stack_base, volatile_stack_size): Remove.
126149         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
126150         that every segmentation violation is a stack overflow.  (Ouch!)
126151         See Debian bug 136249 (still outstanding) for more info about why
126152         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
126154 2004-01-24  Paul Eggert  <eggert@twinsun.com>
126156         Exit-status fix from coreutils.
126158         Use exit_failure consistently in place of EXIT_FAILURE,
126159         so that program exit statuses are consistent on failure.
126161         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
126162         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
126163         * lib/argmatch.h: Comment fix to match the above.
126164         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
126165         Now a macro referring to exit_failure, instead of a separate
126166         variable.  Include "exitfail.h" to get it.
126167         * lib/xstrtol.h: Include "exitfail.h".
126168         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
126170         * lib/long-options.c (parse_long_options): Use prototype
126171         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
126172         for clarity.
126174 2004-01-21  Jim Meyering  <jim@meyering.net>
126176         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
126177         so as not to conflict with a different-sized __mktime_internal
126178         function in GNU libc.
126179         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
126180         Problem building statically-linked `ls' reported by Michael Brunnbauer.
126182 2004-01-20  Karl Berry  <karl@gnu.org>
126184         * config/config.guess: update from config.
126186         * config/srclistvars.sh: GNUWWWLICENSES for karl.
126188 2004-01-20  Bruno Haible  <bruno@clisp.org>
126190         Safer stack allocation.
126191         * lib/setenv.c: Include allocsa.h.
126192         (alloca): Remove fallback definition.
126193         (freea): Remove macro.
126194         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
126195         instead of freea.
126197 2004-01-20  Bruno Haible  <bruno@clisp.org>
126199         * m4/eealloc.m4: New file, from GNU gettext.
126201 2004-01-20  Bruno Haible  <bruno@clisp.org>
126203         * m4/allocsa.m4: New file, from GNU gettext.
126205 2004-01-20  Bruno Haible  <bruno@clisp.org>
126207         * lib/xallocsa.h: New file, from GNU gettext.
126208         * lib/xallocsa.c: New file, from GNU gettext.
126210 2004-01-20  Bruno Haible  <bruno@clisp.org>
126212         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
126214 2004-01-20  Bruno Haible  <bruno@clisp.org>
126216         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
126217         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
126218         specially.
126220 2004-01-20  Bruno Haible  <bruno@clisp.org>
126222         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
126223         patch.
126225 2004-01-20  Bruno Haible  <bruno@clisp.org>
126227         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
126229 2004-01-20  Bruno Haible  <bruno@clisp.org>
126231         * lib/eealloc.h: New file.
126233 2004-01-20  Bruno Haible  <bruno@clisp.org>
126235         * lib/binary-io.h: Avoid warnings on Cygwin.
126237 2004-01-20  Bruno Haible  <bruno@clisp.org>
126239         * lib/allocsa.h: New file, from GNU gettext.
126240         * lib/allocsa.c: New file, from GNU gettext.
126242 2004-01-18  Karl Berry  <karl@gnu.org>
126244         * doc/gpl.texi, doc/lgpl.texi: new files.
126246 2004-01-18  Karl Berry  <karl@gnu.org>
126248         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
126249         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
126251 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126253         Merge from coreutils.
126255         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
126256         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
126257         (gl_DEFAULT_POSIX2_VERSION): Move
126258         the documentation from 'configure' into 'config.hin',
126259         so that 'configure --help' isn't burdened by it and
126260         we don't have to worry about its formatting there.
126261         Reword the documentation so that it's more succinct
126262         and can be run together into a single paragraph.
126263         * m4/same.m4 (gl_SAME): Check for pathconf.
126265 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126267         Merge from coreutils.
126269         * lib/posixver.c: Include posixver.h.
126271         * lib/same.c: Include <stdbool.h>, <limits.h>.
126272         (_POSIX_NAME_MAX): Define if not defined.
126273         (MIN): New macro.
126274         (same_name): If file names are silently truncated, report
126275         that the file names are the same if they are the same after
126276         the silent truncation.
126278         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
126279         conversion function.
126280         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
126281         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
126282         longer needed.
126284 2004-01-15  Jim Meyering  <jim@meyering.net>
126286         Merge from coreutils.
126288         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
126289         if no library is required.
126290         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
126291         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
126292         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
126293         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
126294         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
126295         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
126296         value, $ac_cv_search_crypt, if it's "none required".
126297         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
126298         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
126299         not gl_FUNC_GETLOADAVG.
126300         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
126301         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
126303 2004-01-15  Jim Meyering  <jim@meyering.net>
126305         Merge from coreutils.
126307         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
126308         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
126309         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
126311         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
126312         optional configure-time default.
126314         * lib/version-etc.c (version_etc_copyright): Update copyright date.
126316         * lib/xreadlink.c (xreadlink): Correct outdated comment.
126318 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
126320         Merge from coreutils.
126322         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
126323         value, $ac_cv_search_nanosleep, if it's "none required".
126325 2004-01-14  Paul Eggert  <eggert@twinsun.com>
126327         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
126328         with like-named macro in fnmatch.c.
126329         (EXT): Use an internal constant instead.
126331         Merge fnmatch patches from glibc.
126332         * lib/fnmatch.c (mbsinit): Remove define.
126333         Add libc_hidden_ver (__fnmatch, fnmatch).
126334         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
126335         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
126337 2004-01-14  Karl Berry  <karl@gnu.org>
126339         * config/install-sh: update from automake.
126341 2004-01-13  Karl Berry  <karl@gnu.org>
126343         * config/install-sh: update from automake.
126345 2004-01-09  Karl Berry  <karl@gnu.org>
126347         * config/install-sh: update from automake.
126349 2004-01-05  Karl Berry  <karl@gnu.org>
126351         * config/config.{sub,guess}: update from config.
126353 2003-12-31  Karl Berry  <karl@gnu.org>
126355         * config/depcomp: update from automake.
126357 2003-12-14  Karl Berry  <karl@gnu.org>
126359         * lib/config.charset: update from gettext-runtime.
126361 2003-12-03  Paul Eggert  <eggert@twinsun.com>
126363         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
126364         Bug reported by Alfred M. Szmidt.
126366 2003-12-03  Bruno Haible  <bruno@clisp.org>
126368         * m4/gettext.m4: Upgrade from gettext-0.13.
126369         * m4/po.m4: Upgrade from gettext-0.13.
126370         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
126371         * m4/intmax.m4: New file, from gettext-0.13.
126372         * m4/printf-posix.m4: New file, from gettext-0.13.
126374 2003-11-29  Karl Berry  <karl@gnu.org>
126376         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
126378 2003-11-25  Paul Eggert  <eggert@twinsun.com>
126379             Bruno Haible  <bruno@clisp.org>
126381         * lib/printf-parse.h: Don't include sys/types.h.
126382         (ARG_NONE): New macro.
126383         (char_directive): Change type of *arg_index fields to size_t.
126384         * lib/printf-parse.c: Don't include sys/types.h.
126385         (SSIZE_MAX): Remove macro.
126386         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
126387         Remove unnecessary overflow check.
126388         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
126389         fields.
126391 2003-11-25  Bruno Haible  <bruno@clisp.org>
126393         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
126395 2003-11-25  Bruno Haible  <bruno@clisp.org>
126397         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
126398         gt_TYPE_SSIZE_T.
126400 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126402         * modules/alloca: Remove dependency on xalloc.
126404 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126406         * lib/alloca.c: Remove dependency on xalloc module.
126407         (xalloc_die): Remove.
126408         (memory_full) [!defined emacs]: New macro.
126409         [!defined emacs]: Don't include xalloc.h.
126410         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
126411         address arithmetic overflows.  Change datatypes a bit to avoid
126412         unnecessary casts.
126414 2003-11-22  Jim Meyering  <jim@meyering.net>
126416         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
126417         s/size/size_t/.
126419 2003-11-21  Karl Berry  <karl@gnu.org>
126421         * config/config.{sub,guess}: update from config.
126423 2003-11-18  Karl Berry  <karl@gnu.org>
126425         * config/config.{sub,guess}: update from config.
126427         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
126429 2003-11-17  Paul Eggert  <eggert@twinsun.com>
126431         * README: Mention that S+T cannot overflow if S is the size of
126432         an existing object and T is sufficiently small.
126434 2003-11-17  Jim Meyering  <jim@meyering.net>
126436         On systems without utime and without a utimes function capable of
126437         dealing with a NULL struct utimbuf* argument, this utime replacement
126438         could -- in unusual circumstances -- leak a file descriptor.
126439         * lib/utime.c: Include <unistd.h> and <errno.h>.
126440         (utime_null): Be sure to close `fd' and to preserve errno.
126441         Reported by Geoff Collyer via Arnold Robbins.
126443 2003-11-17  Bruno Haible  <bruno@clisp.org>
126445         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
126446         (Depends-on): Add xsize.
126448 2003-11-17  Bruno Haible  <bruno@clisp.org>
126450         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
126452 2003-11-17  Bruno Haible  <bruno@clisp.org>
126454         * lib/vasnprintf.c (alloca): Remove fallback definition.
126455         (freea): Remove definition.
126456         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
126457         Reported by Paul Eggert.
126459 2003-11-16  Paul Eggert  <eggert@twinsun.com>
126460             Bruno Haible  <bruno@clisp.org>
126462         Protect against address arithmetic overflow.
126463         * lib/printf-args.h: Include stddef.h.
126464         (arguments): Change type of field 'count' to size_t.
126465         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
126466         'unsigned int' where appropriate.
126467         * lib/printf-parse.h: Include sys/types.h.
126468         (char_directive): Change type of *arg_index fields to ssize_t.
126469         (char_directives): Change type of fields 'count', max_*_length to
126470         size_t.
126471         * lib/printf-parse.c: Include sys/types.h and xsize.h.
126472         (SSIZE_MAX): Define fallback value.
126473         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
126474         instead of 'int' where appropriate. Check a_allocated, d_allocated
126475         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
126476         * lib/vasnprintf.c: Include xsize.h.
126477         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
126478         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
126479         overflow. Avoid wraparound when converting a width or precision from
126480         decimal to binary.
126482 2003-11-16  Bruno Haible  <bruno@clisp.org>
126484         Update from GNU gettext.
126485         * lib/printf-parse.c: Generalize to it can be compiled for wide
126486         strings.
126487         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
126488         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
126489         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
126490         SNPRINTF): New macros.
126491         Don't include <alloca.h> if the file is used inside libintl.
126492         (local_wcslen): New function, for Solaris 2.5.1.
126493         (VASNPRINTF): Use it instead of wcslen.
126495 2003-11-16  Bruno Haible  <bruno@clisp.org>
126497         * lib/xsize.h (xmax): New function.
126498         (xsum, xsum3, xsum4): Declare as "pure" functions.
126500 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126502         * modules/xalloc (Files): Undo latest change, since xalloc.h
126503         no longer needs SIZE_MAX or PTRDIFF_MAX.
126505 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126507         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
126508         gl_PTRDIFF_MAX.
126510 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126512         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
126513         "return", to pacify some unknown compiler.  Problem reported
126514         by Joerg Schilling.
126516 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126518         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
126519         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
126520         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
126521         heuristic is just as accurate as far as we know, and it removes a
126522         dependency on size_max.m4 and ptrdiff_max.m4.
126524 2003-11-11  Bruno Haible  <bruno@clisp.org>
126526         * modules/xsize (Files): Add m4/size_max.m4.
126527         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
126529 2003-11-11  Bruno Haible  <bruno@clisp.org>
126531         * m4/size_max.m4: New file.
126532         * m4/ptrdiff_max.m4: New file.
126533         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
126534         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
126535         (gl_XALLOC): Invoke it.
126537 2003-11-11  Bruno Haible  <bruno@clisp.org>
126539         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
126540         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
126541         defined.
126543 2003-11-10  Paul Eggert  <eggert@twinsun.com>
126545         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
126546         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
126547         rejected some allocations of exactly SIZE_MAX - 2 bytes.
126548         From Bruno Haible.
126549         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
126550         not (size_t) -1, since it's defined here.
126552 2003-11-09  Karl Berry  <karl@gnu.org>
126554         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
126556 2003-11-06  Paul Eggert  <eggert@twinsun.com>
126558         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
126559         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
126560         Reject sizes of exactly SIZE_MAX bytes.
126561         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
126562         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
126564 2003-11-05  Bruno Haible  <bruno@clisp.org>
126566         * lib/xsize.h: Include limits.h, to avoid a possible collision with
126567         SIZE_MAX defined in <limits.h> on Solaris.
126569 2003-11-04  Jim Meyering  <jim@meyering.net>
126571         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
126572         variable names, rather than @VAR@.
126573         * modules/poll: Likewise.
126575 2003-11-04  Bruno Haible  <bruno@clisp.org>
126577         * modules/xsize: New file.
126578         * modules/linebreak: Depend on xsize.
126579         * MODULES.html.sh (func_all_modules): Add xsize.
126581 2003-11-04  Bruno Haible  <bruno@clisp.org>
126583         * m4/xsize.m4: New file.
126585 2003-11-04  Bruno Haible  <bruno@clisp.org>
126587         * lib/xsize.h: New file.
126588         * lib/linebreak.c: Include xsize.h.
126589         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
126590         argument for overflow.
126591         Suggested by Paul Eggert.
126593 2003-11-03  Karl Berry  <karl@gnu.org>
126595         * config/config.{guess,sub}: update from config.
126597 2003-11-03  Jim Meyering  <jim@meyering.net>
126599         * modules/userspec (lib_SOURCES): Add userspec.h.
126600         (Include): Add "userspec.h".
126601         Improve description.
126603 2003-11-03  Jim Meyering  <jim@meyering.net>
126605         * lib/userspec.c: Include "userspec.h".
126606         * lib/userspec.h: New file.
126608 2003-11-03  Bruno Haible  <bruno@clisp.org>
126610         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
126612 2003-11-03  Bruno Haible  <bruno@clisp.org>
126614         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
126615         available, to avoid (extremely rare) race condition.
126616         Suggested by Paul Eggert.
126618 2003-11-02  Karl Berry  <karl@gnu.org>
126620         * config/srclist.txt (vasprintf.c): sync broken, sigh.
126622 2003-10-31  Paul Eggert  <eggert@twinsun.com>
126624         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
126625         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
126626         (read_filesystem_list): Set and use me_type_malloced.
126627         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
126628         whatever the type happens to be), for brevity and consistency.
126629         Check for size calculation overflow on Alphas running OSF/1.
126631 2003-10-31  Jim Meyering  <jim@meyering.net>
126633         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
126635         * lib/linebuffer.c: Include <string.h> for declaration of memset.
126637 2003-10-30  Paul Eggert  <eggert@twinsun.com>
126638             Bruno Haible  <bruno@clisp.org>
126640         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
126641         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
126643 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
126645         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
126646         netbsd*-gnu*.  Suggested by Robert Millan.
126648 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126650         * modules/group-member: Depend on stdbool.
126652 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126654         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
126656 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126658         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
126659         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
126660         after the 'gnu' in these cases.  This fixes some bugs in the
126661         previous change, and is based on suggestions by Robert Millan.
126663 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126665         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
126666         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
126667         no longer needed.
126668         * lib/quotearg.c (quotearg_n_options): Use it.
126669         * lib/group-member.c: Include <stdbool.h>.
126670         (free_group_info): Arg is now const *; don't free arg.
126671         (get_group_info): Now returns bool and accepts struct group_info *,
126672         rather than returning a malloc'ed struct group_info *.
126673         All uses changed.  Check for overflow in internal size calculation.
126675         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
126676         rather than xmalloc/xrealloc.
126677         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
126678         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
126679         conformance bug: the old code used a pointer after freeing the
126680         storage that it addressed.
126681         * lib/hash.c (hash_initialize): Simplify the code by using
126682         xalloc_oversized rather than doing it by hand.
126683         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
126684         the buffer preserved.  Use free and xmalloc instead.
126685         * lib/quotearg.c (quotearg_n_options): Likewise.
126686         Use a simpler test for size overflow.  Don't use xalloc_oversized
126687         because unsigned int might be wider than size_t (!); this suggests
126688         that we should switch from unsigned int to size_t for slot numbers.
126690 2003-10-28  Paul Eggert  <eggert@twinsun.com>
126692         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
126693         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
126694         NetBSD kernels.  Requested by Richard Stallman.
126696 2003-10-27  Paul Eggert  <eggert@twinsun.com>
126698         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
126699         to allocate the returned structure.  Do not allocate a subarray,
126700         as x2nrealloc will do that.
126701         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
126702         instead of xnrealloc.
126703         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
126705 2003-10-27  Bruno Haible  <bruno@clisp.org>
126707         * lib/stdbool_.h: Better support for BeOS.
126709 2003-10-26  Paul Eggert  <eggert@twinsun.com>
126711         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
126712         now uses inline.
126714 2003-10-26  Paul Eggert  <eggert@twinsun.com>
126716         * lib/xalloc.h (xalloc_oversized): New static inline function, for
126717         callers that want to do their own size-overflow checking.  Include
126718         <stdbool.h>, since xalloc_oversized returns bool.
126719         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
126720         to use xalloc_oversized.
126722         Add two functions x2realloc, x2nrealloc, for programs that grow
126723         arrays dynamically by doubling their sizes.
126724         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
126725         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
126726         New functions.
126728         Port to C99 semantics for 'inline' of external functions.
126729         Bug reported by Bruno Haible.
126730         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
126731         with the old contents of xnmalloc.
126732         (xnmalloc, xmalloc): Use it.
126733         (xnrealloc_inline): New static inline function,
126734         with the old contents of xnrealloc.
126735         (xnrealloc, xrealloc): Use it.
126737         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
126738         that.
126740 2003-10-26  Karl Berry  <karl@gnu.org>
126742         * config/srclist.txt (COPYING.DOC): no longer available from
126743         /gd/gnuorg; don't know where the ultimate source is.
126745 2003-10-25  Paul Eggert  <eggert@twinsun.com>
126747         Fix several address-calculation bugs in the hash modules,
126748         plus some minor code cleanup.
126750         * lib/hash.h: Include <stdbool.h>, for bool.
126751         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
126752         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
126753         hash_get_n_entries, hash_get_max_bucket_length,
126754         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
126755         hash_rehash): Use size_t rather than unsigned.
126756         * lib/hash.c (struct hash_table, hash_get_n_buckets,
126757         hash_get_n_buckets_used, hash_get_n_entries,
126758         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
126759         hash_get_entries, hash_do_for_each, hash_string, is_prime,
126760         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
126761         Likewise.
126762         (SIZE_MAX): Define if not defined.
126763         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
126764         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
126765         hash_print):
126766         Use const * when possible.
126767         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
126768         (check_tuning): Fix bug: if tuning parameters were very close to
126769         0 or 1, rounding errors could have caused subscript violations.
126770         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
126771         (hash_initialize): Add 'fail:' label
126772         to free table and return NULL, and use it to simplify code.
126773         Use calloc rather than clearing the storage ourself.
126774         (hash_initialize, hash_rehash): Check for arithmetic overflow in
126775         buffer size calculations.
126776         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
126777         Include <stddef.h>, for size_t.
126778         * lib/hash-pjw.c (hash_pjw): Likewise.
126779         Switch to method described by Bruno Haible.
126780         Include <limits.h>, for CHAR_BIT.
126781         (SIZE_BITS): New macro.
126783 2003-10-23  Paul Eggert  <eggert@twinsun.com>
126785         * m4/getline.m4 (AM_FUNC_GETLINE):
126786         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
126787         hosts.  Problem reported by Derek Robert Price in
126788         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
126789         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
126790         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
126792 2003-10-21  Paul Eggert  <eggert@twinsun.com>
126794         * lib/getndelim2.c (getndelim2): When size calculation overflows,
126795         ceiling the allocation at NMAX bytes rather than silently
126796         discarding input bytes before NMAX is reached.  This makes
126797         a difference only if NMAX exceeds SIZE_MAX / 2.
126799         * lib/obstack.c: Merge from glibc.
126800         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
126801         Add libc_hidden_def (_obstack_newchunk).
126802         (_obstack_free) [! defined _LIBC]: Remove.
126803         [defined _LIBC]: Make a strong alias from obstack_free, rather than
126804         a clone of the function body.
126805         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
126806         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
126808         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
126809         glibc.
126810         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
126811         arg to memcpy.
126813         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
126814         (obstack_ptr_grow_fast, obstack_int_grow_fast):
126815         Don't use lvalue casts, as GCC plans to remove support for them
126816         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
126817         was also present in the non-GCC version, indicating that this
126818         code had always been buggy and had never been widely used.
126819         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
126820         Use the fast variant of each macro, rather than copying the
126821         definiens of the fast variant; that way, we'll be more likely to
126822         catch future bugs in the fast variants.
126824 2003-10-20  Bruno Haible  <bruno@clisp.org>
126826         * modules/wait-process: New file.
126827         * MODULES.html.sh (func_all_modules): Add wait-process.
126829 2003-10-20  Bruno Haible  <bruno@clisp.org>
126831         * m4/wait-process.m4: New file.
126833 2003-10-20  Bruno Haible  <bruno@clisp.org>
126835         * lib/wait-process.h: New file, from GNU gettext.
126836         * lib/wait-process.c: New file, from GNU gettext.
126838 2003-10-19  Jim Meyering  <jim@meyering.net>
126840         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
126841         HPUX 10.20.
126843 2003-10-18  Karl Berry  <karl@gnu.org>
126845         * config/config.guess: update from config.
126847 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126849         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
126850         (getgroups): First arg is int, not size_t.
126851         Don't let 'free' mangle errno.
126853 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126855         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
126857 2003-10-16  Karl Berry  <karl@gnu.org>
126859         * config/config.{guess,sub}: update from config.
126861 2003-10-16  Jim Meyering  <jim@meyering.net>
126863         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
126864         memcpy.
126866 2003-10-15  Paul Eggert  <eggert@twinsun.com>
126868         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
126869         (SIZE_MAX): Remove.
126870         (new_exclude, add_exclude_file): Initial size no longer needs to
126871         be a power of 2.
126872         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
126873         our own address arithmetic overflow checking.
126875         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
126876         (fnmatch): Do not alloca more than 2000 wide characters;
126877         instead, use malloc for large buffers.
126878         Check for address arithmetic overflow, and return -1
126879         with errno set to ENOMEM in that case.
126880         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
126881         (NEW_PATTERN): Do not alloca more than 8000 bytes;
126882         instead, return -1.  Check for address arithmetic overflow.
126884 2003-10-14  Paul Eggert  <eggert@twinsun.com>
126886         Handle invalid suffixes and overflow independently, so that
126887         callers can treat them independently as needed.  Fix some bugs in
126888         suffix handling, e.g., "100k@" was not diagnosed as an invalid
126889         suffix for a human-readable blocksize.  The major caller-visible
126890         change is the addition of a new
126891         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
126892         that both overflow and suffix chars were found.
126894         * lib/human.c (humblock): Don't check separately for invalid suffix
126895         char; that is xstrtoumax's job (now that its bug is fixed).
126896         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
126897         INTMAX_MAX]: New macros.
126898         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
126899         TYPE_MAXIMUM): New macros.
126900         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
126901         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
126902         if overflow occurs, as it's what __strtol does and it's more useful
126903         in practice.
126904         (__xstrtol): If __strtol reports some error other than ERANGE,
126905         reflect it to the caller as LONGINT_INVALID.  If it reports
126906         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
126907         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
126908         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
126909         value.
126910         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
126911         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
126912         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
126913         [defined UINTMAX_MAX]: New macros.
126915 2003-10-14  Bruno Haible  <bruno@clisp.org>
126917         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
126919 2003-10-14  Bruno Haible  <bruno@clisp.org>
126921         * m4/sig_atomic_t: New file, from GNU gettext.
126922         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
126924 2003-10-14  Bruno Haible  <bruno@clisp.org>
126926         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
126927         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
126928         Also use volatile where needed.
126930 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126932         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
126933         Change maintainer from Bruno Haible to 'all'.
126935 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126937         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
126939 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126941         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
126942         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
126943         and define in terms of the other primitives.
126944         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
126945         (SIZE_MAX): Define if not already defined.
126946         (array_size_overflow): New function.
126947         (xalloc_die): Abort instead of exiting if 'error' returns.
126948         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
126949         (xmalloc, xrealloc): Use them.
126950         (xcalloc): Check for address arithmetic overflow.
126951         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
126952         a bit faster than strcpy.
126954 2003-10-10  Simon Josefsson  <jas@extundo.com>
126956         * modules/argp (Depends-on): Add restrict and strcase.
126958 2003-10-10  Simon Josefsson  <jas@extundo.com>
126960         * m4/argp.m4: Add AC_C_INLINE.
126962 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126964         Merge getpass from libc, plus a few fixes.
126966         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
126967         Include <stdbool.h>.
126968         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
126969         __fsetlocking to empty.
126970         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
126971         do include <bits/libc-lock.h>.
126972         Do not include <fcntl.h>; not needed.
126973         [_LIBC]: Include <wchar.h>.
126974         (NOTCANCEL_MODE): New macro.
126975         (flockfile, funlockfile) [_LIBC]: New macros.
126976         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
126977         [!_LIBC]: New macros.
126978         (call_fclose): New function.
126979         (getpass): Use it.  Save tty stream separately; this simplifies the
126980         code and makes it more reliable if stdin happens to equal stdout.
126981         Invoke __fsetlocking on tty.
126982         Handle thread cancellation if needed.
126983         Namespace cleanup (use __tcgetattr, __getline).
126984         Use bool for Booleans.
126985         [USE_IN_LIBIO]: Handle wide streams.
126986         [!_LIBC]: Unconditionally do the fseek, since we don't know what
126987         stream might go where.
126989         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
126990         doesn't have to include <stdio.h> before us.
126991         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
126992         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
126993         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
126994         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
126995         if not declared, so that we can use getpass.c code from libc without
126996         rewriting it.
126997         (flockfile, ftrylockfile, funlockfile): New macros.
126999 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127001         * modules/getpass: Depend on stdbool.
127003 2003-10-08  Paul Eggert  <eggert@twinsun.com>
127005         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
127007 2003-10-07  Karl Berry  <karl@gnu.org>
127009         * config/config.{guess,sub}: update from config.
127011 2003-10-06  Jim Meyering  <jim@meyering.net>
127012             Bruno Haible  <bruno@clisp.org>
127014         This lets translators provide better translations for the
127015         "Written by ..." part of --version output.
127016         * lib/version-etc.h: Include stdarg.h.
127017         (version_etc_copyright): Declare as readonly.
127018         (version_etc): Make this function variadic with a NULL-terminated list
127019         of author name strings.
127020         (version_etc_va): New declaration.
127021         * lib/version-etc.c: Include stdarg.h, stdlib.h.
127022         (version_etc_copyright): Declare as readonly.
127023         (version_etc_va): New function. Provide a different translatable string
127024         for each possible number of authors < 10. Abbreviate when there are 10
127025         authors or more.
127026         (version_etc): Make this function variadic. Call version_etc_va.
127027         Suggestion from Gary V. Vaughan.
127029         * lib/long-options.h (parse_long_options): Change prototype: the
127030         authors string is moved to the end and becomes variadic.
127031         * lib/long-options.c: Include stdarg.h.
127032         (parse_long_options): Make this function variadic, too.
127033         Call version_etc_va, not version_etc.
127035 2003-10-06  Bruno Haible  <bruno@clisp.org>
127037         * modules/version-etc-2: Remove file.
127038         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
127040 2003-10-06  Bruno Haible  <bruno@clisp.org>
127042         * modules/fatal-signal: New file.
127043         * MODULES.html.sh (func_all_modules): Add fatal-signal.
127045 2003-10-06  Bruno Haible  <bruno@clisp.org>
127047         * m4/fatal-signal.m4: New file.
127048         * m4/signalblocking.m4: New file, from GNU gettext.
127050 2003-10-06  Bruno Haible  <bruno@clisp.org>
127052         * lib/version-etc-2.h: Remove file.
127053         * lib/version-etc-2.c: Remove file.
127055 2003-10-06  Bruno Haible  <bruno@clisp.org>
127057         * lib/fatal-signal.h: New file, from GNU gettext.
127058         * lib/fatal-signal.c: New file, from GNU gettext.
127060 2003-10-05  Paul Eggert  <eggert@twinsun.com>
127062         * README: Rework advice for preventing empty .o files.
127063         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
127064         not <sys/types.h>.
127066 2003-10-04  Karl Berry  <karl@gnu.org>
127068         * lib/argp*: update from libc.
127070 2003-10-04  Karl Berry  <karl@gnu.org>
127072         * config/config.{guess,sub}: update from config.
127074 2003-10-02  Bruno Haible  <bruno@clisp.org>
127076         * modules/lchown (Include): Add lchown.h.
127077         * modules/time_r (Include): Use "..." syntax.
127078         * modules/xgetdomainname (Include): Add xgetdomainname.h.
127080 2003-10-01  Simon Josefsson  <jas@extundo.com>
127082         * MODULES.html.sh (func_all_modules): Move gethostname from section
127083         'based on' to section 'lacking' POSIX:2001.
127085 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
127087         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
127088         to output mode on the same stream.
127090 2003-09-29  Paul Eggert  <eggert@twinsun.com>
127092         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
127093         Fix arg typo in previous patch.
127095 2003-09-28  Jim Meyering  <jim@meyering.net>
127097         * lib/error.c: Correct cpp indentation.
127099 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127101         * modules/free: New file.
127103 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127105         * m4/free.m4: New file.
127107 2003-09-27  Paul Eggert  <eggert@twinsun.com>
127109         * lib/minmax.h (MIN, MAX)
127110         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
127111         Omit the special code that used __typeof__, since we worry that
127112         it could be more trouble than it's worth.  See:
127113         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
127114         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
127116         * lib/free.c: New file.
127118 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
127120         Trivial fixes to Makefile.am parts of module listings.
127121         * modules/strstr: Append strstr.h to lib_SOURCES.
127122         * modules/strcase: Likewise, for strcase.h.
127124 2003-09-27  Karl Berry  <karl@gnu.org>
127126         * config/mkinstalldirs: update from automake.
127128 2003-09-26  Paul Eggert  <eggert@twinsun.com>
127130         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
127131         (error_tail): Do not loop, reallocating temporary buffer, since
127132         the output cannot contain more wide characters than the input
127133         contains bytes, the size must be big enough already.  This avoids
127134         one potential size overflow calculation.  Check for size overflow
127135         when calculating temporary buffer size.  Free temporary buffer
127136         when done, if it was allocated with malloc; this plugs a memory
127137         leak.  Remove casts from void * to pointers, that are no longer
127138         needed now that we're assuming C89 or better.
127140         Merge error changes from glibc.
127142         * lib/error.c, error.h: Update copyright notice header to match glibc.
127143         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
127144         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
127145         Disable cancellation while printing error.
127146         * lib/error.h: Prepend __ to parameter names.
127148 2003-09-26  Jim Meyering  <jim@meyering.net>
127150         * lib/error.c (error_tail): Move some declarations
127151         into inner scope where the local variables are used.
127153 2003-09-26  Bruno Haible  <bruno@clisp.org>
127155         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
127156         stpncpy().
127157         Don't define stpncpy through config.h; it's now done through stpncpy.h.
127159 2003-09-26  Bruno Haible  <bruno@clisp.org>
127161         * lib/stpncpy.h (gnu_stpncpy): New declaration.
127162         (stpncpy): Define as alias for gnu_stpncpy.
127163         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
127165 2003-09-25  Simon Josefsson  <jas@extundo.com>
127167         * lib/xgetdomainname.h: New file.
127168         * lib/xgetdomainname.c: New file.
127170 2003-09-25  Simon Josefsson  <jas@extundo.com>
127171             Bruno Haible  <bruno@clisp.org>
127173         * modules/getdomainname: New file.
127174         * modules/xgetdomainname: New file.
127175         * MODULES.html.sh (func_all_modules): Add getdomainname,
127176         xgetdomainname.
127178 2003-09-25  Simon Josefsson  <jas@extundo.com>
127179             Bruno Haible  <bruno@clisp.org>
127181         * m4/getdomainname.m4: New file.
127183 2003-09-25  Simon Josefsson  <jas@extundo.com>
127184             Bruno Haible  <bruno@clisp.org>
127186         * lib/getdomainname.h: New file.
127187         * lib/getdomainname.c: New file.
127189 2003-09-25  Karl Berry  <karl@gnu.org>
127191         * lib/argp-fmtstream.c, argp-help.c: update from libc.
127193 2003-09-25  Karl Berry  <karl@gnu.org>
127195         * config/install-sh: update from automake.
127197 2003-09-25  Bruno Haible  <bruno@clisp.org>
127199         * modules/version-etc-2: New file, from modules/version-etc with
127200         modifications.
127201         * MODULES.html.sh (func_all_modules): Add version-etc-2.
127203 2003-09-25  Bruno Haible  <bruno@clisp.org>
127205         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
127206         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
127208 2003-09-24  Simon Josefsson  <jas@extundo.com>
127210         * modules/xgethostname: Add xgethostname.h.
127212 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127214         * lib/linebuffer.c (freebuffer): Don't free the argument, just
127215         the buffer associated with the argument.  Bug reported by
127216         Simon Josefsson.
127218 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127220         * README: Document assumptions that 'int' is at least 32 bits
127221         wide, that integer arithmetic is 2's complement without overflow,
127222         that there are no holes in integer values, that adding sizes of
127223         two nonoverlapping objects can't overflow, and that all-bits-zero
127224         yields scalar zero.  Fix spelling and capitalization typos.
127226 2003-09-19  Karl Berry  <karl@gnu.org>
127228         * lib/argp.h: update from libc.
127230 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127232         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
127233         to avoid spurious warnings like "AC_RUN_IFELSE was called before
127234         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
127236 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127238         * gnulib-tool: Use "test -h", not "test -L", for portability
127239         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
127240         (tags_regexp): Remove, since \| doesn't conform to POSIX.
127241         (sed_extract_prog): Issue s commands one-by-one, rather than
127242         using \| in one s command.
127244 2003-09-16  Paul Eggert  <eggert@twinsun.com>
127246         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
127247         input error, instead of returning NULL the next time we are called
127248         (and therefore losing track of errno).
127250 2003-09-16  Bruno Haible  <bruno@clisp.org>
127252         * gnulib-tool (func_create_testdir): Warn about duplicated
127253         dependencies.
127255 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127257         * modules/argmatch, modules/fatal, modules/obstack,
127258         modules/xalloc, modules/xgethostname: Sort dependencies by
127259         importance, not alphabetically.
127261 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127263         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
127264         fails, so that the caller gets the proper errno.
127266         * lib/readutmp.c (read_utmp): Likewise.
127267         Check for fstat error.  Close stream and free storage
127268         when failing.
127270 2003-09-14  Karl Berry  <karl@gnu.org>
127272         * config/srclist.txt (strdup.c): disable for c89 changes.
127274 2003-09-14  Jim Meyering  <jim@meyering.net>
127276         * lib/getloadavg.c: Correct cpp indentation.
127277         * lib/strdup.c: Likewise.
127278         * lib/vasnprintf.c: Likewise.
127280 2003-09-14  Bruno Haible  <bruno@clisp.org>
127282         * modules/fwriteerror: New file.
127283         * MODULES.html.sh (func_all_modules): Add fwriteerror.
127285 2003-09-14  Bruno Haible  <bruno@clisp.org>
127287         * lib/fwriteerror.h: New file.
127288         * lib/fwriteerror.c: New file.
127290 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127292         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
127293         modules/xgethostname, modules/xalloc: Depend on exit.
127295 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127297         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
127299         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
127300         and AC_MINIX, too, so that their extensions are available.
127302         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
127303         This macro has been superseded by gl_BACKUPFILE.
127305         More patches to assume C89 or better.
127307         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
127309         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
127310         unconditionally.
127311         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
127312         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
127313         Include <string.h>, <stdlib.h> unconditionally.
127314         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
127315         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
127316         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
127317         headers or for string.h.
127318         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
127319         or strtoul.
127321         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
127322         headers.
127323         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
127324         * m4/userspec.m4 (gl_USERSPEC): Likewise.
127325         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
127326         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
127327         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
127328         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
127329         memcpy, memset.
127330         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
127331         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
127332         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
127333         strtol.
127334         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
127335         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
127336         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
127337         strtoul.
127339 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127341         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
127342         * lib/obstack.c [!defined _LIBC]: Likewise.
127343         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
127344         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
127345         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
127347         More changes to assume C89 or better.
127349         * lib/error.c (error_tail): Assume vprintf.
127351         * lib/argmatch.c (getenv): Remove decl.
127352         * lib/progreloc.c (get_full_program_name): Define via prototype.
127353         * lib/setenv.c (clearenv): Likewise.
127354         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
127355         needed.
127356         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
127357         (malloc, memcpy): Remove decls.
127358         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
127359         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
127360         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127361         (memcpy): Remove macro.
127362         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
127363         (__P): Remove.  All uses removed.
127364         (PTR): Remove.  All uses changed to void *.
127365         (CHAR_BIT, NULL): Remove.
127366         (spaces, zeros, memset_space, memset_zero)
127367         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
127368         Remove.
127369         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
127370         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
127371         Define with prototype.
127372         Remove now-unnecessary prototype decl.
127373         (extra_args_spec): Assume ANSI C.  All uses changed.
127374         (extra_args_spec_iso): Remove.
127375         (my_strftime, emacs_strftimeu): Define via prototype.
127376         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
127377         unconditionally.
127378         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
127379         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
127380         (strtoul, strtol): Remove decls.
127381         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
127382         LONG_MAX): Remove.
127383         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127384         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
127385         (LOCALE_PARAM_PROTO): New macro.
127386         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
127387         (INTERNAL (strtol), strtol): Define with a prototype.
127388         (PARAMS): Remove.  All uses removed.
127389         * lib/tempname.c: Include <string.h> unconditionally.
127390         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
127391         * lib/xgethostname.c (main): Define with a prototype.
127392         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
127393         Include <stdlib.h> unconditionally.
127394         (calloc, malloc, realloc, free): Remove decls.
127395         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
127396         Include <stdlib.h> unconditionally.  Sort include file names.
127397         (strtod): Remove.
127398         (xstrtod): Define with a prototype.
127399         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
127400         (strtol, strtoul): Remove decls.
127402 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127404         More patches to assume C89 or better.
127405         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
127406         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
127407         string.h, memchr, STDC_HEADERS.
127409 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127411         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
127412         Include <stdlib.h>, <string.h> unconditionally.
127413         Remove now-unnecessary cast to char *.
127414         * lib/strnlen.c: Include <string.h> unconditionally.
127415         * lib/yesno.c (yesno): Define with a prototype.
127417 2003-09-11  Bruno Haible  <bruno@clisp.org>
127419         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
127421 2003-09-10  Jim Meyering  <jim@meyering.net>
127423         * lib/error.c: Correct indentation of cpp directives.
127425 2003-09-10  Bruno Haible  <bruno@clisp.org>
127427         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
127428         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
127429         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
127430         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
127431         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
127432         <stdlib.h> and <string.h> checks.
127433         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
127434         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
127436 2003-09-10  Bruno Haible  <bruno@clisp.org>
127438         * lib/strcspn.c: Include <string.h> unconditionally.
127439         * lib/strpbrk.c: Include <string.h> unconditionally.
127440         * lib/strstr.c: Include <string.h> unconditionally.
127441         * lib/unicodeio.c: Include <string.h> unconditionally.
127442         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
127443         * lib/unsetenv.c: Likewise.
127444         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
127445         * lib/yesno.c: Include <stdlib.h> unconditionally.
127446         (rpmatch): Add prototype.
127448 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127450         More patches to assume C89 or better.
127451         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
127452         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
127453         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
127454         or for string.h.
127455         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
127456         stdlib.h.
127457         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
127458         C headers.
127459         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
127460         string.h.
127461         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
127462         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
127463         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
127464         or for string.h.
127465         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
127466         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
127467         C headers.
127468         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
127469         memcpy.
127470         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
127471         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
127472         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
127473         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
127474         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
127475         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
127476         string.h, free.
127477         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
127478         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
127479         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
127480         C headers, or for string.h.
127481         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
127482         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
127483         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
127484         headers, memory.h, stdlib.h, string.h, strings.h.
127485         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
127486         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
127487         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
127488         strchr.
127489         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
127490         headers, memory.h, string.h.
127491         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
127492         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
127493         free.
127494         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
127495         headers.
127496         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
127497         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
127498         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
127499         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
127500         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
127502 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127504         More K&R removal.
127506         * lib/acosl.c (main): Use a prototype.
127507         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
127508         tanl.c: Likewise.
127510         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
127512         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
127513         (getopt, etopt_long, getopt_long_only, _getopt_internal)
127514         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
127515         with a prototype.
127516         * lib/getopt.c (const): Remove macro.
127517         Include <string.h> unconditionally.
127518         (my_index): Remove; all uses changed to strchr.
127519         (strlen): Remove decl.
127520         (exchange): Remove forward decl; no longer needed.
127521         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
127522         Define with prototype.
127523         * lib/getopt1.c (const): Remove macro.
127524         (getopt_long, getopt_long_only, main): Define with prototype.
127526         * lib/getugroups.c: Include <string.h> unconditionally.
127528         * lib/getusershell.c: Include <stdlib.h> unconditionally.
127529         (getusershell, setusershell, endusershell, readname, main):
127530         Define with prototypes.
127532         * lib/group-member.c: Include group-member.h first.
127533         Include <stdlib.h> unconditionally.
127535         * lib/hard-locale.c: Include hard-locale.h first.
127536         Include <stdlib.h>, <string.h> unconditionally.
127538         * lib/hash.c (free, malloc): Remove decls.
127539         Include <stdlib.h> unconditionally.
127541         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
127542         (getenv): Do not declare.
127544         * lib/idcache.c: Include <string.h> unconditionally.
127546         * lib/long-options.c: Include long-options.h first, to test interface.
127547         Include <stdlib.h> unconditionally.
127549         * lib/makepath.c: Include makepath.h first, to test interface.
127550         Include <stdlib.h> and <string.h> unconditionally.
127552         * lib/linebuffer.c: Include <stdlib.h>.
127553         (free): Remove decl.
127555         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
127556         stddef.h. rpl_malloc returns void *, not char *.
127557         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
127558         prototype.
127560         * lib/md5.h: Include <limits.h> unconditionally.
127561         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
127562         (__P): Remove; all uses removed.
127563         * lib/md5.c: Include "md5.h" first.
127564         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
127565         md5_buffer, md5_process_bytes, md5_process_block):
127566         Define with prototypes.
127567         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
127568         * lib/sha.c: Include "sha.h" first.
127569         Include <stdlib.h>, <string.h> unconditionally.
127571         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
127572         * lib/memcmp.c (__ptr_t): Likewise.
127573         * lib/memrchr.c (__ptr_t): Likewise.
127574         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
127575         Include <string.h> unconditionally.
127576         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
127577         * lib/memchr.c: Include <stdlib.h> unconditionally.
127578         * lib/memchr.c (LONG_MAX): Remove.
127579         * lib/memrchr.c (LONG_MAX): Likewise.
127580         * lib/memchr.c (__memchr): Define via a prototype.
127581         * lib/memrchr.c (__memrchr): Likewise.
127582         * lib/memcmp.c (__P): Remove, and remove all uses.
127583         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
127584         Remove forward decls; no longer needed.
127585         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
127586         Use types required by C89 in prototype.
127588         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
127589         * lib/savedir.c: Likewise.
127590         * lib/mkdir.c (free): Remove decl.
127591         * lib/rmdir.c (rmdir): Define with a prototype.
127592         * lib/savedir.c: Include savedir.h first, to test interface.
127594         * lib/mktime.c (STDC_HEADERS): Remove.
127595         Include <stdlib.h>, <string.h> unconditionally.
127597         * lib/modechange.c: Include <stdlib.h> unconditionally.
127598         (malloc): Remove decl.
127600         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
127601         (free): Remove decl.
127603         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
127604         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
127605         (This type really should be intptr_t, but that's a C99ism.)
127606         (_obstack_memcpy): Remove: all uses changed to memcpy.
127607         Include <string.h> unconditionally.
127608         (struct obstack): Assume __STDC__ for types of members
127609         chunkfun, freefun, extra_arg.
127610         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
127611         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
127612         obstack_begin, obstack_specify_allocation,
127613         obstack_specify_allocation_with_arg, obstack_chunkfun,
127614         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
127615         Remove unprototyped decls and the macros that use them.
127616         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
127617         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
127618         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
127619         (defined __STDC__ && __STDC__)]:
127620         Remove nonprototyped code.
127621         Include <stdlib.h> unconditionally.
127622         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
127623         _obstack_allocated_p, _obstack_free, obstack_free,
127624         _obstack_memory_used, print_and_abort):
127625         Define using prototypes.
127626         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
127627         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
127628         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
127629         obstack_next_free, obstack_object_size, obstack_room) [0]:
127630         Remove unused, unprototyped code.
127632         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
127634         * lib/physmem.c (physmem_total, physmem_available, main): Define
127635         with prototypes.
127637         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
127638         (main): Define with a prototype.
127640         * lib/posixver.c (getenv): Remove decl.
127642         * lib/putenv.c (malloc): Returns void *, not char *.
127643         Include <string.h> unconditionally.
127644         (strchr, memcpy, NULL): Do not define.
127646         * lib/readtokens.c: Include readtokens.h first, to test interface.
127647         Include <stdlib.h>, <string.h> unconditionally.
127648         (init_tokenbuffer): Define with a prototype.
127650         * lib/regex.c (PARAMS): Remove.  All uses removed.
127651         All uses of _RE_ARGS removed, too.
127652         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
127653         unconditionally.
127654         (bzero): Assume memset exists.
127655         (memcmp, memcpy, NULL): Remove.
127656         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
127657         char, or assignments to local vars of type signed char.
127658         (init_syntax_once, PREFIX(extract_number_and_incr),
127659         PREFIX(print_partial_compiled_pattern),
127660         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
127661         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
127662         PREFIX(regex_grow_registers), PREFIX(regex_compile),
127663         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
127664         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
127665         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
127666         wcs_compile_range, byte_compile_range, truncate_wchar,
127667         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
127668         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
127669         count_mbs_length, wcs_re_match_2_internal,
127670         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
127671         PREFIX(alt_match_null_string_p),
127672         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
127673         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
127674         regfree, PREFIX(extract_number)): Define with prototype.  Remove
127675         now-unnecessary declaration, if any.
127676         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
127677         regcomp, regexec):
127678         Remove now-unnecessary casts among pointer types.
127679         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
127681         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
127682         (free): Remove decl.
127684         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
127686         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
127687         (free): Remove decl.
127689         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
127690         * lib/xgetcwd.c: Likewise.
127692         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
127693         (free): Remove decl.
127695         * lib/strchrnul.c (strchrnul): Define with a prototype.
127696         Fix bug: c_in was not converted to char before searching.
127698         The following changes are not K&R related:
127700         * lib/group-member.h: Include <sys/types.h>, so that this file is
127701         self-contained.
127702         * lib/makepath.h: Likewise.
127704         * lib/getusershell.c (readname, default_index, line_size, readname):
127705         Use size_t, not int, for sizes.
127706         (readname): If the size overflows, report an error instead of
127707         looping forever.
127709 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127711         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
127712         libc.
127714 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127716         * README: New section: portability guidelines.
127718 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
127720         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
127721         C89 spec.
127723 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
127725         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
127727 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127729         Assume C89 or better; remove K&R cruft.
127730         A few of these changes were first proposed by Derek Robert Price
127731         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
127733         * lib/addext.c: Include <string.h> unconditionally.
127734         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
127735         Don't declare getenv or malloc.
127737         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
127738         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
127739         (NULL): Remove.
127740         (find_stack_direction, alloca): Use prototypes.
127742         * lib/atexit.c (atexit): Define using a prototype.
127744         * lib/basename.c, dirname.c, stripslash.c:
127745         Include <string.h> unconditionally.
127747         * lib/bcopy.c: Include <stddef.h>.
127748         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
127750         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
127752         * lib/error.h (error, error_at_line, error_print_progname)
127753         [! (defined (__STDC__) && __STDC__)]: Remove decls.
127754         * lib/error.c: Include error.h first, to check interface.
127755         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127756         (VA_START): Remove; all uses changeed to va_start.
127757         (exit, strerror): Remove decls.
127758         (error_print_progname): Prototype uncondionally.
127759         Don't include <errno.h>; no longer needed.
127760         (private_strerror): Remove.
127761         (error_tail): Always define.
127762         (error, error_at_line): Assume C89 or better; always use prototypes.
127763         * lib/fatal.c: Include "fatal.h" first, to test interface.
127764         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127765         (VA_START): Remove; all uses changed to va_start.
127766         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
127767         this case.
127768         (exit): Remove decl.
127769         (fatal): Prototype unconditionally.  Assume va_start works.
127770         Abort at end, to pacify gcc.
127772         * lib/euidaccess.c (main): Define with a prototype.
127774         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
127776         * lib/exitfail.c: Include <stdlib.h> unconditionally.
127778         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
127779         prototypes.
127780         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
127781         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
127782         (getenv): Remove decl.
127783         (fnmatch): Define using a prototype.
127784         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
127785         (FCT): Define using a prototype.
127787         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
127789         * lib/gethostname.c: Include <stddef.h>.
127790         (gethostname): Define with prototype.  Length is size_t, not int.
127792 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127794         Assume C89 or better; remove K&R cruft.
127795         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
127796         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
127797         string.h, getenv, malloc.
127798         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
127799         headers.
127800         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
127801         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
127802         do not check for strerror.
127803         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
127804         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
127805         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
127806         do not check for doprnt or vprintf.
127807         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
127808         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
127810 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127812         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
127813         getversion.c should have been removed then, but was accidentally
127814         preserved.
127816         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
127817         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
127819 2003-09-08  Karl Berry  <karl@gnu.org>
127821         * config/config.sub, config.guess, srclistvars.sh: update from savannah
127822                 config, forget about prep.
127824         * config/depcomp, missing: update from automake.
127826 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127828         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
127829         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127831 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127833         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
127834         copy_tm_result.  Bug reported by Simon Josefsson in
127835         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127837 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127839         * m4/time_r.m4: New file.
127840         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
127841         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
127842         is. Check for timegm declaration.
127843         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
127844         Do not check for gmtime_r.
127845         Replace mktime if __mktime_internal does not exist and if mktime
127846         hasn't been replaced already.
127848 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127850         * lib/time_r.c, lib/time_r.h: New files.
127852         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
127853         __localtime_r.
127854         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
127855         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
127857         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
127858         __gmtime_r.
127859         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
127860         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
127861         Include <time_r.h>.
127863         * lib/timegm.c: Switch to glibc implementation, with the following
127864         changes:
127865         [defined HAVE_CONFIG_H]: Include <config.h>.
127866         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
127867         (__mktime_internal) [!defined _LIBC]: New decl.
127868         (__gmtime_r) [!defined _LIBC]: New macro and function.
127869         (timegm): Use a prototype, since gnulib assumes C89.
127870         Do not bother declaring tmp to be const, as it's not really usefu.
127871         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
127872         (timegm): Declare only if HAVE_DECL_TIMEGM.
127874 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127876         * MODULES.html.sh (func_all_modules): Add time_r.
127877         * modules/time_r: New file.
127878         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
127879         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
127881 2003-09-03  Paul Eggert  <eggert@twinsun.com>
127883         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
127884         Bug reported by Lute Kamstra in
127885         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
127887         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
127888         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
127889         course with correspondingly smaller numbers for tomorrow and
127890         yesterday.  From Tadayoshi Funaba.  Originally installed into
127891         sh-utils on 1999-08-07, but the patch got lost (I guess during the
127892         coreutils merge?).
127894 2003-08-31  Simon Josefsson  <jas@extundo.com>
127896         * modules/timegm: New file.
127897         * MODULES.html.sh (func_all_modules): Add timegm.
127899 2003-08-31  Simon Josefsson  <jas@extundo.com>
127901         * m4/timegm.m4: New file.
127903 2003-08-31  Simon Josefsson  <jas@extundo.com>
127905         * lib/timegm.h: New file.
127906         * lib/timegm.c: New file.  Based on
127907         wget-1.8.2/src/http.c:mktime_from_utc.
127909 2003-08-31  Karl Berry  <karl@gnu.org>
127911         * lib/argp.h: update from libc.
127913 2003-08-28  Bruno Haible  <bruno@clisp.org>
127915         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
127916         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
127917         followed by '#define fnmatch fnmatch_posix' gives an error.
127919 2003-08-28  Bruno Haible  <bruno@clisp.org>
127921         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
127922         warning on QNX, which defines O_BINARY to 000000.
127924 2003-08-27  Jim Meyering  <jim@meyering.net>
127926         * m4/mkstemp.m4: Require that the system mkstemp be able to create
127927         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
127928         would fail after 32.  Reported by Danny Levinson.  Details here:
127929         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
127931 2003-08-24  Bruno Haible  <bruno@clisp.org>
127933         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
127934         MSVC7 <stdio.h> is included later.
127936 2003-08-22  Simon Josefsson  <jas@extundo.com>
127938         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
127940 2003-08-20  Karl Berry  <karl@gnu.org>
127942         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
127944 2003-08-20  Bruno Haible  <bruno@clisp.org>
127946         * modules/progname: New file.
127947         * MODULES.html.sh (func_all_modules): Add progname.
127949 2003-08-20  Bruno Haible  <bruno@clisp.org>
127951         * lib/progname.h: New file, from GNU gettext.
127952         * lib/progname.c: New file, from GNU gettext.
127953         * lib/progreloc.c: New file, from GNU gettext.
127955 2003-08-19  Jim Meyering  <jim@meyering.net>
127957         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
127958         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
127960 2003-08-19  Bruno Haible  <bruno@clisp.org>
127962         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
127963         more.
127965 2003-08-19  Bruno Haible  <bruno@clisp.org>
127967         * lib/xstrdup.c: Assume <string.h> exists.
127969 2003-08-18  Paul Eggert  <eggert@twinsun.com>
127971         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
127972         in makefile rules.
127974 2003-08-18  Jim Meyering  <jim@meyering.net>
127976         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
127977         * m4/lib-ld.m4: Likewise.
127979 2003-08-18  Jim Meyering  <jim@meyering.net>
127981         * lib/setenv.h: Indent nested cpp directive.
127982         * lib/vasnprintf.c: Remove trailing blanks.
127984 2003-08-17  Simon Josefsson  <jas@extundo.com>
127986         * modules/xstrndup: New file.
127987         * MODULES.html.sh (func_all_modules): Add xstrndup.
127989 2003-08-17  Simon Josefsson  <jas@extundo.com>
127991         * modules/argp: Fix autoconf macro name. Add more dependencies.
127993 2003-08-17  Simon Josefsson  <jas@extundo.com>
127995         * m4/xstrndup.m4: New file.
127997 2003-08-17  Simon Josefsson  <jas@extundo.com>
127999         * m4/argp.m4: New file.
128001 2003-08-17  Simon Josefsson  <jas@extundo.com>
128002             Bruno Haible  <bruno@clisp.org>
128004         * lib/xstrndup.h: New file.
128005         * lib/xstrndup.c: New file.
128007 2003-08-17  Bruno Haible  <bruno@clisp.org>
128009         * modules/strndup (Files, Include): Add lib/strndup.h.
128011 2003-08-17  Bruno Haible  <bruno@clisp.org>
128013         * modules/euidaccess (Files): Add lib/euidaccess.h.
128015 2003-08-17  Bruno Haible  <bruno@clisp.org>
128017         * lib/strndup.h: New file.
128019 2003-08-17  Bruno Haible  <bruno@clisp.org>
128021         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
128022         like AC_GNU_SOURCE.
128023         * modules/extensions (configure.ac): Comment out the invocation of
128024         gl_USE_SYSTEM_EXTENSIONS.
128026 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128028         Merges from coreutils, etc.
128029         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
128030         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
128031         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
128032         fixing a typo.
128033         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
128034         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
128036 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128038         Document merge from coreutils.
128039         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
128040         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
128041         * modules/utime: Add m4/utimes-null.m4.
128043 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128045         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
128046         space, undoing this 2003-08-12 change:
128047         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128049 2003-08-16  Paul Eggert  <eggert@twinsun.com>
128051         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
128052         strtoul.c from libc, undoing this 2003-08-12 change:
128053         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
128055 2003-08-16  Jim Meyering  <jim@meyering.net>
128057         Merges from coreutils.
128058         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
128059         prefix.  Adjust cache variables similarly.  Create 500 rather than
128060         just 300 files, to exercise bug on Darwin6.5, too.
128061         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
128062         $missing_dir.
128063         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
128064         AM_SYS_POSIX_TERMIOS.
128065         Reported by mkc@mathdogs.com.
128066         Also change use of $am_cv_sys_posix_termios
128067         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
128068         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
128069         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
128070         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
128071         in /proc/mounts until it finds one with matching device number.  This
128072         is unnecessary when the FILE argument *is* a mount point.  No stat call
128073         is necessary in that case.  So, disable the statvfs-testing code on
128074         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
128075         as RedHat bug# 84846.
128076         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128077         to 1MB, so as not to render systems with no stack size limit (e.g.,
128078         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128079         Include <unistd.h>.  On some systems,
128080         it is required for the definition of _SC_PAGESIZE.
128082 2003-08-16  Jim Meyering  <jim@meyering.net>
128084         Merge from coreutils.
128085         * lib/xstrtoimax.c: #else #if -> #elif.
128086         * lib/xstrtoumax.c: Likewise.
128088 2003-08-16  Jim Meyering  <jim@meyering.net>
128090         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
128091         * m4/utimes.m4: Removed.
128092         * m4/utimes-null.m4: Renamed from utimes.m4.
128094         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
128095         to 1MB, so as not to render systems with no stack size limit (e.g.,
128096         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
128097         Include <unistd.h>.  On some systems,
128098         it is required for the definition of _SC_PAGESIZE.
128100 2003-08-16  Jim Meyering  <jim@meyering.net>
128101         and Paul Eggert  <eggert@cs.ucla.edu>
128103         Merges from coreutils, etc.
128105         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
128106         using the latest version from cvs.  This avoids problems with #line
128107         directives using a vendor (Sun) compiler.
128108         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
128109         Don't set GETGROUPS_LIB here; now it's
128110         done via getgroups.m4's wrapper function.
128111         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
128112         rather than just in sh-util/configure.in, so that the
128113         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
128114         same.
128115         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
128116         AC_FUNC_GETLOADAVG where to find getloadavg.c.
128117         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
128118         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
128119         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
128120         Remove code that is now done by the newly-required macros.
128121         Append $(EXEEXT) to DF_PROG.
128122         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
128123         Do not invoke or require the following here,
128124         since prereq.m4 or some gnulib .m4 now does this for us:
128125         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
128126         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
128127         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
128128         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
128129         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
128130         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
128131         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
128132         AC_FUNC_OBSTACK.
128133         Do not replace the following functions, as this is now the job
128134         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
128135         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
128136         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
128137         atexit getpass, strdup, getpagesize.
128138         Replace 'raise'.
128139         Do not check for the following functions, as this is now the job
128140         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
128141         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
128142         setregid.
128143         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
128144         Check for sys/sysctl.h.
128145         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
128146         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
128147         of checking for ssize_t ourselves.
128149         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
128150         Require every macro that gnulib/modules/* suggests for us.
128151         (jm_PREREQ_ADDEXT): New macro.
128152         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
128153         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
128155         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
128156         (gl_PHYSMEM): Use it.
128157         Also check for `table' function.
128158         Check for new headers and functions.
128159         Add check for sys/sysmp.h.
128160         With suggestions from Kaveh Ghazi.
128161         Ignore headers that are present but cannot be compiled.  This
128162         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
128163         C 5.4.
128165 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128167         Document merge from coreutils.
128168         * modules/userspec: Depend on posixver.
128169         * modules/strftime: Depend on tzset.
128171 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128173         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
128174         rather than tab, after '#' in shell-script copyright notices.
128175         Suggested by Bruno Haible.
128177 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128179         * config/srclist-update: Use three spaces, rather than tab, after '#'
128180         in shell-script copyright notices.  Suggested by Bruno Haible.
128181         Remove unnecessary parenthesization in regular expression.
128183 2003-08-15  Jim Meyering  <jim@meyering.net>
128185         Merge from coreutils.
128186         * lib/xgethostname.c: Include <stdlib.h>.
128187         (xghostname): Don't exit for anything other than memory-related
128188         failure; just return NULL.
128189         * lib/userspec.c: Include "posixver.h".
128190         (parse_user_spec): Accept `.' as a separator only
128191         in pre-POSIX-200112 mode.
128192         * lib/strtoimax.c: Use #elif rather than #else #if.
128193         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
128194         Remove function, now that we can rely on a working tzset function.
128195         [!_LIBC]: Ensure that the required autoconf test has been run.
128196         [!defined _NL_CURRENT && HAVE_STRFTIME]:
128197         Use underlying_strftime for %r.
128198         * lib/sha.c: Merge in some clean-up and optimization changes from
128199         glibc.
128200         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
128201         Ensure that it is a multiple of 64.
128202         Rearrange loop exit tests so as to avoid performing an
128203         additional fread after encountering an error or EOF.
128204         * lib/realloc.c: Update copyright date.
128206 2003-08-15  Jim Meyering  <jim@meyering.net>
128207         and Paul Eggert  <eggert@twinsun.com>
128209         Merge from coreutils.
128210         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
128211         member but strut utmpx does not.  Needed for AIX 4.3.3.
128212         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
128214 2003-08-15  Jim Meyering  <jim@meyering.net>
128215         and Paul Eggert  <eggert@cs.ucla.edu>
128217         Merges from coreutils, etc.
128218         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
128219         Require gl_FUNC_TZSET_CLOBBER.
128220         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
128221         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
128222         members.
128224 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128226         Help the merge from coreutils.
128227         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
128228         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
128229         * m4/tzset.m4: Use it too.
128231 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128233         * modules/tzset: New file.
128235 2003-08-14  Jim Meyering  <jim@meyering.net>
128237         Merges from coreutils.
128238         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
128239         variable names, rather than @FNMATCH_H@.
128240         * modules/alloca: Likewise for $(ALLOCA_H).
128242         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
128243         the three copies of the literal target, `fnmatch.h'.
128244         * modules/alloca (alloca.h): Likewise.
128246 2003-08-14  Jim Meyering  <jim@meyering.net>
128248         Merge from coreutils.
128249         * m4/tzset.m4: New file.
128250         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
128251         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
128252         otherwise, AIX 5.1 systems would end up using the latter.
128253         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
128254         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
128255         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
128256         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
128258 2003-08-14  Jim Meyering  <jim@meyering.net>
128260         Merge from coreutils.
128261         * lib/obstack.h: Whitespace changes.
128262         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
128263         and xcalloc return values.
128264         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
128265         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
128266         hang on OSF/1 5.1 for DIR on both local and remote file systems.
128267         Reported by (and fix confirmed by) Nelson H. F. Beebe.
128268         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128269         error from mntctl.
128270         Use mntctl's return value to drive the entry-processing loop, since
128271         we can't rely on the value of the vmt_length member in the last
128272         entry.  On some systems doing so could result in exhausting
128273         virtual memory.  Based in part on a patch from Mike Jetzer.
128275 2003-08-14  Jim Meyering  <jim@meyering.net>
128276         and Paul Eggert  <eggert@twinsun.com>
128278         Merges from coreutils, plus other fixes.
128279         * lib/physmem.c: Merge in portability changes from gcc/libiberty
128280         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
128281         for credits and details.  Thanks to Kaveh Ghazi for helping
128282         to keep these files in sync.
128283         (ARRAY_SIZE): Define it.
128284         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
128285         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
128286         (memcasecmp): Don't assume size_t fits in unsigned int.
128287         Remove casts and duplicate code.
128288         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
128289         (memcpy): Remove definition.
128290         Merge in some clean-up and optimization changes from glibc.
128291         [BLOCKSIZE]: Move definition to top of file.
128292         Ensure that it is a multiple of 64.
128293         Rearrange loop exit tests so as to avoid performing an
128294         additional fread after encountering an error or EOF.
128295         * lib/md5.h (md5_uintptr): Define.
128296         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
128297         return to the initial working directory.  Preserve errno
128298         for caller.
128299         * lib/idcache.c: Include "xalloc.h".
128300         (xmalloc, xrealloc): Remove decls.
128301         (getuser): Remove casts no longer required in C89.
128302         * lib/human.c: Include stdio.h, for sprintf.
128303         * lib/group-member.c: Include "xalloc.h".
128304         (xmalloc, xrealloc): Remove decls.
128305         (get_group_info): Remove casts no longer required in C89.
128306         * lib/getusershell.c (readname): Remove casts no longer required in
128307         C89.
128308         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
128309         * lib/getline.c: Whitespace fix, from coreutils.
128311 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128313         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
128314         Check for isascii.
128316         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128317         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128318         Undo previous (whitespace-only) change.
128320 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128322         * lib/exclude.c: Include <ctype.h>
128323         (IN_CTYPE_DOMAIN): New macro.
128324         (is_space): New fn.
128325         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
128326         and empty lines.
128328         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128329         Undo previous (whitespace-only) change.
128331 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128333         * config/srclist-update: Change update back to the old behavior,
128334         leaving whitespace alone.  Use one 'sed' command rather than a
128335         pipeline.
128336         (fixlicense): Now a variable, not a function.
128337         (remove_trailing_blanks): Remove.
128338         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
128339         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128340         Undo previous (whitespace-only) change.
128342 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128344         Merge from coreutils.
128345         * modules/euidaccess: Add lib_SOURCES, include for new
128346         file euidaccess.h
128348 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128350         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128351         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128352         Normalize leading white space and remove trailing white space.
128354         Merge from coreutils
128355         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
128357         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
128358         0.12.1.  These files are now being upgraded automatically by
128359         ../config/srclist-update.
128361 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128363         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128364         Normalize leading white space and remove trailing white space.
128365         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
128366         notice, as per ../config/srclist-update.
128368         Merge from coreutils.
128369         * lib/euidaccess.h: New file.
128370         * lib/euidaccess.c: Include it.
128371         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
128372         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
128373         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
128375 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128377         * config/srclist-update: Add copyright notice.
128378         (remove_id_lines, remove_trailing_blanks): New constants.
128379         (fixfile): Use them to normalize spacing a bit in copied files.
128380         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128381         Normalize leading white space and remove trailing white space.
128383         * config/texinfo.tex: Sync with texinfo.
128385         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
128386         strtoul.c from libc, to merge coreutils whitespace changes.
128388         * config/srclist.txt: Get the following m4 files from gettext:
128389         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
128390         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
128391         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
128392         wint_t.m4.
128394 2003-08-12  Karl Berry  <karl@gnu.org>
128396         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
128397         been made.
128399 2003-08-11  Paul Eggert  <eggert@twinsun.com>
128401         * modules/gnu-source, m4/gnu-source.m4:
128402         Remove; we're assuming Autoconf 2.54 or later now.
128403         Suggested by Bruno Haible.
128404         * MODULES.html.sh (func_all_modules): Remove gnu-source.
128406 2003-08-11  Bruno Haible  <bruno@clisp.org>
128408         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
128410 2003-08-11  Bruno Haible  <bruno@clisp.org>
128412         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
128413         (vasnprintf): Use it instead of wcslen.
128415 2003-08-11  Bruno Haible  <bruno@clisp.org>
128417         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
128418         value to ensure that _Bool promotes to int. Use #define for _Bool when
128419         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
128421 2003-08-10  Karl Berry  <karl@gnu.org>
128423         * lib/regex.h: update from libc (whitespace fix).
128425 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128427         Merge some files from coreutils.  These changes were
128428         originally made by Jim Meyering.
128429         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
128430         many older Unixes require this.
128431         * lib/alloca.c (alloca): Remove cast to argument of free;
128432         no longer needed in C89.
128433         * lib/alloca_.h, regex.h: Fix white space to match
128434         what GNU indent does.
128436 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128438         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
128439         apparently Emacs's Unicode mode got confused before my 2003-08-05
128440         checkin.
128442 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128444         * m4/extensions.m4: New file.
128445         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
128446         Require gl_USE_SYSTEM_EXTENSIONS.
128447         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
128448         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
128450 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128452         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
128453         * modules/extensions, modules/gnu-source: New files.
128454         * modules/timespec, modules/unlocked-io: Depend on extensions.
128456 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128458         * modules/restrict: New file.
128459         * MODULES.html.sh (func_all_modules): Add restrict.
128460         * modules/regex: Depend on restrict.
128462 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128464         * m4/restrict.m4: New file.
128465         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
128467 2003-08-07  Bruno Haible  <bruno@clisp.org>
128469         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
128470         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
128472 2003-08-07  Bruno Haible  <bruno@clisp.org>
128474         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
128475         makes the module 'getndelim2' compatible with the module 'getline'.
128477 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128479         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
128480         byte with "\201" to avoid glitches when editing that source file
128481         with multi-gnome-terminal.
128483 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128485         * lib/bumpalloc.h: Remove.
128487 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128489         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
128490         * modules/bumpalloc: Remove.
128492 2003-08-04  Paul Eggert  <eggert@twinsun.com>
128494         * lib/getloadavg.c: Change copyright notice and spacing to conform to
128495         GNU coding style.
128497         Merge from coreutils.
128498         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
128499         1. From glibc.
128500         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
128501         from Karl Berry, implemented by Jim Meyering.
128502         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
128503         from Dmitry V. Levin.
128504         Remove anachronistic cast of xrealloc.
128505         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
128506         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
128507         type. Otherwise, it wouldn't compile with at least /bin/cc on
128508         ymp-cray-unicos9.0.2.X.
128509         Combine two mostly-identical uses of alloca into one.
128510         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
128512 2003-08-04  Dave Love  <d.love@dl.ac.uk>
128514         [From Emacs.]
128516         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
128517         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
128518         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
128519         obsolete NLIST_NAME_UNION.
128520         [__GNU__]: Undef BSD and FSCALE.
128521         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
128523 2003-08-03  Paul Eggert  <eggert@twinsun.com>
128525         * lib/stdbool_.h (_Bool): Make it signed char, instead of
128526         an enum type, so that it's guaranteed to promote to int.  See:
128527         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
128529 2003-08-03  Karl Berry  <karl@gnu.org>
128531         * config/depcomp: update from automake.
128533 2003-07-31  Paul Eggert  <eggert@twinsun.com>
128535         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
128536         (strerror): Don't assume that a printable int fits in 14 bytes.
128538 2003-07-31  Bruno Haible  <bruno@clisp.org>
128540         * modules/getpass-gnu: New file.
128541         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
128543 2003-07-31  Bruno Haible  <bruno@clisp.org>
128545         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
128547 2003-07-24  Karl Berry  <karl@gnu.org>
128549         * config/missing: update from automake.
128551 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
128552             Bruno Haible  <bruno@clisp.org>
128554         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
128555         * lib/getline.c (getline, getdelim): Likewise.
128556         Remove _GNU_SOURCE define; now it's defined in config.h through
128557         m4/getline.m4.
128559 2003-07-23  Karl Berry  <karl@gnu.org>
128561         * config/config.sub: update from prep.
128563 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128565         * modules/xalloc (Depends-on): Add exitfail.
128566         * modules/xmemcoll: Likewise.
128568 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128570         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
128571         over-parenthesization in macros.
128573         Sync with coreutils.
128575         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
128576         required by C99.
128578         Use `exit_failure' for xalloc and xmemcoll instead of their own
128579         private exit-failure variables.
128580         * lib/xalloc.h (xalloc_exit_failure): Remove.
128581         * lib/xmalloc.c: Likewise.  Include exitfail.h.
128582         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
128583         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
128584         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
128585         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
128587 2003-07-20  Jim Meyering  <jim@meyering.net>
128589         * modules/closeout (Depends-on): Add exitfail.
128590         Suggestion from Bruno Haible.
128592 2003-07-19  Karl Berry  <karl@gnu.org>
128594         * config/config.sub: update from prep.
128596 2003-07-18  Paul Eggert  <eggert@twinsun.com>
128598         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
128599         Remove.
128600         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
128601         to test that it can stand by itself.  Include "exitfail.h".
128602         Clients should set exit_failure instead.
128603         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
128605 2003-07-18  Bruno Haible  <bruno@clisp.org>
128607         * modules/getndelim2: New file.
128608         * modules/getline: Share files with module getndelim2.
128609         * modules/getnline: Depend on getndelim2 instead of sharing files with
128610         it. Add getnline.c to lib_SOURCES.
128611         * MODULES.html.sh (func_all_modules): Add getndelim2.
128613 2003-07-18  Bruno Haible  <bruno@clisp.org>
128615         * m4/getndelim2.m4: New file.
128616         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
128617         invoke gl_PREREQ_GETNDELIM2.
128618         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
128619         gl_PREREQ_GETNDELIM2.
128620         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
128621         gl_GETNDELIM2.
128623 2003-07-18  Bruno Haible  <bruno@clisp.org>
128625         * lib/getndelim2.h: New file.
128626         * lib/getndelim2.c: Make into a module of its own. Include config.h,
128627         getndelim2.h.
128628         (getndelim2): Make non-static. Change return type to ssize_t.
128629         * lib/getline.h: Change argument names.
128630         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
128631         * lib/getnline.c: Include getndelim2.h.
128633 2003-07-18  Andreas Schwab  <schwab@suse.de>
128635         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
128637 2003-07-17  Karl Berry  <karl@gnu.org>
128639         * config/config.sub: update from prep.
128641 2003-07-17  Bruno Haible  <bruno@clisp.org>
128643         * modules/getnline: New file.
128644         * modules/getline: Add lib/getndelim2.c to source file list.
128645         * MODULES.html.sh (func_all_modules): Add getnline.
128647 2003-07-17  Bruno Haible  <bruno@clisp.org>
128649         * m4/getnline.m4: New file.
128651 2003-07-17  Bruno Haible  <bruno@clisp.org>
128653         * m4/Makefile.am.in: Remove file.
128654         * m4/Makefile.am: Remove file.
128655         * m4/Makefile.in: Remove file.
128657 2003-07-17  Bruno Haible  <bruno@clisp.org>
128659         * lib/getnline.h: New file.
128660         * lib/getnline.c: New file.
128661         * lib/getndelim2.c: New file, extracted from getline.c.
128662         (getndelim2): Renamed from getdelim2, with added nmax argument.
128663         * lib/getline.c: Include getndelim2.c.
128664         (getdelim2): Moved out to getndelim2.c.
128665         (getline, getdelim): Update.
128667 2003-07-17  Bruno Haible  <bruno@clisp.org>
128669         * lib/Makefile.am: Remove file.
128670         * lib/Makefile.in: Remove file.
128672 2003-07-17  Bruno Haible  <bruno@clisp.org>
128674         * configure.in: Remove file.
128675         * Makefile.in: Remove file.
128677 2003-07-17  Bruno Haible  <bruno@clisp.org>
128679         * MODULES.html.sh: Put the </BODY> right before </HTML>.
128681 2003-07-16  Karl Berry  <karl@gnu.org>
128683         * config/srclist-update: was running fixlicense twice, which caused
128684                 texinfo.tex to be nullified for some reason.  Simplify,
128685                 $gplsrc is no longer needed as far as I can see?
128687 2003-07-16  Jim Meyering  <jim@meyering.net>
128689         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
128691 2003-07-15  Paul Eggert  <eggert@twinsun.com>
128693         * config/srclist.txt: Get the following files from gettext-runtime/intl
128694         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
128695         ref-del.sin.  From Bruno Haible.
128696         * config/srclist-update (fixfile): Change grep pattern again, since the
128697         previous fix didn't work (there was another trailing $).  Use
128698         '[$]' to escape the $s.
128700 2003-07-15  Karl Berry  <karl@gnu.org>
128702         * lib/vasnprintf.c: update from gettext.
128704 2003-07-15  Karl Berry  <karl@gnu.org>
128706         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
128707         gets expanded when surrounded by '$'.
128709 2003-07-15  Jim Meyering  <jim@meyering.net>
128711         * modules/save-cwd: Don't depend on error.  From Derek Price.
128713 2003-07-15  Jim Meyering  <jim@meyering.net>
128715         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
128717 2003-07-14  Simon Josefsson  <jas@extundo.com>
128719         * modules/mempcpy: New file.
128720         * MODULES.html.sh (func_all_modules): Add mempcpy.
128722 2003-07-14  Simon Josefsson  <jas@extundo.com>
128724         * m4/mempcpy.m4: New file.
128726 2003-07-14  Simon Josefsson  <jas@extundo.com>
128728         * lib/mempcpy.h: New file.
128729         * lib/mempcpy.c: New file.
128731 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128733         * modules/getdate, modules/posixtm: Depend on mktime.
128735 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128737         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
128738         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
128739         unicodeio.c, unicodeio.h, unlocked-io.h:
128740         Switch from LGPL to GPL.
128742 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128744         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
128745         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
128746         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
128747         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
128748         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
128749         updated automatically by ../config/srclist-update.  This changes
128750         their license from LPGL to GPL.
128752 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128754         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
128755         assumed to refer to the root of the most recent stable gettext version.
128756         * config/srclistvars.sh: Add defaults for eggert.
128757         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
128758         Match "This program" as well as "The program".  This is needed
128759         for gettext.
128761 2003-07-14  Jim Meyering  <jim@meyering.net>
128763         Don't emit diagnostics.  Let callers do that.
128764         * lib/save-cwd.c: Don't include "error.h".
128765         (save_cwd): Don't call error.  Ensure that errno is valid
128766         when returning nonzero.
128768         * lib/save-cwd.h (restore_cwd): Update prototype.
128769         * lib/save-cwd.c (restore_cwd): Remove two parameters.
128770         Simplify.  Don't call error upon failure.  Let callers do that.
128771         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
128772         when auditing is enabled.  But don't bother updating the #if.
128774 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
128776         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
128777         it breaks C++ compilation.
128778         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
128780 2003-07-10  Simon Josefsson  <jas@extundo.com>
128782         * modules/strchrnul (Makefile.am): Add strchrnul.h.
128784 2003-07-10  Jim Meyering  <jim@meyering.net>
128786         * m4/clock_time.m4: Remove trailing blank.
128787         * m4/intmax_t.m4: Likewise.
128789 2003-07-10  Jim Meyering  <jim@meyering.net>
128791         * lib/vasnprintf.c: Remove trailing blanks.
128792         Make cpp indentation consistent.
128794 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128796         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
128797         posixver.c, strftime.c, strnlen.c, strverscmp.c:
128798         Switch from LGPL to GPL.
128800 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128802         * config/srclist.txt: Sort sublists.  Add
128803         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
128804         that differ from gnulib for one reason or another; we'd like this list
128805         to be smaller but for now let's document what we have.
128807 2003-07-08  Paul Eggert  <eggert@twinsun.com>
128809         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
128810         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
128811         and sweeter "eval x=$x".
128812         * config/srclist.txt: Get lib/argp* from glibc.
128814 2003-07-07  Paul Eggert  <eggert@twinsun.com>
128816         * lib/mktime.c: Fix some boundary cases and remove need for floating
128817         point.
128819         Issue a compile-time diagnostic if time_t is floating point, or if
128820         two's complement arithmetic is not in effect, or if arithmetic
128821         right shift does not propagate the sign.  These assumptions were
128822         all in the original code but they weren't checked.
128824         (TIME_T_MIDPOINT, verify): New macros.
128825         (__isleap): Remove; it has integer overflow problems.
128826         (leapyear): New function, without those problems.
128827         (ydhms_tm_diff): Remove; splitting into two parts.
128828         (ydhms_diff): New function, containing the arithmetic part of
128829         the old ydhms_tm_diff function.  Issue a compile-time
128830         diagnostic if we are not using C99 integer division.
128831         Avoid casts when possible.
128832         (guess_time_tm): New function, containing the checking part of
128833         the old ydhms_tm_diff function.  Return the new value, rather than
128834         the difference between it and the old.  Accept a new argument T
128835         so that *T specifies the old value.  Check for overflow in the result.
128837         (__mktime_internal): Use a time_t offset, not a long int offset.
128838         This undoes the 2003-06-04 change, which is no longer needed now
128839         that we have better overflow checking.
128840         (localtime_offset): Likewise.
128842         (__mktime_internal): Avoid harmful overflow on hosts where time_t
128843         and long are 64-bit but int is only 32-bit.
128844         (ydhms_diff): Use long int to store year1 and yday1.
128845         Issue a compile-time diagnostic if long int is not wide enough.
128847         (__mktime_internal): Use long int to store adjusted year and yday.
128848         Use plain C rather than preprocessor commands, if that doesn't
128849         affect efficiency.
128850         Check for overflow (and try to repair) after each probe
128851         rather than checking only at the very end.  This avoids some bugs
128852         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
128853         does not equal GMT offset at maximum time).
128854         Use integer to check for overflow rather than floating point; this
128855         is more portable to non-IEEE hosts, and is a tad faster.
128856         When we detect that we are oscillating between two values,
128857         don't check whether tm_isdst has the requested value, since
128858         we already know the answer.  When tm_isdst has the wrong value,
128859         use a different heuristic to find the right one, based on the
128860         extreme values actually observed in practice in tz2003a,
128861         rather than the (overly optimistic) "previous 3 calendar quarters".
128863         (not_equal_tm, print_tm, check_result): Use "const T" rather than
128864         "T const" to accommodate glibc style.
128865         (check_result): Use less-confusing report format.  "long" -> "long int.
128866         (main): Likewise.
128867         Don't loop if the iteration overflows time_t.
128868         Allow a negative step in the iteration.
128870 2003-07-06  Karl Berry  <karl@gnu.org>
128872         * config/depcomp: update from automake.
128873         * config/config.sub: update from prep.
128875 2003-07-03  Karl Berry  <karl@gnu.org>
128877         * config/config.guess: update from prep.
128879 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128881         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
128882         xreadlink.c now includes it unconditionally.
128884 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128886         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
128887         having it depend on HAVE_SYS_TYPES_H.
128889 2003-07-01  Bruno Haible  <bruno@clisp.org>
128891         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
128892         <sys/types.h> should be sufficient.
128893         Reported by Paul Eggert.
128895 2003-06-26  Karl Berry  <karl@gnu.org>
128897         * config/depcomp: update from automake.
128899 2003-06-26  Bruno Haible  <bruno@clisp.org>
128901         * modules/human: Depend on module stdbool.
128903 2003-06-25  Bruno Haible  <bruno@clisp.org>
128905         * modules/readlink: New file.
128906         * modules/xreadlink: Depend on it.
128907         * MODULES.html.sh (func_all_modules): Add readlink.
128909 2003-06-25  Bruno Haible  <bruno@clisp.org>
128911         * m4/readlink.m4: New file.
128913 2003-06-25  Bruno Haible  <bruno@clisp.org>
128915         * lib/readlink.c: New file.
128917 2003-06-22  Karl Berry  <karl@gnu.org>
128919         * config/srclist.txt: update mkinstalldirs from automake.
128920         * config/mkinstalldirs: update.
128922 2003-06-22  Bruno Haible  <bruno@clisp.org>
128924         Portability to mingw32.
128925         * m4/ssize_t.m4: New file, from GNU gettext.
128926         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
128927         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
128929 2003-06-22  Bruno Haible  <bruno@clisp.org>
128931         * modules/safe-read: Add m4/ssize_t.m4.
128932         * modules/xreadlink: Add m4/ssize_t.m4.
128934 2003-06-20  Bruno Haible  <bruno@clisp.org>
128936         Assume C89, so PARAMS isn't needed.
128937         * lib/unicodeio.h (PARAMS): Remove.
128938         * lib/unicodeio.c: Don't use PARAMS.
128940 2003-06-18  Karl Berry  <karl@gnu.org>
128942         * config/config.{guess,sub}: update from prep.
128944 2003-06-18  Jim Meyering  <jim@meyering.net>
128946         Merge changes from coreutils.
128947         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
128948         Remove explicit declarations of xmalloc and realloc.
128949         Include xalloc.h.
128950         (read_utmp): Remove anachronistic cast of xmalloc.
128952 2003-06-17  Paul Eggert  <eggert@twinsun.com>
128954         Assume C89, so PARAMS isn't needed.
128955         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
128956         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
128957         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
128958         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
128959         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
128960         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
128961         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
128962         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
128963         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
128964         lib/xstrtod.h, lib/xstrtol.h: Likewise.
128965         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
128966         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
128967         no longer needed. Anyway, config.h should always be included before any
128968         other file.
128970 2003-06-11  Simon Josefsson  <jas@extundo.com>
128972         * modules/sysexits: New file.
128973         * MODULES.html.sh (func_all_modules): Add sysexits.
128975 2003-06-11  Simon Josefsson  <jas@extundo.com>
128977         * lib/sysexit_.h: New file.
128979 2003-06-11  Derek Price  <derek@ximbiot.com>
128981         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
128982         necessary.
128984 2003-06-11  Bruno Haible  <bruno@clisp.org>
128986         * m4/sysexits.m4: New file.
128988 2003-06-10  Simon Josefsson  <jas@extundo.com>
128990         * lib/argp.h: New file, from glibc.
128991         * lib/argp-ba.c: New file, from glibc.
128992         * lib/argp-eexst.c: New file, from glibc.
128993         * lib/argp-fmtstream.c: New file, from glibc.
128994         * lib/argp-fmtstream.h: New file, from glibc.
128995         * lib/argp-fs-xinl.c: New file, from glibc.
128996         * lib/argp-help.c: New file, from glibc.
128997         * lib/argp-namefrob.h: New file, from glibc.
128998         * lib/argp-parse.c: New file, from glibc.
128999         * lib/argp-pv.c: New file, from glibc.
129000         * lib/argp-pvh.c: New file, from glibc.
129001         * lib/argp-xinl.c: New file, from glibc.
129003 2003-06-10  Simon Josefsson  <jas@extundo.com>
129005         * modules/strchrnul: New file.
129007 2003-06-10  Simon Josefsson  <jas@extundo.com>
129009         * modules/argp: New file.
129011 2003-06-10  Simon Josefsson  <jas@extundo.com>
129013         * m4/strchrnul.m4: New file.
129015 2003-06-10  Simon Josefsson  <jas@extundo.com>
129017         * lib/strchrnul.h: New file.
129018         * lib/strchrnul.c: New file.
129020 2003-06-10  Bruno Haible  <bruno@clisp.org>
129022         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
129024 2003-06-07  Karl Berry  <karl@gnu.org>
129026         * config/config.{guess,sub}: update from prep.
129028 2003-06-07  Jim Meyering  <jim@meyering.net>
129030         * modules/strtod: Use $(...) notation, not @...@ for
129031         AC_REPLACE'd variables.
129032         * modules/localcharset: Likewise.
129034 2003-06-07  Jim Meyering  <jim@meyering.net>
129036         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
129037         in place of my name in the copyright comment.
129038         Remove definition and uses of __P.
129040         From coreutils.
129041         * lib/stat.c: Don't declare xmalloc explicitly.
129042         Instead, include "xalloc.h".
129043         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
129044         xrealloc, and xcalloc return values.
129045         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
129046         Improve comment.
129047         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
129049 2003-06-07  Bruno Haible  <bruno@clisp.org>
129051         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
129052         avoid AC_CONFIG_LINKS.
129053         * modules/fnmatch (Makefile.am): Use explicit creation rule for
129054         fnmatch.h, to avoid AC_CONFIG_LINKS.
129055         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
129057 2003-06-07  Bruno Haible  <bruno@clisp.org>
129059         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
129060         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
129061         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129062         directory.
129063         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
129064         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
129065         directory.
129067 2003-06-06  Jim Meyering  <jim@meyering.net>
129069         Merge from coreutils.
129070         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
129071         Consolidate declarations and initializations of *_base* locals.
129073         Merge from coreutils.
129074         This avoids a core dump on systems without GNU putenv,
129075         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
129076         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
129077         (unsetenv): New static function, from GNU libc.
129078         (rpl_putenv): Use it.
129080         * lib/modechange.c: Remove trailing blanks.
129082         Merge from coreutils.
129083         * lib/fsusage.c: Remove declaration of statfs.
129084         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
129086         * lib/posixtm.c: Include <stdbool.h> unconditionally.
129088 2003-06-06  Jim Meyering  <jim@meyering.net>
129090         * lib/stdbool_.h: Renamed from stdbool.h.in.
129092 2003-06-06  Jim Meyering  <jim@meyering.net>
129093             Bruno Haible  <bruno@clisp.org>
129095         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
129096         Adjust Makefile.am snippet not to redirect directly to target.
129097         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
129099 2003-06-05  Paul Eggert  <eggert@twinsun.com>
129101         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
129102         mismatch, look in future quarters as well as past.  This fixes a
129103         bug when processing fall-backwards gaps immediately after a long
129104         period of daylight-saving time.
129106         * lib/mktime.c: Assume freestanding C89 or better.
129107         (HAVE_LIMITS_H): Remove.  Assume it's 1.
129108         (__P): Remove; not used.
129109         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
129110         (mktime, not_equal_tm, print_tm, check_result,
129111         main): Use prototypes.  Use const * where appropriate.
129112         (main): Fix typo in testing code that uncovered by above changes.
129113         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
129115 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129117         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
129118         locale.h, localeconv.  This merges changes from coreutils.
129120         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
129121         It can be removed after the next Autoconf is released.
129122         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
129123         needed.
129125 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129127         * lib/mktime.c: Fix Debian bug 177940
129128         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
129129         (localtime_offset): Now long int, not time_t, because we want it
129130         to be guaranteed to be signed.  All uses changed.
129131         (__mktime_internal): If overflow would occur when adding offset,
129132         don't add it.
129134         Merge 'human' changes from coreutils.  Rewrite to support
129135         locale-specific notations like thousands separators.
129136         * lib/human.c: Simplify authorship notice.
129137         Include human.h immediately after config.h.
129138         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
129139         <limits.h>: Do not include, since human.h does.
129140         (SIZE_MAX, UINTMAX_MAX): New macros.
129141         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
129142         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
129143         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
129144         (power_letter): Renamed from suffixes.
129145         (generate_suffix_backwards): Remove.
129146         (adjust_value): Now takes int style (because of human.h changes)
129147         and long double value (for greater precision on some platforms).
129148         (group_number): New function.
129149         (human_readable): Use it.  Use integer options, not enum.
129150         Put the options before the sizes in the arg list.
129151         Support all the new options.
129152         The old human_readable function has been removed;
129153         use inttostr.h instead.
129154         (human_readable, default_block_size, humblock):
129155         Use uintmax_t, not int, for block sizes.
129156         (human_readable_inexact, block_size_types): Remove.
129157         (block_size_opts): New constant.
129158         (human_options): Renamed from human_block_size, with new signature
129159         that allows block sizes up to UINTMAX_MAX.  All callers changed.
129160         * lib/human.h: Add copyright and authorship notice.
129161         Include <limits.h> and <stdbool.h> unconditionally.
129162         (PARAMS): Remove.  All uses removed.
129163         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
129164         (enum human_inexact_style): Remove tag; now a nameless enum.
129165         (human_floor, human_ceiling, human_round_to_even): Now have
129166         values 2, 0, 1 rather than -1, 1, 0.
129167         (human_group_digits, human_suppress_point_zero, human_autoscale,
129168         human_base_1024, human_SI, human_B): New constants.
129169         (human_readable_inexact, human_block_size): Remove.
129170         (human_readable): Size args are now uintmax_t, not int.
129171         (human_options): New decl.
129173         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
129174         unnecessary now that we assume C89 or better.  This change
129175         imported from coreutils.
129177         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129178         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
129179         in the 2003-05-30 sync from glibc.
129181         .h files should stand alone, but we shouldn't include <sys/types.h>
129182         if we can get away with just <stddef.h>.
129184         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
129185         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
129186         rather than <sys/types.h>, as we merely need size_t.
129187         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
129188         to get size_t.
129189         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
129190         Include <stdio.h>, to get FILE.
129191         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
129192         memcasecmp.h has included <stddef.h> and all we need is size_t.
129193         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
129194         our interface, instead of including <sys/types.h>
129196 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129198         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
129199         now, as glibc mktime is buggy on non-glibc systems.
129201 2003-06-03  Karl Berry  <karl@gnu.org>
129203         * config/config.sub: update from prep.
129205 2003-06-02  Paul Eggert  <eggert@twinsun.com>
129207         [from coreutils]
129208         Fix some minor time-related bugs with POSIX time arguments.
129209         Some valid time stamps were being rejected (notably -1, and
129210         time stamps before 1900 on 64-bit hosts).  And some invalid
129211         time stamps were being accepted, e.g. September 31.
129213         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
129214         that we can return (time_t) -1 successfully.
129215         * lib/posixtm.c: Likewise.
129216         [HAVE_STDBOOL_H]: Include <stdbool.h>.
129217         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
129218         (t): Remove static var.
129219         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
129220         of static var.  All uses changed.
129221         (year): Do not reject years before 1900; they can occur with
129222         64-bit time_t.
129223         (posix_time_parse): Do not check for out-of-range components;
129224         that is now the caller's responsibility, since our checks were
129225         only approximations.
129226         (posixtime): Use mktime to check for out-of-range components,
129227         since it knows them exactly.
129228         If mktime returns (time_t) -1, check whether an error actually occurred
129229         by invoking localtime on -1.
129230         (main) [TEST_POSIXTIME]: Check for input data errors, and report
129231         posixtime failures better.
129232         Improve the test data (in comments only).
129234 2003-06-02  Karl Berry  <karl@gnu.org>
129236         * config/mkinstalldirs (version): new variable.
129237         (--version): new option.
129238         (usage): improve message.
129240 2003-05-30  Karl Berry  <karl@gnu.org>
129242         * lib/mktime.c: update from libc.
129244 2003-05-30  Bruno Haible  <bruno@clisp.org>
129246         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
129247         * config/config.rpath: Upgrade to gettext-0.12.1.
129249 2003-05-30  Bruno Haible  <bruno@clisp.org>
129251         * m4/gettext.m4: Upgrade to gettext-0.12.1.
129252         * m4/nls.m4: New file, from gettext-0.12.1.
129253         * m4/po.m4: New file, from gettext-0.12.1.
129254         * m4/progtest.m4: Upgrade to gettext-0.12.1.
129256 2003-05-30  Bruno Haible  <bruno@clisp.org>
129258         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
129259         * lib/localcharset.h: Likewise.
129260         * lib/localcharset.c: Likewise.
129262 2003-05-29  Karl Berry  <karl@gnu.org>
129264         * config/config.rpath: update from gettext.
129266 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129268         Assume the headers required for C89 freestanding compilers.
129269         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
129270         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
129271         * m4/human.m4 (gl_HUMAN): Likewise.
129272         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
129273         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
129274         * m4/userspec.m4 (gl_USERSPEC): Likewise.
129275         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
129276         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
129277         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
129279 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129281         Assume the headers required for C89 freestanding compilers.
129282         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
129283         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
129284         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
129285         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
129286         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
129287         define, since <limits.h> is guaranteed to do that.
129288         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
129289         * lib/exclude.c: Include <stdbool.h> unconditionally.
129290         * lib/tempname.c: Include <stddef.h> unconditionally.
129291         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
129292         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
129293         <stddef.h> does that.
129294         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
129295         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
129296         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
129297         needed.
129298         * lib/xstrtol.c: Likewise.
129299         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
129300         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
129302         * lib/addext.c (addext): Use assignment rather than cast, to avoid
129303         warnings on some platforms.
129305         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129306         arbitrarily.
129308 2003-05-26  Jim Meyering  <jim@meyering.net>
129310         Merge in a change from coreutils:
129311         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
129312         that is guaranteed to be `no'.  Use `no_such_member' to indicate
129313         that condition, rather than `-1' which is slightly misleading.
129314         Change the name of the cache variable to have the gl_ prefix.
129315         Prompted by a patch from Richard Dawe for DJGPP.
129317 2003-05-24  Karl Berry  <karl@gnu.org>
129319         * config/config.guess: update from prep.
129321 2003-05-22  Karl Berry  <karl@gnu.org>
129323         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
129325 2003-05-20  Karl Berry  <karl@gnu.org>
129327         * config/config.guess: update from prep.
129329 2003-05-18  Karl Berry  <karl@gnu.org>
129331         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
129332         might actually be set by the user.
129334         * config/depcomp, install-sh, mdate-sh: update from automake.
129336 2003-05-17  Bruno Haible  <bruno@clisp.org>
129338         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
129339         invalid expansion for AC_EGREP_CPP.
129340         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
129341         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
129342         Suggested by Akim Demaille <akim@epita.fr> in
129343         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
129345 2003-05-12  Jim Meyering  <jim@meyering.net>
129347         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
129348         the space-padded-by-default conversion specifiers, %e, %k, %l.
129350 2003-05-12  Bruno Haible  <bruno@clisp.org>
129352         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
129353         the string is longer than 4 KB.
129355 2003-05-11  Karl Berry  <karl@gnu.org>
129357         * config/config.{guess,sub}: update from prep.
129359 2003-05-09  Bruno Haible  <bruno@clisp.org>
129361         * modules/error: Add m4/strerror_r.m4 to file list.
129363 2003-05-03  Bruno Haible  <bruno@clisp.org>
129365         Upgrade to Unicode-4.0.
129366         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
129367         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
129368         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
129369         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
129370         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
129371         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
129372         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
129373         Change width of U+E0100..U+E01EF from 1 to 0.
129375 2003-04-25  Jim Meyering  <jim@meyering.net>
129377         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
129378         of type size_t, not int.
129380 2003-04-25  Bruno Haible  <bruno@clisp.org>
129382         * lib/copy-file.c: Include <stddef.h>, for size_t.
129384 2003-04-21  Paul Eggert  <eggert@twinsun.com>
129386         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
129387         code which expansion is under static control.  Patch imported from
129388         Akim Demaille's patch to Bison; see
129389         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
129391 2003-04-14  Bruno Haible  <bruno@clisp.org>
129393         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
129395 2003-04-11  Jim Meyering  <jim@meyering.net>
129397         Merge changes from Coreutils.
129399         2003-03-22  Jim Meyering  <jim@meyering.net>
129401         * lib/strftime.c (widen): Cast alloca return value to proper type.
129403         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
129405         From GNU libc.
129406         * lib/strftime.c (my_strftime): Handle very large width
129407         specifications for numeric values correctly.  Improve checks for
129408         overflow.
129410         2003-01-19  Jim Meyering  <jim@meyering.net>
129412         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
129413         definitions.
129414         (nl_get_alt_digit) [! defined my_strftime]: Define.
129415         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
129416         _nl_get_alt_digit and _nl_get_walt_digit.
129418         * lib/strftime.c (my_strftime): Merge in locale-related changes from
129419         libc. These changes have no effect outside of _LIBC.
129421 2003-04-10  Bruno Haible  <bruno@clisp.org>
129423         * modules/findprog: New file.
129424         * MODULES.html.sh (func_all_modules): Add it.
129426 2003-04-10  Bruno Haible  <bruno@clisp.org>
129428         * m4/findprog.m4: New file.
129429         * m4/eaccess.m4: New file.
129431 2003-04-10  Bruno Haible  <bruno@clisp.org>
129433         * lib/findprog.h: New file, from GNU gettext.
129434         * lib/findprog.c: New file, from GNU gettext.
129436 2003-04-05  Jim Meyering  <jim@meyering.net>
129438         Merge changes from Coreutils.
129440         * lib/exclude.h (PARAMS): Remove definition and uses.
129441         * lib/exclude.c: Remove uses of `PARAMS'.
129443         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
129444         Add test-cases for DOS filenames. Declare program_name.
129445         (main): Set up program_name.  Patch by Rich Dawe.
129447         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
129448         error from mntctl.
129449         Use mntctl's return value to drive the entry-processing loop, since
129450         we can't rely on the value of the vmt_length member in the last
129451         entry.  On some systems doing so could result in exhausting
129452         virtual memory.  Based in part on a patch from Mike Jetzer.
129454 2003-04-04  Bruno Haible  <bruno@clisp.org>
129456         * modules/linebreak: New file.
129457         * MODULES.html.sh (func_all_modules): Add it.
129459 2003-04-04  Bruno Haible  <bruno@clisp.org>
129461         * m4/linebreak.m4: New file.
129463 2003-04-04  Bruno Haible  <bruno@clisp.org>
129465         * lib/linebreak.h: New file, from GNU gettext.
129466         * lib/linebreak.c: New file, from GNU gettext with slight
129467         modifications.
129468         * lib/lbrkprop.h: New file, from GNU gettext.
129470 2003-04-03  Bruno Haible  <bruno@clisp.org>
129472         * modules/utf8-ucs4: New file.
129473         * modules/utf16-ucs4: New file.
129474         * modules/ucs4-utf8: New file.
129475         * modules/ucs4-utf16: New file.
129476         * MODULES.html.sh (func_all_modules): Add them.
129478 2003-04-03  Bruno Haible  <bruno@clisp.org>
129480         * m4/utf-ucs4.m4: New file.
129481         * m4/ucs4-utf.m4: New file.
129483 2003-04-03  Bruno Haible  <bruno@clisp.org>
129485         * lib/utf8-ucs4.h: New file, from GNU gettext.
129486         * lib/utf16-ucs4.h: New file, from GNU gettext.
129487         * lib/ucs4-utf8.h: New file, from GNU gettext.
129488         * lib/ucs4-utf16.h: New file, from GNU gettext.
129490 2003-04-02  Bruno Haible  <bruno@clisp.org>
129492         * modules/binary-io: New file.
129493         * MODULES.html.sh (func_all_modules): Add it.
129495 2003-04-02  Bruno Haible  <bruno@clisp.org>
129497         * lib/binary-io.h: New file, from GNU gettext.
129499 2003-04-01  Bruno Haible  <bruno@clisp.org>
129501         * modules/pathname: New file.
129502         * MODULES.html.sh (func_all_modules): Add it.
129504 2003-04-01  Bruno Haible  <bruno@clisp.org>
129506         * lib/pathname.h: New file, from GNU gettext.
129507         * lib/concatpath.c: New file, from GNU gettext.
129509 2003-03-30  Bruno Haible  <bruno@clisp.org>
129511         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
129513 2003-03-30  Bruno Haible  <bruno@clisp.org>
129515         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
129516         function chown() doesn't exist.
129518 2003-03-28  Bruno Haible  <bruno@clisp.org>
129520         * modules/copy-file: New file.
129521         * MODULES.html.sh (func_all_modules): Add it.
129523 2003-03-28  Bruno Haible  <bruno@clisp.org>
129525         * m4/copy-file.m4: New file.
129527 2003-03-28  Bruno Haible  <bruno@clisp.org>
129529         * lib/copy-file.h: New file, from GNU gettext.
129530         * lib/copy-file.c: New file, from GNU gettext.
129532 2003-03-18  Jim Meyering  <jim@meyering.net>
129534         * lib/quote.c (quote_n): Fix typo in comment.
129536 2003-03-18  Bruno Haible  <bruno@clisp.org>
129538         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
129539         checking.
129540         * m4/onceonly_2_57.m4: Likewise.
129542 2003-03-17  Bruno Haible  <bruno@clisp.org>
129544         * m4/onceonly.m4: Require autoconf 2.54 or newer.
129545         (m4_quote): Remove macro.
129546         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
129548 2003-03-14  Jim Meyering  <jim@meyering.net>
129550         Merge changes from Coreutils.
129551         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
129552         to be const, in order to avoid warnings.
129553         (obstack_room): Likewise.
129554         (obstack_empty_p): Likewise.
129556 2003-03-14  Bruno Haible  <bruno@clisp.org>
129558         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
129559         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
129561 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129563         Merge changes from Bison.
129564         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
129565         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
129566         when compiling Bison 1.875's `bitset bset = obstack_alloc
129567         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
129568         * lib/hash.c: Include <stdbool.h> unconditionally.
129570 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129572         * m4/onceonly.m4 (m4_quote): New macro.
129573         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
129574         Quote AC_FOREACH variable-expansions properly.
129576 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129578         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
129580 2003-03-09  Paul Eggert  <eggert@twinsun.com>
129582         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
129583         Reported by Bruce Becker; see:
129584         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
129586 2003-03-03  Paul Eggert  <eggert@twinsun.com>
129587             Bruno Haible  <bruno@clisp.org>
129589         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
129590         Reported by John Hughes, see
129591         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
129593 2003-02-20  Bruno Haible  <bruno@clisp.org>
129595         * MODULES.html.sh (func_all_modules): Add poll.
129597 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129599         * modules/poll: New file.
129601 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129603         * lib/poll_.h: New file.
129604         * lib/poll.c: New file.
129606 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129608         * m4/poll.m4: New file.
129610 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129612         * modules/mathl: New file.
129614 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129616         * lib/mathl.h: New file.
129617         * lib/acosl.c: New file.
129618         * lib/asinl.c: New file.
129619         * lib/atanl.c: New file.
129620         * lib/ceill.c: New file.
129621         * lib/cosl.c: New file.
129622         * lib/expl.c: New file.
129623         * lib/floorl.c: New file.
129624         * lib/frexpl.c: New file.
129625         * lib/ldexpl.c: New file.
129626         * lib/logl.c: New file.
129627         * lib/sincosl.c: New file.
129628         * lib/sinl.c: New file.
129629         * lib/sqrtl.c: New file.
129630         * lib/tanl.c: New file.
129631         * lib/trigl.c: New file.
129632         * lib/trigl.h: New file.
129634 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129636         * m4/mathl.m4: New file.
129638 2003-02-18  Bruno Haible  <bruno@clisp.org>
129640         * MODULES.html.sh (func_all_modules): Add mathl.
129642 2003-02-17  Bruno Haible  <bruno@clisp.org>
129644         * modules/mkdtemp: New module.
129645         * MODULES.html.sh (func_all_modules): Add it.
129647 2003-02-17  Bruno Haible  <bruno@clisp.org>
129649         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
129651 2003-02-17  Bruno Haible  <bruno@clisp.org>
129653         * lib/mkdtemp.h: New file, from GNU gettext.
129654         * lib/mkdtemp.c: New file, from GNU gettext.
129656 2003-02-02  Jim Meyering  <jim@meyering.net>
129658         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
129659         e.g. glibc-2.2.93.
129661 2003-01-31  Bruno Haible  <bruno@clisp.org>
129663         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
129664         'rpl_rename'.
129665         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
129666         'rpl_strnlen'.
129667         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
129668         'rpl_strtod'.
129669         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
129670         'rpl_utime'.
129672 2003-01-31  Bruno Haible  <bruno@clisp.org>
129674         * lib/rename.c: #undef rename before defining rpl_rename.
129675         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
129677 2003-01-30  Bruno Haible  <bruno@clisp.org>
129679         * modules/vasnprintf, modules/vasprintf: New modules.
129680         * MODULES.html.sh (func_all_modules): Add them.
129682 2003-01-30  Bruno Haible  <bruno@clisp.org>
129684         * m4/signed.m4: New file, from GNU gettext.
129685         * m4/longdouble.m4: New file, from GNU gettext.
129686         * m4/wchar_t.m4: New file, from GNU gettext.
129687         * m4/wint_t.m4: New file, from GNU gettext.
129688         * m4/vasnprintf.m4: New file.
129689         * m4/vasprintf.m4: New file.
129691 2003-01-30  Bruno Haible  <bruno@clisp.org>
129693         * lib/printf-args.h: New file, from GNU gettext.
129694         * lib/printf-args.c: New file, from GNU gettext.
129695         * lib/printf-parse.h: New file, from GNU gettext.
129696         * lib/printf-parse.c: New file, from GNU gettext.
129697         * lib/vasnprintf.h: New file, from GNU gettext.
129698         * lib/vasnprintf.c: New file, from GNU gettext.
129699         * lib/asnprintf.c: New file, from GNU gettext.
129700         * lib/vasprintf.h: New file, from GNU gettext with modifications.
129701         * lib/vasprintf.c: New file, from GNU gettext.
129702         * lib/asprintf.c: New file, from GNU gettext.
129704 2003-01-29  Bruno Haible  <bruno@clisp.org>
129706         * modules/stpncpy: New module.
129707         * MODULES.html.sh (func_all_modules): Add it.
129709 2003-01-29  Bruno Haible  <bruno@clisp.org>
129711         * m4/stpncpy.m4: New file.
129713 2003-01-29  Bruno Haible  <bruno@clisp.org>
129715         * lib/stpncpy.h: New file, from GNU gettext with modifications.
129716         * lib/stpncpy.c: New file, from GNU gettext with modifications.
129718 2003-01-28  Bruno Haible  <bruno@clisp.org>
129720         * modules/c-ctype: New module.
129721         * MODULES.html.sh (func_all_modules): Add it.
129723 2003-01-28  Bruno Haible  <bruno@clisp.org>
129725         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
129726         Paul Eggert.
129727         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
129728         Paul Eggert.
129730 2003-01-27  Bruno Haible  <bruno@clisp.org>
129732         * modules/xsetenv: New module.
129733         * MODULES.html.sh (func_all_modules): Add it.
129735 2003-01-27  Bruno Haible  <bruno@clisp.org>
129737         * lib/xsetenv.h: New file, from GNU gettext.
129738         * lib/xsetenv.c: New file, from GNU gettext.
129740 2003-01-23  Jim Meyering  <jim@meyering.net>
129742         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
129743         from working on systems without dirfd (at least Irix and OSF1/Tru64).
129745 2003-01-23  Bruno Haible  <bruno@clisp.org>
129747         * modules/minmax: New module.
129748         * MODULES.html.sh (func_all_modules): Add it.
129750 2003-01-23  Bruno Haible  <bruno@clisp.org>
129752         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
129753         Eggert.
129755 2003-01-22  Bruno Haible  <bruno@clisp.org>
129757         * modules/exit: New module.
129758         * MODULES.html.sh (func_all_modules): Add it.
129760 2003-01-22  Bruno Haible  <bruno@clisp.org>
129762         * lib/exit.h: New file, from GNU gettext.
129764 2003-01-19  Bruno Haible  <bruno@clisp.org>
129766         * gnulib-tool: Recognize option --extract-maintainer.
129767         (func_get_maintainer): New function.
129768         * modules/*: Add Maintainer entry.
129770 2003-01-16  Jim Meyering  <jim@meyering.net>
129772         * m4/regex.m4: The `regex' struct is both input and output.
129773         Initialize it before each use.  Patch by Tim Waugh.
129775 2003-01-16  Bruno Haible  <bruno@clisp.org>
129777         * MODULES.html.sh: Add a table of contents. Add the module name as
129778         leftmost column. Add hyperlinks.
129780 2003-01-15  Bruno Haible  <bruno@clisp.org>
129782         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
129784 2003-01-15  Bruno Haible  <bruno@clisp.org>
129786         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
129787         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
129788         suffix.
129790 2003-01-15  Bruno Haible  <bruno@clisp.org>
129792         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
129794 2003-01-15  Bruno Haible  <bruno@clisp.org>
129796         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
129797         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
129799 2003-01-14  Jim Meyering  <jim@meyering.net>
129801         * lib/same.c (same_name): Tweak a comment.
129803 2003-01-14  Bruno Haible  <bruno@clisp.org>
129805         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
129806         when a string comparison is sufficient.
129808 2003-01-14  Bruno Haible  <bruno@clisp.org>
129810         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
129811         'unsigned int'.
129813 2003-01-14  Bruno Haible  <bruno@clisp.org>
129815         * lib/hash-pjw.c: Add comment about low quality of this function.
129817 2003-01-13  Bruno Haible  <bruno@clisp.org>
129819         * modules/stpcpy: Distribute lib/stpcpy.h.
129820         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
129822 2003-01-13  Bruno Haible  <bruno@clisp.org>
129824         * modules/*: Add a description.
129825         * modules/strpbrk: Fix Makefile.am snippet.
129826         * modules/strtoimax: Fix dependencies.
129827         * modules/strtoumax: Likewise.
129829 2003-01-13  Bruno Haible  <bruno@clisp.org>
129831         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
129832         * modules/alloca (Makefile.am): All object files depend on alloca.h.
129833         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
129835 2003-01-13  Bruno Haible  <bruno@clisp.org>
129837         * gnulib-tool (func_create_testdir): Store config/* files in the main
129838         directory.
129839         * config.rpath: Move to ...
129840         * config/config.rpath: ... here.
129841         * modules/gettext: Contains config/config.rpath, not config.rpath.
129842         * modules/iconv: Likewise.
129844 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129846         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129847         to avoid collisions with libcurses and libreadline.
129849         * m4/getstr.m4: Remove.
129850         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
129852 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129854         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129855         to avoid collisions with libcurses and libreadline.
129857         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
129858         * lib/getstr.h, getstr.c: Remove.
129859         * lib/getline.c: Include "getline.h", to check interface.
129860         Move body of old getstr.c here: this defines MIN_CHUNK and
129861         declares getdelim2, which is renamed from getstr.
129862         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
129864         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
129865         All uses changed.
129866         * lib/linebuffer.h: Likewise.
129867         (readline): Remove backward-compatibility macro.
129869 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129871         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129872         to avoid collisions with libcurses and libreadline.
129873         * getstr: Remove.
129874         * MODULES.html.sh: Remove getstr.
129875         * modules/getline: Depend on unlocked-io, not getstr.
129877 2003-01-12  Jim Meyering  <jim@meyering.net>
129879         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
129881 2003-01-10  Bruno Haible  <bruno@clisp.org>
129883         * modules/alloca: Change Makefile.am requirements. Simplify Include
129884         requirements. Add lib/alloca_.h to file list.
129886 2003-01-10  Bruno Haible  <bruno@clisp.org>
129888         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
129890 2003-01-10  Bruno Haible  <bruno@clisp.org>
129892         * lib/alloca_.h: New file.
129893         * lib/getdate.y: Unconditionally include alloca.h.
129894         * lib/makepath.c: Likewise.
129895         * lib/setenv.c: Likewise.
129896         * lib/userspec.c: Likewise.
129898 2003-01-09  Karl Berry  <karl@gnu.org>
129900         * MODULES.html.sh: include `dirname $0` in PATH, to find
129901         gnulib-tool.
129903 2003-01-09  Bruno Haible  <bruno@clisp.org>
129905         * modules/stdbool: Change configure.ac, Makefile.am requirements.
129906         Simplify Include requirements. Add lib/stdbool.h.in to file list.
129908 2003-01-09  Bruno Haible  <bruno@clisp.org>
129910         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
129912 2003-01-09  Bruno Haible  <bruno@clisp.org>
129914         * lib/stdbool.h.in: New file.
129916 2003-01-09  Bruno Haible  <bruno@clisp.org>
129918         * gnulib-tool (func_all_modules): Ignore files ending in ~.
129919         * MODULES.html.sh: Likewise.
129921 2003-01-08  Jim Meyering  <jim@meyering.net>
129923         * lib/full-write.c: Undefine and define-away `const' after inclusion
129924         of errno.h, not before.  Suggestion from Bruno Haible.
129926 2003-01-08  Bruno Haible  <bruno@clisp.org>
129928         * modules/full-read: Depend on full-write.
129930 2003-01-08  Bruno Haible  <bruno@clisp.org>
129932         * lib/safe-read.c: Include specification header first, to ensure its
129933         selfcontainedness.
129934         * lib/full-write.c: Likewise.
129936 2003-01-07  Jim Meyering  <jim@meyering.net>
129938         * lib/full-write.c: Rework so that it may serve to define full_read,
129939         too.
129940         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
129942 2003-01-07  Bruno Haible  <bruno@clisp.org>
129944         * lib/strtoimax.c: Include <stdint.h> as an alternative to
129945         <inttypes.h>.
129946         * lib/xstrtol.h: Likewise.
129947         * lib/xstrtoimax.c: Likewise.
129948         * lib/xstrtoumax.c: Likewise.
129949         * lib/human.h: Likewise.
129951         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
129952         on systems that have <inttypes.h> but not <stdint.h>.
129954 2003-01-07  Bruno Haible  <bruno@clisp.org>
129956         * MODULES.html.sh: Add copyright notice.
129957         (missed_files): Omit CVS directory entries.
129958         (func_module): Make it work with sed-3.02.
129959         * MODULES.txt: Remove file.
129961 2003-01-06  Jim Meyering  <jim@meyering.net>
129963         * lib/version-etc.c: Update year in translatable copyright string.
129965 2003-01-03  Karl Berry  <karl@gnu.org>
129967         * config/config.{guess,sub}: update from prep.
129969 2003-01-02  Karl Berry  <karl@gnu.org>
129971         * doc/COPYING.DOC: belatedly updated to 1.2.
129973 2003-01-01  Karl Berry  <karl@gnu.org>
129975         * gnulib-tool (func_verify_module): report module name $module in
129976         error message, not $1.
129977         * gnulib-tool (create-testdir): don't complain if destdir couldn't
129978         be created, only if it doesn't exist.
129979         * gnulib-tool (last_checkin_date): don't expand the $Date here.
129981 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129983         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
129985 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129987         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
129988         memcmp if strcoll doesn't work.
129990 2002-12-31  Bruno Haible  <bruno@clisp.org>
129992         * lib/utime.c (utime_null): No need to call ftruncate if the file was
129993         nonempty.
129995 2002-12-31  Bruno Haible  <bruno@clisp.org>
129997         * lib/memcoll.c (STRCOLL): New macro.
129998         (memcoll): Use it.
130000 2002-12-31  Bruno Haible  <bruno@clisp.org>
130002         * lib/localcharset.h: New file.
130003         * lib/localcharset.c: Include it.
130004         * lib/unicodeio.c: Likewise.
130006 2002-12-31  Bruno Haible  <bruno@clisp.org>
130008         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
130009         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
130011 2002-12-31  Bruno Haible  <bruno@clisp.org>
130013         * lib/getline.h: Include <stddef.h>, for size_t.
130015         * lib/unicodeio.h: Include <stddef.h>, for size_t.
130016         * lib/unicodeio.c: Don't include <stddef.h>.
130018 2002-12-31  Bruno Haible  <bruno@clisp.org>
130020         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
130021         HAVE_TM_ZONE.
130023 2002-12-24  Karl Berry  <karl@gnu.org>
130025         * config/config.guess: update from prep.
130027 2002-12-24  Bruno Haible  <bruno@clisp.org>
130029         General infrasructure.
130030         * m4/README: Rewritten.
130031         * m4/onceonly.m4: New file.
130032         * m4/onceonly_2_57.m4: New file.
130034         Module atexit.
130035         * m4/atexit.m4: New file.
130037         Module strtod.
130038         * m4/strtod.m4: New file.
130040         Module strtol.
130041         * m4/strtol.m4: New file.
130043         Module strtoul.
130044         * m4/strtoul.m4: New file.
130046         Module memchr.
130047         * m4/memchr.m4: New file.
130049         Module memcmp.
130050         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
130051         (jm_FUNC_MEMCMP): Invoke it.
130053         Module memcpy.
130054         * m4/memcpy.m4: New file.
130056         Module memmove.
130057         * m4/memmove.m4: New file.
130059         Module memset.
130060         * m4/memset.m4: New file.
130062         Module strcspn.
130063         * m4/strcspn.m4: New file.
130065         Module strpbrk.
130066         * m4/strpbrk.m4: New file.
130068         Module strstr.
130069         * m4/strstr.m4: New file.
130071         Module strerror.
130072         * m4/strerror.m4: New file.
130074         Module mktime.
130075         * m4/mktime.m4: Renamed from jm-mktime.m4.
130076         (gl_PREREQ_MKTIME): New macro.
130077         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
130079         Module malloc.
130080         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
130081         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
130082         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
130084         Module realloc.
130085         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
130086         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
130087         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
130089         Module strftime.
130090         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
130091         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
130092         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
130093         gl_TM_GMTOFF.
130094         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
130096         Module xalloc.
130097         * m4/xalloc.m4: New file.
130099         Module alloca.
130100         * m4/alloca.m4: New file.
130102         Module putenv.
130103         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
130104         (jm_FUNC_PUTENV): Invoke it.
130106         Module setenv.
130107         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
130108         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
130109         when invoked twice.
130110         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
130111         gt_FUNC_SETENV.
130113         Module memrchr.
130114         * m4/memrchr.m4: New file.
130116         Module stpcpy.
130117         * m4/stpcpy.m4: New file.
130119         Module strcase.
130120         * m4/strcase.m4: New file.
130122         Module strdup.
130123         * m4/strdup.m4: New file.
130125         Module strnlen.
130126         * m4/strnlen.m4: New file.
130128         Module strndup.
130129         * m4/strndup.m4: New file.
130131         Module xstrtod.
130132         * m4/xstrtod.m4: New file.
130134         Module xstrtol.
130135         * m4/xstrtol.m4: New file.
130137         Module getdate.
130138         * m4/getdate.m4: New file.
130140         Module unlocked-io.
130141         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
130142         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
130143         * m4/jm-glibc-io.m4n: Remove file.
130145         Module long-options.
130146         * m4/long-options.m4: New file.
130148         Module md5.
130149         * m4/md5.m4: New file.
130151         Module sha.
130152         * m4/sha.m4: New file.
130154         Module getstr.
130155         * m4/getstr.m4: New file.
130157         Module getline.
130158         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
130159         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
130160         <sys/types.h>, for size_t. Use the function name gnu_getline, not
130161         simply getline. Infoke gl_PREREQ_GETLINE.
130163         Module obstack.
130164         * m4/obstack.m4: New file.
130166         Module hash.
130167         * m4/hash.m4: New file.
130169         Module readtokens.
130170         * m4/readtokens.m4: New file.
130172         Module strverscmp.
130173         * m4/strverscmp.m4: New file.
130175         Module stdbool.
130176         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
130177         OSF/1.
130179         Module strtoll.
130180         * m4/strtoll.m4: New file.
130182         Module strtoull.
130183         * m4/strtoull.m4: New file.
130185         Module strtoimax.
130186         * m4/strtoimax.m4: New file.
130188         Module strtoumax.
130189         * m4/strtoumax.m4: New file.
130191         Module xstrtoimax.
130192         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
130193         jm_AC_PREREQ_XSTRTOIMAX.
130194         Moved the strtol prerequisites to strtol.m4.
130195         Moved the strtoll prerequisites to strtoll.m4.
130196         Moved the strtoimax prerequisites to strtoimax.m4.
130198         Module xstrtoumax.
130199         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
130200         jm_AC_PREREQ_XSTRTOUMAX.
130201         Moved the strtoul prerequisites to strtoul.m4.
130202         Moved the strtoull prerequisites to strtoull.m4.
130203         Moved the strtoumax prerequisites to strtoumax.m4.
130205         Module chown.
130206         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
130207         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
130209         Module dup2.
130210         * m4/dup2.m4: New file.
130212         Module ftruncate.
130213         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
130214         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
130216         Module getgroups.
130217         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
130218         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
130220         Module gettimeofday.
130221         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
130222         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
130223         gl_PREREQ_GETTIMEOFDAY.
130225         Module mkdir.
130226         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
130227         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
130229         Module mkstemp.
130230         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
130231         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
130232         jm_AC_TYPE_UINTMAX_T.
130233         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
130235         Module stat.
130236         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
130237         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
130239         Module lstat.
130240         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
130241         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
130243         Module timespec.
130244         * m4/timespec.m4 (gl_TIMESPEC): New macro.
130245         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
130246         * m4/st_mtim.m4: Indentation.
130248         Module nanosleep.
130249         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
130250         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
130251         gl_PREREQ_NANOSLEEP.
130253         Module regex.
130254         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
130255         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
130256         (gl_REGEX): New macro.
130258         Module rename.
130259         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
130260         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
130262         Module rmdir.
130263         * m4/rmdir.m4: New file.
130265         Module utime.
130266         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
130267         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
130268         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
130270         Module dirname.
130271         * m4/dirname.m4: New file.
130273         Module getopt.
130274         * m4/getopt.m4: New file.
130276         Module unistd-safer.
130277         * m4/unistd-safer.m4: New file.
130279         Module fnmatch.
130280         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
130281         declaration.
130282         (gl_PREREQ_FNMATCH_EXTRA): New macro.
130283         (gl_FUNC_FNMATCH_POSIX): New macro.
130284         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
130285         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
130286         simply fnmatch.
130288         Module exclude.
130289         * m4/exclude.m4: New file.
130291         Module human.
130292         * m4/human.m4: New file.
130294         Module acl.
130295         * m4/acl.m4: Nop.
130297         Module backupfile.
130298         * m4/backupfile.m4: New file.
130299         * m4/d-ino.m4: Indentation.
130301         Module fsusage.
130302         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
130303         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
130304         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
130306         Module dirfd.
130307         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
130308         requirements.
130310         Module euidaccess.
130311         * m4/euidaccess.m4: New file.
130313         Module file-type.
130314         * m4/file-type.m4: New file.
130316         Module fileblocks.
130317         * m4/fileblocks.m4: New file.
130319         Module filemode.
130320         * m4/filemode.m4: New file.
130322         Module isdir.
130323         * m4/isdir.m4: New file.
130325         Module lchown.
130326         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
130327         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
130329         Module makepath.
130330         * m4/makepath.m4: New file.
130332         Module modechange.
130333         * m4/modechange.m4: New file.
130335         Module mountlist.
130336         * m4/mountlist.m4: New file.
130337         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
130338         Indentation.
130340         Module path-concat.
130341         * m4/path-concat.m4: New file.
130343         Module pathmax.
130344         * m4/pathmax.m4: New file.
130346         Module same.
130347         * m4/same.m4: New file.
130349         Module save-cwd.
130350         * m4/save-cwd.m4: New file.
130352         Module savedir.
130353         * m4/savedir.m4: New file.
130355         Module xgetcwd.
130356         * m4/xgetcwd.m4: New file.
130357         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
130359         Module xreadlink.
130360         * m4/xreadlink.m4: New file.
130362         Module safe-read.
130363         * m4/safe-read.m4: New file.
130365         Module safe-write.
130366         * m4/safe-write.m4: New file.
130368         Module closeout.
130369         * m4/closeout.m4: New file.
130371         Module stdio-safer.
130372         * m4/stdio-safer.m4: New file.
130374         Module getpass.
130375         * m4/getpass.m4: New file.
130377         Module getugroups.
130378         * m4/getugroups.m4: New file.
130380         Module group-member.
130381         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
130382         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
130384         Module idcache.
130385         * m4/idcache.m4: New file.
130387         Module userspec.
130388         * m4/userspec.m4: New file.
130390         Module gettime.
130391         * m4/clock_time.m4: New file.
130392         * m4/gettime.m4: New file.
130394         Module settime.
130395         * m4/settime.m4: New file.
130397         Module posixtm.
130398         * m4/posixtm.m4: New file.
130400         Module gethostname.
130401         * m4/gethostname.m4: New file.
130403         Module canon-host.
130404         * m4/canon-host.m4: New file.
130406         Module gettext.
130407         * m4/codeset.m4: New file, from gettext-0.11.5.
130408         * m4/gettext.m4: New file, from gettext-0.11.5.
130409         * m4/glibc21.m4: New file, from gettext-0.11.5.
130410         * m4/iconv.m4: New file, from gettext-0.11.5.
130411         * m4/intdiv0.m4: New file, from gettext-0.11.5.
130412         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
130413         * m4/inttypes.m4: New file, from gettext-0.11.5.
130414         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
130415         * m4/isc-posix.m4: New file, from gettext-0.11.5.
130416         * m4/lcmessage.m4: New file, from gettext-0.11.5.
130417         * m4/lib-ld.m4: New file, from gettext-0.11.5.
130418         * m4/lib-link.m4: New file, from gettext-0.11.5.
130419         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
130420         * m4/progtest.m4: New file, from gettext-0.11.5.
130421         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
130422         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
130423         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
130425         Module localcharset.
130426         * m4/localcharset.m4: New file.
130428         Module hard-locale.
130429         * m4/hard-locale.m4: New file.
130431         Module mbswidth.
130432         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
130433         onceonly macros.
130434         * m4/mbrtowc.m4: Add comment.
130436         Module memcasecmp.
130437         * m4/memcasecmp.m4: New file.
130439         Module memcoll.
130440         * m4/memcoll.m4: New file.
130442         Module unicodeio.
130443         * m4/unicodeio.m4: New file.
130445         Module rpmatch.
130446         * m4/rpmatch.m4: New file.
130448         Module yesno.
130449         * m4/yesno.m4: New file.
130451         Module exitfail.
130452         * m4/exitfail.m4: New file.
130454         Module c-stack.
130455         * m4/c-stack.m4 (gl_C_STACK): New macro.
130456         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
130458         Module error.
130459         * m4/error.m4 (gl_ERROR): New macro.
130460         (jm_PREREQ_ERROR): Use onceonly macros.
130462         Module fatal.
130463         * m4/fatal.m4: New file.
130465         Module getloadavg.
130466         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
130467         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
130469         Module getpagesize.
130470         * m4/getpagesize.m4: New file.
130472         Module getusershell.
130473         * m4/getusershell.m4: New file.
130475         Module physmem.
130476         * m4/physmem.m4: New file.
130478         Module posixver.
130479         * m4/posixver.m4: New file.
130481         Module quotearg.
130482         * m4/quotearg.m4: New file.
130484         Module quote.
130485         * m4/quote.m4: New file.
130487         Module readutmp.
130488         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
130490         Module sig2str.
130491         * m4/sig2str.m4: New file.
130493         Other.
130494         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
130495         ulonglong.m4.
130496         * m4/intmax_t.m4: New file.
130497         * m4/d-type.m4: Indentation.
130498         * m4/jm-macros.m4: Update.
130499         * m4/prereq.m4 (jm_PREREQ): Update.
130500         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
130501         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
130502         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
130503         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
130504         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
130505         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
130506         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
130507         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
130508         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
130509         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
130510         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
130511         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
130512         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
130513         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
130514         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
130515         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
130516         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
130517         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
130518         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
130520 2002-12-24  Bruno Haible  <bruno@clisp.org>
130522         * MODULES.txt: Update according to m4/ changes.
130524         Module gettext.
130525         * config.rpath: New file, from gettext-0.11.5.
130527         * modules/*: New module descriptions.
130528         * gnulib-tool: New file.
130529         * MODULES.html.sh: New file.
130531 2002-12-21  Karl Berry  <karl@gnu.org>
130533         * doc/fdl.texi: update to version 1.2.
130535 2002-12-19  Karl Berry  <karl@gnu.org>
130537         * config/config.guess: update from prep.
130539 2002-12-18  Bruno Haible  <bruno@clisp.org>
130541         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
130542         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
130544 2002-12-17  Bruno Haible  <bruno@clisp.org>
130546         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
130547         stdlib.h, string.h.
130549 2002-12-17  Bruno Haible  <bruno@clisp.org>
130551         * lib/canon-host.c (strdup): Remove unused declaration.
130553         * lib/fsusage.c: Include full_read.h.
130554         (get_fs_usage): Use full_read instead of safe_read.
130556         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
130558 2002-12-12  Karl Berry  <karl@gnu.org>
130560         * config/config.guess: update from prep.
130562 2002-12-11  Bruno Haible  <bruno@clisp.org>
130564         * m4/setenv.m4: New file, from gettext-0.11.5.
130566 2002-12-11  Bruno Haible  <bruno@clisp.org>
130568         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
130569         not unsetenv().
130570         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
130571         modifications:
130573         2002-12-11  Bruno Haible  <bruno@clisp.org>
130575                 * setenv.c (alloca): Fall back to malloc.
130576                 (freea): New macro.
130577                 (setenv): Use freea() to free memory allocated with alloca().
130579         2002-11-13  Bruno Haible  <bruno@clisp.org>
130581                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
130582                 function declarations.
130583                 * unsetenv.c (unsetenv): Likewise.
130585         2002-03-04  Bruno Haible  <bruno@clisp.org>
130587                 Portability to AIX 4.3.3.
130588                 * unsetenv.c: New file, extracted from setenv.c.
130589                 * setenv.c: Move the unsetenv() function to unsetenv.c.
130591         2001-12-20  Bruno Haible  <bruno@clisp.org>
130593                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
130594                 use malloc instead. For SunOS 4.
130596         2001-12-11  Bruno Haible  <bruno@clisp.org>
130598                 * setenv.c: Declare alloca.
130599                 (compar_fn_t): New typedef.
130600                 (KNOWN_VALUE, STORE_VALUE): Use it.
130602         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
130603         setenv.h.
130605 2002-12-10  Paul Eggert  <eggert@twinsun.com>
130607         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
130608         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
130609         Choose values that are less likely to collide with system fnmatch
130610         options.
130611         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
130612         defined (e.g., a pure POSIX system).
130613         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
130614         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
130616 2002-12-06  Paul Eggert  <eggert@twinsun.com>
130618         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
130619         a pain in practice to deal with generated m4 files.  This change
130620         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
130622         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
130623         and jm-glibc-io.m4, as they are no longer a special case.
130624         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
130625         kludge and the auto-generation stuff.  Check only whether the
130626         functions are declared, not whether they exist, since older hosts
130627         that don't declare the functions can't use the optimization anyway.
130629 2002-12-06  Jim Meyering  <jim@meyering.net>
130631         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
130633         Merge in changes from libc's misc/error.c, in preparation
130634         for the merge of gnulib's changes back into libc.
130636         * lib/error.c (_): Define only if not already defined.
130637         Move definition to follow all #include directives.
130638         Include unlocked-io.h only if !_LIBC.
130639         [_LIBC]: Include <libio/libioP.h>.
130640         [USE_IN_LIBIO]: Include <libio/iolibio.h>
130641         (fflush): Tweak definition to use INTUSE.
130642         (putc): Define.
130644 2002-12-05  Paul Eggert  <eggert@twinsun.com>
130646         * lib/alloca.c [defined emacs]: Include "lisp.h".
130647         (xalloc_die) [defined emacs]: New macro.
130648         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
130649         [! defined emacs]: Include <xalloc.h>.
130650         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
130651         (pointer): Typedef to POINTER_TYPE *.
130652         (malloc): Remove decl; we now always use xmalloc.
130653         (alloca): Use old-style definition, since Emacs needs this.
130654         Check for arithmetic overflow when computing combined size.
130656 2002-12-04  Paul Eggert  <eggert@twinsun.com>
130658         Do not generate unlocked-io.h automatically, since it's easier to
130659         maintain it by hand.
130661         * lib/unlocked-io.h: New file, from GNU diffutils,
130662         but with proper copyright notice and attribution.
130663         * lib/gen-uio: Remove.
130664         * lib/Makefile.am: Add copyright notice.
130665         (libfetish_a_SOURCES): Add unlocked-io.h.
130666         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
130667         (DISTCLEANFILES, io_functions): Remove macros.
130668         (EXTRA_DIST): Remove gen_uio.
130669         (unlocked-io.h): Remove rule.
130671 2002-12-04  Jim Meyering  <jim@meyering.net>
130673         Reflect the fact that stat.c and lstat.c are no longer generated.
130674         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
130675         (DISTCLEANFILES): Likewise.
130676         (EXTRA_DIST): Likewise.
130677         (all_local): Don't depend on stat.c or lstat.c.
130678         (stat.c, lstat.c): Remove rules.
130679         (EXTRA_DIST): Remove xstat.in.
130681         * lib/xstat.in: Remove file.  Contents moved into stat.c.
130682         * lib/stat.c: New file.  Contents mostly from xstat.in.
130683         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
130684         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
130686         * lib/safe-read.c: Rework so that it may serve to define safe_write,
130687         too.
130688         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
130690 2002-12-03  Jim Meyering  <jim@meyering.net>
130692         * lib/safe-read.c, safe-write.c: Change variable names and comments,
130693         but not semantics, to minimize the differences between these two files.
130694         (safe_read): Change comment to mention SAFE_READ_ERROR.
130696         * lib/safe-read.c (IS_EINTR): Define.
130697         (safe_read): Use IS_EINTR in place of in-function cpp directives.
130699 2002-12-02  Jim Meyering  <jim@meyering.net>
130701         * lib/safe-read.c (EINTR): Define.
130702         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
130703         (INT_MAX): Provide fallback.
130704         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
130706         * lib/safe-read.h (SAFE_READ_ERROR): Define.
130708 2002-12-02  Bruno Haible  <bruno@clisp.org>
130710         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
130711         Define, taken from safe-read.c.
130712         (INT_MAX): Provide fallback.
130713         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
130714         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
130716         * lib/safe-read.c (EINTR): Remove definition.
130717         (safe_read): Don't use EINTR if it is absent.
130719 2002-12-01  Jim Meyering  <jim@meyering.net>
130721         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
130722         zero.
130723         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
130725 2002-11-27  Paul Eggert  <eggert@twinsun.com>
130727         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
130728         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
130729         with `if (! (value < limit)) abort ();', for readability.
130731 2002-11-26  Karl Berry  <karl@gnu.org>
130733         * lib/strdup.c: copy from libc again, with jim's ok.
130734         * lib/.cppi-disable: re-add strdup.c
130736 2002-11-25  Karl Berry  <karl@gnu.org>
130738         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
130739         instead of "strtol.c".
130741 2002-11-25  Karl Berry  <karl@gnu.org>
130743         * config/install-sh: update from automake for variable quoting, $0 in
130744         error msgs, etc.
130746         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
130747         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
130748         entry.
130750 2002-11-25  Jim Meyering  <jim@meyering.net>
130752         * lib/mktime.c: Sync from libc, now that it has the latest fix.
130754 2002-11-24  Karl Berry  <karl@gnu.org>
130756         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
130757         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
130759 2002-11-24  Jim Meyering  <jim@meyering.net>
130761         Update from coreutils:
130763         * lib/mktime.c: Merge in changes from libc.
130765         Avoid a link-time failure on some Linux systems.
130766         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
130767         (otherwise).
130768         (__mon_yday): Declare with the STATIC attribute.
130769         (__mktime_internal): Likewise.
130770         Based on a report from Greg Schafer.
130772 2002-11-23  Jim Meyering  <jim@meyering.net>
130774         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
130775         Use `unsigned', not `int', as type of index.
130777         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
130779         * lib/fsusage.c: Remove unneeded parentheses around operands of
130780         `defined'.
130782 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130784         * lib/quotearg.h: Allow multiple inclusion by surrounding with
130785         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
130786         so that we can be included first.
130787         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
130788         * lib/quotearg.c: Include quotearg.h immediately after config.h.
130789         No need to include stddef.h or sys/types.h any more.
130790         Surround local include files with "", not "<>".
130791         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
130792         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
130793         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
130794         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
130795         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
130796         (ISPRINT): Remove; no longer needed now that we assume C89.
130798         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
130799         Preserve errno.
130801         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
130802         quotearg_char): Use SIZE_MAX rather than
130803         (size_t) -1 when we are talking about "infinity".
130805         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
130807 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130809         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
130810         hint that one should use `if (! x) abort ();' rather than `assert
130811         (x);', and anyway it's one less thing to worry about configuring.
130812         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
130813         hash_rehash, hash_insert): Use abort rather than assert.
130815 2002-11-22  Bruno Haible  <bruno@clisp.org>
130817         * lib/safe-read.h: Assume C89. Add comments.
130818         (safe_read): Change return type to size_t.
130819         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
130820         byte counts > SSIZE_MAX correctly.
130821         * lib/safe-write.h: New file.
130822         * lib/safe-write.c: New file.
130823         * lib/full-read.h: New file.
130824         * lib/full-read.c: New file.
130825         * lib/full-write.h: Assume C89. Add comments.
130826         * lib/full-write.c: Include safe-write.h.
130827         (full_write): Rewritten to use safe_write.
130828         Suggested by Jim Meyering and Paul Eggert.
130830 2002-11-21  Jim Meyering  <jim@meyering.net>
130832         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
130834         Merge in changes from the coreutils.
130836         2002-09-25  Paul Eggert  <eggert@twinsun.com>
130837         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
130838         <stdint.h>.
130839         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
130840         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
130841         int.  Work more efficiently if X is the same width as uintmax_t.
130842         Do not compare X to -1, to avoid bogus compiler warning.
130843         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
130844         Don't assume that f_frsize and f_bsize are the same type.
130846         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
130847         warning on FreeBSD.
130849         * lib/makepath.c (make_path): Restore umask *before* creating the final
130850         component.
130851         (make_path): Minor reformatting.
130853         * lib/xmalloc.c: Adjust to work with new autoconf macros,
130854         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
130855         HAVE_MALLOC/HAVE_REALLOC.
130857         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
130858         dummy ones.  At least on GNU/Linux systems, `auto' means something
130859         else.
130860         From Michael Stone.
130862 2002-11-21  Bruno Haible  <bruno@clisp.org>
130864         Remove case insensitive option matching.
130865         * lib/argmatch.h (argcasematch): Remove declaration.
130866         (ARGCASEMATCH): Remove macro.
130867         (__xargmatch_internal): Remove case_sensitive argument.
130868         (XARGMATCH): Update.
130869         (XARGCASEMATCH): Remove macro.
130870         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
130871         case_sensitive argument.
130872         (argcasematch): Remove function.
130873         (__xargmatch_internal): Remove case_sensitive argument.
130874         (main): Use XARGMATCH instead of XARGCASEMATCH.
130876         * lib/xmalloc.c: Change compile-time error message. Add comment about
130877         required autoconf version.
130879 2002-11-20  Paul Eggert  <eggert@twinsun.com>
130881         Merge argmatch cleanups from Bison.  Assume C89.
130883         * lib/argmatch.c: Include config.h here, not in argmatch.h.
130884         Include stdlib.h, for EXIT_FAILURE.
130885         Always include <string.h>, since we assume C89.
130886         (EXIT_FAILURE): Remove pre-C89 bug workaround.
130887         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
130888         Include <stddef.h> instead, since it's all we need for size_t.
130889         (PARAMS): Remove.  All uses removed.
130890         (ARRAY_CARDINALITY): Do not bother to #undef.
130891         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
130892         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130893         Remove unnecessary parentheses.
130894         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130895         Insert necessary parentheses.
130896         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
130897         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
130899 2002-11-19  Bruno Haible  <bruno@clisp.org>
130901         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
130902         * lib/mbswidth.h: Include <stddef.h>, for size_t.
130904         * lib/mbswidth.h (PARAMS): Remove macro.
130905         (mbswidth, mbsnwidth): Use ANSI C function declarations.
130906         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
130908         * lib/gcd.h (PARAMS): Remove macro.
130909         (gcd): Use ANSI C function declarations.
130910         * lib/gcd.c (gcd): Likewise.
130912 2002-11-15  Bruno Haible  <bruno@clisp.org>
130914         * lib/strcspn.c: Include <stddef.h>.
130915         (strcspn): Use ANSI C function declaration. Change return type to
130916         size_t. Use NULL.
130917         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
130918         (strpbrk): Use NULL.
130919         * lib/strpbrk.h (PARAMS): Remove macro.
130920         (strpbrk): Use ANSI C function declaration.
130921         * lib/strstr.c: Don't include <sys/types.h>.
130922         * lib/strstr.h (PARAMS): Remove macro.
130923         (strstr): Use ANSI C function declarations.
130925 2002-11-14  Karl Berry  <karl@gnu.org>
130927         * config/mkinstalldirs: `do' on separate line, instead of
130928         `for var; do'.
130930 2002-11-06  Bruno Haible  <bruno@clisp.org>
130932         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
130933         * lib/gcd.c (gcd): Likewise.
130935 2002-11-05  Bruno Haible  <bruno@clisp.org>
130937         * lib/gcd.h: New file, from gettext-0.11.5.
130938         * lib/gcd.c: New file, from gettext-0.11.5.
130940 2002-11-05  Bruno Haible  <bruno@clisp.org>
130942         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130943         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130944         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130945         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130947         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
130948         <libintl.h>.
130949         * lib/makepath.c: Include gettext.h instead of <locale.h> and
130950         <libintl.h>.
130952         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
130953         * lib/human.c: Include gettext.h instead of <libintl.h>.
130954         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
130955         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
130956         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
130957         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
130958         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
130959         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
130960         (textdomain): Remove definition.
130961         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
130963         * lib/long-options.c: Remove include of <libintl.h> and definition of
130964         _.
130965         * lib/same.c: Remove include of <libintl.h> and definition of _.
130967 2002-11-04  Owen Taylor  <otaylor@redhat.com>
130969         * lib/config.charset: A few additions for Solaris.
130971 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130973         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
130974         * lib/localcharset.c (locale_charset): Declare as extern "C".
130976 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130978         * lib/config.charset: msdos in uk_UA uses CP1125.
130980 2002-11-04  Bruno Haible  <bruno@clisp.org>
130982         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
130983         * lib/strcase.h: New file, from GNU gettext-0.11.5.
130984         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
130985         * lib/strstr.h: New file, from GNU gettext-0.11.5.
130986         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
130988 2002-11-04  Bruno Haible  <bruno@clisp.org>
130990         * lib/localcharset.c (locale_charset): Don't return an empty string.
130992 2002-11-04  Bruno Haible  <bruno@clisp.org>
130994         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
130995         aliases.
130997 2002-11-04  Bruno Haible  <bruno@clisp.org>
130999         * lib/config.charset: Update for newest glibc. Add canonical names
131000         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
131002 2002-11-04  Bruno Haible  <bruno@clisp.org>
131004         * lib/config.charset: Add support for NetBSD.
131006 2002-11-04  Bruno Haible  <bruno@clisp.org>
131008         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
131010 2002-11-01  Bruno Haible  <bruno@clisp.org>
131012         * configure.in: Add AC_CONFIG_AUX_DIR call.
131013         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
131014         test/Makefile.
131015         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
131017 2002-09-28  Karl Berry  <karl@gnu.org>
131019         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
131020         installed automake until the next release, since changes have been
131021         made.
131023 2002-09-25  Karl Berry  <karl@gnu.org>
131025         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
131026         * lib/getopt*: copy from libc/posix.
131027         * lib/gettext.h: copy from gettext.
131028         * lib/.cppi-disable: add strdup.c, gettext.h.
131030 2002-09-25  Karl Berry  <karl@gnu.org>
131032         * config/srclist.txt: enable gettext.h check.
131033         * config/config.{guess,sub}: update from prep.
131034         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
131035                 from automake 1.6.3.
131036         See srclist*.
131038 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
131040         * regex.c (PATFETCH): Remove the translating fetch.
131041         (PATFETCH_RAW): Rename to PATFETCH.
131042         (set_image_of_range): New fun.
131043         (SET_RANGE_TABLE_WORK_AREA): Use it.
131044         (regex_compile): Don't translate the pattern chars so eagerly.
131045         Only do it when inserting an `exactn' bytecode or when handling
131046         a char-range.
131047         (mutually_exclusive_p): Avoid empty statement.
131049 2002-07-06  Jim Meyering  <meyering@lucent.com>
131051         * m4/README: Don't mention Makefile.am.in.
131052         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
131054 2002-07-01  Jim Meyering  <meyering@lucent.com>
131056         * lib/c-stack.c: Include sys/time.h.
131057         From Volker Borchert.
131059 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131061         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
131063 2002-06-26  Paul Eggert  <eggert@twinsun.com>
131065         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
131066         New macro.  Use it uniformly instead of
131067         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
131068         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
131069         reported by Vin Shelton.
131071 2002-06-22  Paul Eggert  <eggert@twinsun.com>
131073         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
131074         Do not assume SA_SIGINFO behavior.
131075         Bug reported by Jim Meyering on NetBSD 1.5.2.
131077 2002-06-22  Jim Meyering  <meyering@lucent.com>
131079         * m4/c-stack.m4: New file, from diffutils-2.8.2.
131080         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
131082         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
131083         now that configure.ac uses AC_GNU_SOURCE.
131084         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
131085         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
131087         Update to latest tools.  Suggestions from Paul Eggert.
131088         * m4/stdbool.m4: New file, from diffutils-2.8.2.
131089         * m4/gnu-source.m4: Update from diffutils-2.8.2.
131090         * m4/fnmatch.m4: Likewise.
131091         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
131092         to AC_HEADER_STDBOOL
131094 2002-06-22  Jim Meyering  <meyering@lucent.com>
131096         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
131097         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
131099 2002-06-22  Jim Meyering  <meyering@lucent.com>
131101         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
131103         * lib/exitfail.c, exitfail.h: Likewise.
131104         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
131106         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
131107         of fnmatch.h.
131108         (EXTRA_DIST): Add fnmatch_loop.c.
131109         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
131111         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
131112         * lib/fnmatch.c: Update from diffutils-2.8.2.
131113         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
131114         * lib/fnmatch.h: Remove file.
131116 2002-06-21  Jim Meyering  <meyering@lucent.com>
131118         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
131119         * m4/mbrtowc.m4: Likewise.
131121         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
131122         * m4/mbswidth.m4: Reflect name change:
131123         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
131124         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131126         * m4/lib-link.m4: Update from gettext-0.11.2.
131127         * m4/gettext.m4: Likewise.
131129         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
131130         From Alfred M. Szmidt.
131132 2002-06-18  Paul Eggert  <eggert@twinsun.com>
131134         * lib/file-type.h: Report an error if neither S_ISREG nor
131135         S_IFREG is defined, instead of using a test specific to glibc
131136         2.2.  This should be safe, since POSIX requires S_ISREG and
131137         Unix Version 7 had S_IFREG.  We don't need to check for
131138         <sys/types.h> since we don't use any symbols that it defines.
131140 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
131142         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
131143         $@-t, so that each temporary file name is unique and valid in the first
131144         8 characters, for operation under DOS.
131146 2002-06-15  Paul Eggert  <eggert@twinsun.com>
131148         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
131150 2002-06-15  Jim Meyering  <meyering@lucent.com>
131152         Work even with DJGPP 2.03, which lacks support for symlinks.
131153         From Richard Dawe.
131154         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
131155         is defined.
131156         * lib/lchown.c (S_ISLNK): Likewise.
131158 2002-06-15  Jim Meyering  <meyering@lucent.com>
131160         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
131161         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
131162         have been included before this file.
131164 2002-06-14  Jim Meyering  <meyering@lucent.com>
131166         * lib/file-type.h: Use the version from diffutils-2.8.2.
131167         * lib/file-type.c: Likewise.
131169 2002-06-07  Jim Meyering  <meyering@lucent.com>
131171         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
131172         They're needed at least for NetBSD 1.5.2.
131173         ($statxfs_includes): Include those same headers.
131174         ($statxfs_includes): Include sys/vfs.h if available.
131175         ($statxfs_includes): Likewise for sys/statvfs.h.
131176         Check for the following members in both structs statfs and statvfs:
131177         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
131179 2002-06-01  Jim Meyering  <meyering@lucent.com>
131181         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
131182         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
131184 2002-05-28  Jim Meyering  <meyering@lucent.com>
131186         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
131187         Reported by Volker Borchert.
131189 2002-05-27  Jim Meyering  <meyering@lucent.com>
131191         Fix a problem seen only on nonconforming systems whereby ls.c's
131192         use of localtime, and then of gettimeofday would cause trouble:
131193         the localtime call used to initialize rpl_gettimeofday's save
131194         mechanism would clobber ls's current local time information so
131195         that in any long listing the first file would always be listed
131196         with date 1970-01-01.  Analysis by Volker Borchert.
131198         * lib/gettimeofday.c (localtime): Undefine.
131199         (rpl_localtime): New function.
131201 2002-05-27  Jim Meyering  <meyering@lucent.com>
131203         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
131204         localtime.
131206         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
131207         use the replacement function; it wouldn't resolve at link time.
131208         Reported by Volker Borchert.
131210 2002-05-22  Jim Meyering  <meyering@lucent.com>
131212         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
131213         file-type.h.
131214         * lib/file-type.h: New file.
131215         * lib/file-type.c (file_type): New file/function.  Extracted from
131216         diffutils.
131218 2002-04-30  Jim Meyering  <meyering@lucent.com>
131220         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
131222 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131224         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
131226 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131228         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
131229         Do not check for alloca.h (no longer used) or stdbool.h (was never
131230         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
131232 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131234         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
131236 2002-04-29  Jim Meyering  <meyering@lucent.com>
131238         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
131239         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
131240         Use AC_FUNC_STRNLEN here instead.
131242         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
131243         With autoconf-2.53a, it's part of AC_PROG_CC.
131245 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131247         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
131248         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
131250 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131252         * lib/sig2str.h, lib/sig2str.c: New files.
131253         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
131255 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131257         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
131258         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
131259         of 127, since 64 is the largest conceivable number for ancient
131260         nonstandard hosts.
131261         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
131263 2002-04-28  Jim Meyering  <meyering@lucent.com>
131265         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
131267 2002-04-24  Jim Meyering  <meyering@lucent.com>
131269         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
131270         (jm_PREREQ): Use it.
131272         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
131273         mach/mach.h fcntl.h.
131274         Check for this function: setlocale.
131276 2002-04-24  Jim Meyering  <meyering@lucent.com>
131278         * lib/gettext.h: New file, from Gettext.
131279         * lib/Makefile.am (INCLUDES): Remove -I../intl.
131280         (libfetish_a_SOURCES): Add gettext.h.
131282 2002-04-16  Jim Meyering  <meyering@lucent.com>
131284         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
131285         ut_pid, ut_id, ut_exit.
131287 2002-04-16  Jim Meyering  <meyering@lucent.com>
131289         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
131290         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
131291         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
131293 2002-04-12  Jim Meyering  <meyering@lucent.com>
131295         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
131296         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
131297         existence of the getmntinfo function.  Needed for Darwin 5.3.
131299         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
131300         This is necessary at least on Darwin 5.3.
131302         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
131303         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
131304         strnlen.o in the library, and that makes some versions of ranlib
131305         object.
131307 2002-04-12  Jim Meyering  <meyering@lucent.com>
131309         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
131311 2002-04-09  Jim Meyering  <meyering@lucent.com>
131313         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
131314         to be more precise.  Rather than saying we're checking whether the
131315         function `works', say what we're testing.
131316         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
131317         Reported by Bruno Haible.
131319 2002-03-10  Jim Meyering  <meyering@lucent.com>
131321         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
131322         Suggestion from Santiago Vila.
131324 2002-03-08  Jim Meyering  <meyering@lucent.com>
131326         * lib/rename.c: Mention that this wrapper is needed also on
131327         mips-dec-ultrix4.4 systems.
131329 2002-03-02  Jim Meyering  <meyering@lucent.com>
131331         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
131332         not HAVE_CLOCK_SETTIME.
131334 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131336         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
131337         Check for clock_settime.
131339 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131341         * lib/nanosleep.h: Rename to....
131342         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
131344         * lib/gettime.c: New file.
131345         * lib/settime.c: New file.
131346         * lib/stime.c: Remove.
131348         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
131349         timespec.h.  Remove nanosleep.h.
131351 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131353         * m4/acl.m4: New file.
131354         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
131355         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
131357 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131359         * lib/acl.c, lib/acl.h: New files.
131360         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
131362 2002-02-24  Jim Meyering  <meyering@lucent.com>
131364         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
131365         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
131366         cause trouble.  Reported by Nelson Beebe.
131368 2002-02-23  Paul Eggert  <eggert@twinsun.com>
131370         * lib/path-concat.c (xpath_concat): Reorder code to pacify
131371         compilers that don't know that xalloc_die never returns.
131373 2002-02-20  Jim Meyering  <meyering@lucent.com>
131375         * lib/getdate.c: Regenerate using bison-1.33.
131377 2002-02-17  Jim Meyering  <meyering@lucent.com>
131379         * config/config.guess (main): Don't use `head -1'; it's no longer
131380         portable. Use `sed 1q' instead.
131382 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
131384         * m4/codeset.m4: Upgrade to gettext-0.11.
131385         * m4/gettext.m4: Upgrade to gettext-0.11.
131386         * m4/glibc21.m4: Upgrade to gettext-0.11.
131387         * m4/iconv.m4: Upgrade to gettext-0.11.
131388         * m4/isc-posix.m4: Upgrade to gettext-0.11.
131389         * m4/lcmessage.m4: Upgrade to gettext-0.11.
131390         * m4/lib-ld.m4: New file, from gettext-0.11.
131391         * m4/lib-link.m4: New file, from gettext-0.11.
131392         * m4/lib-prefix.m4: New file, from gettext-0.11.
131393         * m4/progtest.m4: Upgrade to gettext-0.11.
131395 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131397         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
131398         (jm_PREREQ): Use it.
131400 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131402         * lib/posixver.c, lib/posixver.h: New files.
131403         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131405 2002-02-02  Paul Eggert  <eggert@twinsun.com>
131406             Bruno Haible  <bruno@clisp.org>
131408         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
131409         (fwrite_success_callback): New declaration.
131410         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
131411         print_unicode_char. Call failure callback instead of error.
131412         (fwrite_success_callback): New function.
131413         (exit_failure_callback): New function.
131414         (fallback_failure_callback): New function.
131415         (print_unicode_char): Call unicode_to_mb.
131417 2002-01-26  Jim Meyering  <meyering@lucent.com>
131419         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
131420         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
131422 2002-01-26  Jim Meyering  <meyering@lucent.com>
131424         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
131426 2002-01-22  Paul Eggert  <eggert@twinsun.com>
131428         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
131430 2002-01-22  Jim Meyering  <meyering@lucent.com>
131432         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
131433         Otherwise, some versions of automake would omit the rule that makes
131434         Makefile from Makefile.in.
131436 2002-01-21  Paul Eggert  <eggert@twinsun.com>
131438         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
131439         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131440         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
131441         (memcoll): Set errno to zero if there is no error.
131443         * lib/quotearg.c (quotearg_buffer_restyled):
131444         Fix bug with quoting buffers containing NUL when backslashing escapes.
131445         This bug was exposed by the other changes in this patch.
131446         (quotearg_n_options): New arg ARGSIZE.
131447         All callers changed.
131448         (quoting_options_from_style): New function.
131449         (quotearg_n_style): Use it.
131450         (quotearg_n_style_mem): New function.
131452         * lib/quotearg.h (quotearg_n_style_mem): New function.
131454 2002-01-19  Jim Meyering  <meyering@lucent.com>
131456         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
131457         Remove useless quotes: DF_PROG="df".
131458         * m4/strnlen.m4: New file.
131460 2002-01-16  Paul Eggert  <eggert@twinsun.com>
131462         * lib/backupfile.c (ISDIGIT): Comment fix.
131463         * lib/getdate.y (ISDIGIT): Likewise.
131464         * lib/posixtm.c (ISDIGIT, year): Likewise.
131465         * lib/strverscmp.c (ISDIGIT): Likewise.
131466         * lib/userspec.c (ISDIGIT): Likewise.
131468 2002-01-16  Jim Meyering  <meyering@lucent.com>
131470         * lib/getdate.y: Add three semicolons, each just before a closing
131471         brace. Bison (as of version 1.31) no longer papers over that mistake.
131473 2002-01-05  Jim Meyering  <meyering@lucent.com>
131475         * lib/version-etc.c (version_etc_copyright): Update copyright year.
131477 2001-12-19  Paul Eggert  <eggert@twinsun.com>
131479         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
131480         not silently exit merely because the output buffer happens to
131481         have nothing pending.
131483 2001-12-18  Paul Eggert  <eggert@twinsun.com>
131485         See the big note in ../ChangeLog.
131486         * lib/human.c (suffixes): Prefer K to k for 1024.
131487         (generate_suffix_backwards): New function.
131488         (human_readable_inexact): Use it.
131489         * lib/xstrtol.c (__xstrtol): If there is no number but there
131490         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
131491         Accept 'K' as well as 'k'.
131493 2001-12-15  Jim Meyering  <meyering@lucent.com>
131495         * lib/regex.h (__restrict_arr): Update from libc.
131497         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
131498         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
131499         (STREQ): Define.
131501 2001-12-14  Jim Meyering  <meyering@lucent.com>
131503         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
131504         Suggestion from Bruno Haible.
131506 2001-12-10  Jim Meyering  <meyering@lucent.com>
131508         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
131509         xrealloc, Instead, include "xalloc.h".
131510         (initbuffer): Don't cast xmalloc return value to char*.
131511         (readline): Reword comment.
131512         Don't cast xrealloc return value to char*
131513         Return NULL, not 0.
131515 2001-12-09  Jim Meyering  <meyering@lucent.com>
131517         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
131518         about `signed and unsigned type in conditional expression'.
131519         * lib/posixtm.c (posix_time_parse): Likewise.
131521         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
131523         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
131524         to avoid a pedantic warning.
131526         * lib/getstr.c: Don't include assert.h.
131527         (getstr): Remove warning-evoking assertions.
131528         Return -1 if offset parameter is out of bounds.
131529         Change the type of a local from int to size_t.
131531         * lib/strftime.c (my_strftime_localtime_r): Include this function
131532         definition in the `#if ! HAVE_TM_GMTOFF' block.
131534         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
131535         Include xalloc.h instead.
131537 2001-12-02  Jim Meyering  <meyering@lucent.com>
131539         * lib/tempname.c: Don't declare getenv, thus reverting the change of
131540         2001-11-18.  It's no longer necessary, now that stdlib.h is always
131541         included.
131543         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
131544         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
131546 2001-11-30  Akim Demaille  <akim@epita.fr>
131548         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
131549         before being defined.
131551 2001-11-27  Paul Eggert  <eggert@twinsun.com>
131553         * lib/quotearg.h (quotearg_n, quotearg_n_style):
131554         First arg is int, not unsigned.
131555         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
131556         (SIZE_MAX, UINT_MAX): New macros.
131557         (quotearg_n_options): Abort if N is negative.
131558         Avoid overflow check on hosts where size_t is 64 bits and int
131559         is 32 bits, as overflow is impossible there.
131560         Fix off-by-one typo that caused unnecessary reallocation.
131562 2001-11-27  Jim Meyering  <meyering@lucent.com>
131564         * lib/tempname.c: Merge with version from libc.
131565         * lib/regex.c: Likewise.
131567         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
131568         systems for which STDC_HEADERS is 0, it was not included, resulting in
131569         a warning about an integer-to-pointer conversion problem with getenv.
131570         Reported by Volker Borchert.
131572 2001-11-26  Jim Meyering  <meyering@lucent.com>
131574         * lib/gtod.h: Remove file.
131575         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
131576         * lib/gettimeofday.c: Don't include gtod.h.
131577         (GTOD_init): Remove function.
131578         (rpl_gettimeofday): Do its job here instead, rather than aborting.
131579         Suggestion from Volker Borchert.
131581 2001-11-23  Jim Meyering  <meyering@lucent.com>
131583         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
131584         it.
131585         * lib/hash.c (struct hash_table): Define it here instead.
131587 2001-11-22  Jim Meyering  <meyering@lucent.com>
131589         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
131591 2001-11-20  Jim Meyering  <meyering@lucent.com>
131593         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
131594         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
131596 2001-11-19  Jim Meyering  <meyering@lucent.com>
131598         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
131599         directory.  Use "conftestXXXXXX" as the template.
131600         Suggestion from Paul Eggert.
131602         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
131603         immediately, so the test doesn't mistakenly hit the max-open-files
131604         limit.
131606 2001-11-18  Paul Eggert  <eggert@twinsun.com>
131608         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
131609         (TEMPORARIES): New macro.
131610         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
131611         removes an artificial limitation (e.g. HP-UX 10.20, where
131612         TMP_MAX is 17576).
131614 2001-11-18  Jim Meyering  <meyering@lucent.com>
131616         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
131618 2001-11-18  Jim Meyering  <meyering@lucent.com>
131620         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
131621         on SunOS 4.
131623         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
131624         files will be created before anything else.
131626 2001-11-17  Paul Eggert  <eggert@twinsun.com>
131628         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
131629         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
131631 2001-11-17  Jim Meyering  <meyering@lucent.com>
131633         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
131634         Prompted by a report from Bob Proulx.
131636         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
131637         Instead, require UTILS_FUNC_MKSTEMP.
131639 2001-11-17  Jim Meyering  <meyering@lucent.com>
131641         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
131642         Now, that's done as part of AC_FUNC_STRTOD.
131644 2001-11-17  Jim Meyering  <meyering@lucent.com>
131646         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
131647         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
131648         rather than group writable.  Patch by Juan F. Codagnone.
131650         * lib/readtokens.c: Remove explicit declarations of xmalloc and
131651         xrealloc, Instead, include "xalloc.h".
131653         * lib/mountlist.c: Include unlocked-io.h after all system headers.
131654         Remove explicit declarations of xmalloc, xrealloc,
131655         and xstrdup.  Instead, include "xalloc.h".
131657         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
131658         unlocked-io.h.
131659         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
131660         Likewise.
131661         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
131663         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
131664         Reported by Padraig Brady.
131666         * lib/mkstemp.c: #undef mkstemp.
131667         Include config.h.
131668         (rpl_mkstemp): Rename from mkstemp.
131669         Protoize.
131671 2001-11-16  Jim Meyering  <meyering@lucent.com>
131673         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
131674         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
131675         determine the amount of total physical memory, use pstat_getstatic.
131676         HPUX-11 doesn't define _SC_PHYS_PAGES.
131677         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
131678         If sysconf couldn't be used to determine the amount of available
131679         physical memory, use both pstat_getstatic and pstat_getdynamic.
131680         Based on a patch from Bob Proulx.
131682 2001-11-10  Jim Meyering  <meyering@lucent.com>
131684         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
131685         (jm_PREREQ): Use it.
131687 2001-11-09  Jim Meyering  <meyering@lucent.com>
131689         * m4/jm-macros.m4: Require autoconf-2.52f.
131690         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
131691         Use these AC_-prefixed names, not the AM_-prefixed ones.
131693         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
131695 2001-11-05  Jim Meyering  <meyering@lucent.com>
131697         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
131699 2001-11-04  Jim Meyering  <meyering@lucent.com>
131701         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
131702         $DEFS.
131704 2001-11-03  Jim Meyering  <meyering@lucent.com>
131706         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
131707         of AC_DEFUN.
131709         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
131710         know the name of the variable in the macro definition.
131712 2001-11-03  Jim Meyering  <meyering@lucent.com>
131714         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
131715         in argmatch_to_argument call.
131717         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
131718         argument.
131720         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
131721         e.g., a fault due to an attempt to free a NULL pointer.
131723 2001-11-01  Jim Meyering  <meyering@lucent.com>
131725         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
131726         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
131728 2001-11-01  Jim Meyering  <meyering@lucent.com>
131730         * lib/dirfd.c, lib/dirfd.h: New files.
131731         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
131733         * lib/hash.c (hash_print) [TESTING]: Clean up.
131735 2001-10-22  Paul Eggert  <eggert@twinsun.com>
131737         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
131738         to avoid a warning if -Wall.
131740 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
131742         * README: New file
131743         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
131744         (per RMS's instructions, this is now the canonical source)
131745         * lgpl/, gpl/: New directories.
131747 2001-10-21  Paul Eggert  <eggert@twinsun.com>
131749         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
131751 2001-10-21  Jim Meyering  <meyering@lucent.com>
131753         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
131754         this code would end up calling gettext even in packages built
131755         with --disable-nls.
131756         * lib/getopt.c (_): Likewise.
131757         * lib/regex.c (_): Likewise.
131759 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131761         * m4/error.m4 (jm_PREREQ_ERROR):
131762         Do not invoke AC_CHECK_FUNCS with strerror_r, as
131763         AC_FUNC_STRERROR_R does that.
131764         Check for strerror declaration.
131766         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
131767         are supposed to have them these days.
131768         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
131769         Merge changes from latest Autoconf CVS.
131770         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
131771         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
131772         POSIX decided to standardize on the int flavor of strerror_r.
131774 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131776         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
131777         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
131778         Use strerror_r that is only a macro, even if it is not a function.
131779         (strerror): Check for HAVE_DECL_STRERROR before declaring.
131780         (private_strerror): Use prototypes, not old-style function definition.
131781         (print_errno_message): New function.
131782         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
131783         char*-flavored one.
131784         (error_tail, error, error_at_line): Use it.
131786 2001-10-11  Jim Meyering  <meyering@lucent.com>
131788         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
131789         and quote_n (1, ... to avoid clobbering a buffer.
131791 2001-10-05  Jim Meyering  <meyering@lucent.com>
131793         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
131794         hash-pjw.h.
131795         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
131796         * lib/hash-pjw.h: New file.
131798 2001-09-30  Jim Meyering  <meyering@lucent.com>
131800         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
131801         `struct fsstat' has the `f_fstypename' member.
131802         Use that to define FS_TYPE, which is now used to make
131803         the getfsstat link test tighter.
131805 2001-09-30  Jim Meyering  <meyering@lucent.com>
131807         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
131808         Include <sys/ucred.h>, for Apple Darwin.
131809         Include sys/mount.h and sys/fs_types.h only if available.
131810         (FS_TYPE): Define.
131811         (read_filesystem_list): Use FS_TYPE.
131813 2001-09-29  Paul Eggert  <eggert@twinsun.com>
131815         * lib/exclude.c (excluded_filename): 0 -> false, since it's
131816         a boolean context.
131818 2001-09-29  Jim Meyering  <meyering@lucent.com>
131820         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131821         [one-argument getmntent function]): Include stdio.h before mntent.h.
131822         SunOS 4.1.x needs it for the declaration of `FILE'.
131823         Patch by Volker Borchert.
131825         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131826         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
131827         sys/fs_types.h, and make the link-test for getfsstat guard #include
131828         directives with appropriate #if HAVE_*_H tests so that we can
131829         detect getfsstat on Apple Darwin1.3.7 systems.
131830         Reported by Nelson Beebe.
131831         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
131833 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131835         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131836         #defines strtoimax.  Also treat the other strto* functions
131837         like strtoimax.
131839         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131840         Check for strtoul and strtoumax,
131841         as those declarations are made even in the signed case.
131842         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
131843         Likewise, for strtol and strtoimax.
131845 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131847         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131848         #defines strtoimax.  Also treat the other strto* functions
131849         like strtoimax.
131851         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
131852         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
131853         (strtoimax, strtoumax): Do not declare if already defined as a macro.
131855 2001-09-26  Jim Meyering  <meyering@lucent.com>
131857         Most macros in unlocked-io.h had the wrong number of arguments.
131858         * lib/gen-uio: New script.
131859         (USE_UNLOCKED_IO): Define to 1 if not already defined.
131860         * lib/unlocked-io.hin: Remove file.
131861         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
131862         rather than trying to embed it here.
131863         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
131864         Reported by Padraig Brady.
131866 2001-09-25  Volker Borchert  <bt@teknon.de>
131868         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
131869         `result'.
131871 2001-09-24  Jim Meyering  <meyering@lucent.com>
131873         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
131875 2001-09-23  Jim Meyering  <meyering@lucent.com>
131877         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
131878         instead of the mere test for existence of mntent.h.  The latter
131879         would get a false-positive on AIX 3.4 systems.
131880         In the outer getmntent if-block, don't die if neither of the getmntent
131881         tests succeeds.  Instead, just fall through and continue with the
131882         remaining tests.
131884 2001-09-23  Jim Meyering  <meyering@lucent.com>
131886         * lib/mountlist.c: Remove useless parentheses in #if directives.
131887         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
131888         the deprecated MOUNTED symbol is no longer defined in mntent.h.
131890 2001-09-22  Jim Meyering  <meyering@lucent.com>
131892         * m4/gettext.m4: New file.  From gettext.
131893         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
131894         * m4/progtest.m4: Likewise
131895         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
131896         * m4/glibc21.m4: Likewise.
131898         * m4/libintl.m4: Remove.  No longer used.
131900 2001-09-22  Jim Meyering  <meyering@lucent.com>
131902         * lib/localcharset.c: Update from latest gettext.
131903         * lib/config.charset: Likewise.
131905 2001-09-20  Jim Meyering  <meyering@lucent.com>
131907         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
131908         strtoimax.
131909         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
131910         strtoumax.
131912 2001-09-20  Jim Meyering  <meyering@lucent.com>
131914         * lib/xstrtol.c (strtoimax): Guard declaration with
131915         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
131916         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
131917         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
131918         (strtoumax): Likewise, for completeness (it wasn't necessary).
131920 2001-09-17  Paul Eggert  <eggert@twinsun.com>
131922         * lib/strtoimax.c (HAVE_LONG_LONG):
131923         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
131924         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
131925         to work around bug in IBM C compiler.
131927 2001-09-17  Jim Meyering  <meyering@lucent.com>
131929         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
131930         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
131931         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
131932         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
131933         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
131934         whenever the right hand side need not be expanded by the shell.
131936 2001-09-16  Paul Eggert  <eggert@twinsun.com>
131938         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
131939         library.  It's not correct, as some older glibcs are buggy.
131940         fnmatch wasn't fixed until glibc 2.2.
131942         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
131943         special shell magic here.
131945 2001-09-16  Jim Meyering  <meyering@lucent.com>
131947         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
131948         * m4/jm-macros.m4: Require it.
131950 2001-09-16  Jim Meyering  <meyering@lucent.com>
131952         * lib/mkdir.c: New file.
131954 2001-09-15  Jim Meyering  <meyering@lucent.com>
131956         * m4/jm-macros.m4: Check for help2man.
131958 2001-09-11  Jim Meyering  <meyering@lucent.com>
131960         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
131961         The body, by Paul Eggert, was moved here from configure.in.
131962         * m4/jm-macros.m4: Require UTILS_HOST_OS.
131964 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131966         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
131967         (jm_PREREQ): Use it.
131969 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131971         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
131972         Use ssize_t, not int, to store result of readlink.
131973         Check for ssize_t overflow as well as size_t overflow,
131974         as POSIX says the result of readlink is implementation-defined
131975         when ssize_t overflows.
131976         Remove unnecessary cast to char*.
131977         Use free+malloc instead of realloc, as the storage doesn't need
131978         to be preserved and it's clearer and can be more efficient that way.
131979         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
131980         * lib/xreadlink.h (xreadlink): Update prototype.
131982 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131984         * lib/xgetcwd.c: Revert some of the previous change; intead,
131985         fix the HAVE_GETCWD_NULL code to behave more like the
131986         !HAVE_GETCWD_NULL code used to.
131988         Include "xalloc.h".
131989         (xgetcwd): Do not return NULL when memory is exhausted; instead,
131990         invoke xalloc_die.
131992 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131994         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
131995         sys/param.h, as pathmax.h includes them.
131997 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131999         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
132000         (jm_PREREQ_XGETCWD): New macro.
132002         * m4/getcwd.m4: New file.
132004 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132006         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
132007         like the HAVE_GETCWD_NULL code.
132008         Include pathmax.h if not HAVE_GETCWD.
132009         Do not include xalloc.h.
132010         (INITIAL_BUFFER_SIZE): New symbol.
132011         Do not use xmalloc / xrealloc, since the caller is responsible for
132012         handling errors.  Preserve errno around `free' during failure.
132013         Do not overrun buffer when using getwd.
132015 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132017         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
132018         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
132019         getcwd (NULL, 0).
132021 2001-09-03  Paul Eggert  <eggert@twinsun.com>
132023         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
132024         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
132025         spotted by Jim Meyering.
132027 2001-09-03  Jim Meyering  <meyering@lucent.com>
132029         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
132030         failure.
132032 2001-09-02  Jim Meyering  <meyering@lucent.com>
132034         * lib/error.c: Update from GNU libc.
132036 2001-09-01  Jim Meyering  <meyering@lucent.com>
132038         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
132039         Used by df.
132041 2001-09-01  Jim Meyering  <meyering@lucent.com>
132043         * lib/xreadlink.c: New file.
132044         * lib/xreadlink.h: New file.
132045         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
132046         xreadlink.h.
132048         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
132049         doesn't conflict with sparc Solaris 7's definition in
132050         /usr/include/sys/int_types.h.
132052         * lib/exclude.c: Use `""', not `<>' to #include non-system header
132053         files.
132054         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
132055         and strncasecmp as r-values.  Unixware didn't have declarations.
132057 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132059         * lib/xstrtol.h: Add copyright notice.
132060         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
132061         LONGINT_INVALID_SUFFIX_CHAR.
132063 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132065         * lib/xstrtol.c (strtoimax): New decl.
132067 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132069         * lib/xgetcwd.c: Don't include pathmax.h.
132070         Include stdlib.h and unistd.h if available.
132071         Include xalloc.h.
132072         (xmalloc, xstrdup, free): Remove decls.
132073         (xgetcwd): Don't assume sizes fit in unsigned.
132074         Check for overflow when computing sizes.
132075         Simplify reallocation code.
132077 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132079         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
132080         a directory's st_size can have an arbitrary value, so the old
132081         usage could waste an arbitrary amount of memory.  All uses
132082         changed.
132083         * lib/savedir.h: Update prototype.
132085 2001-08-31  Paul Eggert  <eggert@twinsun.com>
132087         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
132089         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
132090         old strtoimax.c.
132092         Also, make the following further changes to make this file's
132093         configuration more similar to that of strtol.c:
132094         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
132095         (strtoumax, uintmax_t, strtoull, strtol): Remove.
132096         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
132097         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
132098         changed to signed values.
132100         And make the following changes as well:
132101         Fix copyright notice, as 1999 was missing.
132102         (verify): New macro.
132103         (strtoimax): Check sizes at compile-time, not run-time.
132104         Prefer strtol to strtoll if both work.
132105         (main): Remove; it was not that useful and was a pain to maintain.
132107         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
132109 2001-08-31  Jim Meyering  <meyering@lucent.com>
132111         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
132112         Use an initial, malloc'd, buffer of length 128 rather than
132113         a statically allocated one of length 1024.
132115 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132117         Simplify code, partly by assuming autoconf 2.52 semantics.
132119         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
132121         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
132122         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
132123         All uses removed.
132124         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
132125         Move AC_REQUIRE to next-to-top level, to avoid confusion.
132126         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
132127         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
132128         jm_AC_HEADER_INTTYPES_H.
132129         * m4/jm-macros.m4 (jm_MACROS): Likewise.
132131         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
132133         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
132134         Quote first arg of AC_DEFUN.
132135         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
132136         since they are needed to parse the include file even if we need
132137         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
132138         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
132139         but with opposite signedness.
132141 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132143         Merge 'exclude' changes from tar 1.13.22.
132144         This fixes one or two unlikely storage allocation overflow bugs,
132145         but doesn't change user-visible behavior otherwise.
132147 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132149         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
132150         (jm_PREREQ_EXCLUDE): New macro.
132152 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132154         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
132155         tm to be declared.
132157 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132159         * lib/hash.c: Remove '2001' from copyright notice.
132161 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132163         * lib/full-write.h: New file.
132164         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
132165         * lib/full-write.c: Correct credits, as cccp.c no longer
132166         exists and anyway it was so heavily changed from the old cccp
132167         code as to be unrecognizable.  Include full-write.h.
132168         (full_write): Return size_t, with short writes meaning failure.
132169         All callers changed.  This fixes a bug with large buffers
132170         on 64-bit hosts.
132171         * lib/utime.c: Include full-write.h.
132173 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132175         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
132176         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
132177         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
132178         Include if available.
132179         (<xalloc.h>): Include
132180         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
132181         (verify): New macro.  Use it to verify that EXCLUDE macros do not
132182         collide with FNM macros.
132183         (struct patopts): New struct.
132184         (struct exclude): Use it, as exclude patterns now come with options.
132185         (new_exclude): Support above changes.
132186         (new_exclude, add_exclude_file):
132187         Initial size must now be a power of two to simplify overflow checking.
132188         (free_exclude, fnmatch_no_wildcards): New function.
132189         (excluded_filename): No longer requires options arg, as the options
132190         are determined by add_exclude.  Now returns bool, not int.
132191         (excluded_filename, add_exclude):
132192         Add support for the fancy new exclusion options.
132193         (add_exclude, add_exclude_file): Now takes int options arg.
132194         Check for arithmetic overflow when computing sizes.
132195         (add_exclude_file): xrealloc might modify errno, so don't
132196         realloc until after errno might be used.
132198         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
132199         New macros.
132200         (free_exclude): New decl.
132201         (add_exclude, add_exclude_file): Now takes int options arg.
132202         (excluded_filename): No longer requires options arg, as the options
132203         are determined by add_exclude.  Now returns bool, not int.
132205 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132207         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
132209 2001-08-27  Jim Meyering  <meyering@lucent.com>
132211         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
132213         * lib/version-etc.c (N_): Remove definition.
132214         Revert most of last change.
132215         Instead, simply don't mark the `Copyright...' string for translation.
132216         Based on advice from Paul Eggert.
132218         * lib/strtoxmax.c: Tweak comment.
132220 2001-08-26  Jim Meyering  <meyering@lucent.com>
132222         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
132224         * m4/xstrtoimax.m4: New file.
132225         * m4/xstrtoumax.m4: Add comments explaining why we
132226         AC_REPLACE_FUNCS(strtol).
132228 2001-08-26  Jim Meyering  <meyering@lucent.com>
132230         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
132231         of copyright with `%s' so translators don't get an untranslated
132232         message in 2002.
132233         (COPYRIGHT_YEAR): Define.
132234         (version_etc): Use fprintf rather than fputs.
132235         Suggestion from Ulrich Drepper.
132237         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
132239         * lib/strtoll.c: New file, from GNU libc.
132240         * lib/xstrtoimax.c: New file.
132242         * lib/xstrtol.h: Add xstrtoimax.
132243         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
132244         * lib/strtoimax.c: New file.  Likewise, but first define
132245         STRTOUXMAX_SIGNED.
132247         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
132248         ...
132249         * lib/strtoxmax.c: ... then renamed to this.
132251 2001-08-18  Paul Eggert  <eggert@twinsun.com>
132253         * m4/inttypes.m4: Add AC_PREREQ(2.13).
132254         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
132255         (jm_AC_TYPE_INTMAX_T): New macro.
132256         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
132258         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
132260         * m4/longlong.m4: Renamed from ulonglong.m4.
132261         * m4/inttypes.m4: Renamed from inttypes_h.m4.
132262         * m4/uintmax_t.m4: Removed.
132264 2001-08-13  Paul Eggert  <eggert@twinsun.com>
132266         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
132267         Port to Solaris 8, where 'sed' requires a space after the 'r'
132268         command, and where sh dislikes "$/".  Clean up the spacing a bit.
132269         Redirect output to $tmp just once.
132271 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
132273         * lib/addext.c (<errno.h>): Include.
132274         (errno): Declare if not defined.
132275         (addext): Work correctly when pathconf returns -1 and leaves
132276         errno alone because there is no limit.  Also, work even if
132277         pathconf returns a value greater than SIZE_MAX.
132279 2001-08-12  Jim Meyering  <meyering@lucent.com>
132281         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
132282         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
132283         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
132284         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
132285         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
132286         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
132287         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
132288         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
132289         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
132290         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
132291         utime.m4, utimes.m4, xstrtoumax.m4:
132292         Quote the first argument in each use of AC_DEFUN.
132294 2001-08-12  Jim Meyering  <meyering@lucent.com>
132296         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
132297         Simply `return getcwd (NULL, 0);'.
132298         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
132299         Use 1300 as initial value for length, not PATH_MAX.
132301         * lib/pathmax.h: Clean up cpp syntax.
132303 2001-08-12  Jim Meyering  <meyering@lucent.com>
132305         * lib/gettimeofday.c: New file.
132306         * lib/gtod.h: New file.
132307         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
132309 2001-08-05  Jim Meyering  <meyering@lucent.com>
132311         * m4/jm-macros.m4: Require autoconf-2.52.
132313 2001-08-04  Jim Meyering  <meyering@lucent.com>
132315         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
132316         stmt, to get in sync with glibc.
132318 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132320         The following changes are from gettext 0.10.39 as maintained by
132321         Bruno Haible.
132323         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
132324         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
132325         with inverted sense.  All uses changed.
132327         * lib/mbswidth.c: Don't include <limits.h>.
132328         Include <stdlib.h> and <string.h> unconditionally.
132329         (iswcntrl, mbsinit, ISCNTRL): New macros.
132330         (mbsnwidth): Use K&R style function declarations.
132331         Don't bother checking for MB_LEN_MAX == 1, since the compiler
132332         can optimize it when MB_CUR_MAX == 1.
132333         The width of control characters is zero, not 1.
132335 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132337         The following changes are from gettext 0.10.39 as maintained by
132338         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
132340         * m4/codeset.m4: Upgrade to serial AM1.
132341         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
132342         all uses changed.  Quote first arg of AC_DEFUN.
132343         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
132345         * m4/iconv.m4: Upgrade to serial AM2.
132346         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
132347         Add --with-libconv-prefix.
132348         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
132349         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
132350         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
132351         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
132352         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
132354         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
132355         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
132356         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
132357         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
132358         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
132359         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
132360         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
132361         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
132362         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
132364         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
132365         string.h any more.
132367         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
132368         not the default value.
132370         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
132371         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
132372         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
132373         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
132374         Also check for iswcntrl, used for wcwidth fallback.
132375         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
132376         to Autoconf 2.13.
132378 2001-08-03  Jim Meyering  <meyering@lucent.com>
132380         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
132381         as it was in the original.  Reported by Paul Eggert.
132383 2001-07-16  Jim Meyering  <meyering@lucent.com>
132385         * m4/gettimeofday.m4: New file.
132386         Prompted by a report from Bernhard Baehr.
132388 2001-07-15  Jim Meyering  <meyering@lucent.com>
132390         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
132391         stuff. Now it's in ../Makefile.cfg.
132393 2001-07-15  Jim Meyering  <meyering@lucent.com>
132395         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
132396         (BUILT_SOURCES): Add unlocked-io.h.
132397         (io_functions): Define.
132398         (unlocked-io.h): New rule.
132399         (DISTCLEANFILES): Add unlocked-io.h.
132400         (all-local): Depend on unlocked-io.h, to ensure it is created.
132402         * lib/unlocked-io.hin: New file
132404         * lib/regex.c: Update from glibc.
132406 2001-07-05  Jim Meyering  <meyering@lucent.com>
132408         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
132409         recommendation.
132410         (libfetish_a_SOURCES): Put all .h files here instead.
132411         Remove a thus-exposed (better checks in automake) duplicate and
132412         two unnecessary .h files.
132414 2001-07-04  Jim Meyering  <meyering@lucent.com>
132416         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
132417         that generates jm-glibc-io.m4 so that it doesn't trigger any make
132418         distcheck failure.
132420 2001-07-02  Jim Meyering  <meyering@lucent.com>
132422         The following changes were prompted by suggestions from Bruno Haible.
132424         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
132425         is now generated.
132426         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
132427         definition of EXTRA_DIST.
132428         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
132429         ensure that the generated file is created/updated whenever the list
132430         of $(unlocked_functions) is changed.
132431         (jm-glibc-io.m4): New rule.
132432         (unlocked-io.h): New rule -- currently unused.
132434 2001-06-24  Jim Meyering  <meyering@lucent.com>
132436         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
132437         unmatched right bracket, rather than kludging it with an extra,
132438         falsely-matching quote in a comment.  Patch by Akim Demaille.
132440 2001-06-11  Jim Meyering  <meyering@lucent.com>
132442         * lib/regex.c: Update from GNU libc.
132444 2001-05-27  Jim Meyering  <meyering@lucent.com>
132446         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
132447         Check for ut_type in struct utmp.
132449 2001-05-27  Jim Meyering  <meyering@lucent.com>
132451         * lib/readutmp.h (UT_TYPE): Define.
132453 2001-05-24  Jim Meyering  <meyering@lucent.com>
132455         * lib/argmatch.c: Include "quote.h".
132456         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
132457         quote function.  Reported by Göran Uddeborg.
132459 2001-05-22  Jim Meyering  <meyering@lucent.com>
132461         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
132462         now that we use the package-supplied version unconditionally.
132463         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
132465 2001-05-21  Jim Meyering  <meyering@lucent.com>
132467         * m4/regex.m4: Change a couple backticks to single quotes to avoid
132468         shell syntax errors.
132470 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132472         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
132474 2001-05-20  Paul Eggert  <eggert@twinsun.com>
132476         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
132477         Don't bother to check library strftime, since
132478         we'll be using our own my_strftime function anyway.
132479         Define my_strftime instead of strftime.
132481 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
132483         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
132484         which is not yet declared.
132486 2001-05-15  Jim Meyering  <meyering@lucent.com>
132488         * m4/regex.m4: Use proper quoting so brackets appear in the test
132489         program.
132490         Reported by, and with help from, Bruno Haible.
132492 2001-05-13  Jim Meyering  <meyering@lucent.com>
132494         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
132495         undefined.
132497 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132499         dirname code cleanup.  base_name now behaves more compatibly
132500         with POSIX basename when given file names that have trailing
132501         slashes, and similarly for dir_name.  Add new primitives
132502         base_len and dir_len.  Put the directory-name-related decls
132503         into dirname.h.
132505         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
132506         * lib/backupfile.c (base_name): Likewise.
132507         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
132508         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
132509         * lib/makepath.c (strip_trailing_slashes): Likewise.
132510         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
132511         ISSLASH): Likewise.
132512         * lib/rename.c (strip_trailing_slashes): Likewise.
132513         * lib/same.c (base_name): Likewise.
132514         * lib/stripslash.c (ISSLASH): Likewise.
132516         * lib/addext.c: Include <dirname.h> after size_t is defined.
132517         * lib/backupfile.c: Likewise.
132519         * lib/addext.c (addext): Use base_len to trim redundant
132520         trailing slashes instead of doing it ourselves.
132521         But do not trim the last slash if it is not redundant.
132523         * lib/backupfile.c (find_backup_file_name,
132524         max_backup_version): Use base_len instead of rolling it ourselves.
132525         Handle the case of "" and (on DOS) "C:" correctly.
132527         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
132528         needed. Include <string.h>, <dirname.h>.
132529         (base_name): Allow file names ending in slashes, other than names
132530         that are all slashes.  In this case, return the basename followed
132531         by the slashes.  This is more general, and can be used in places
132532         where the original base_name purposely had an assertion failure.
132533         (base_len): New function.
132535         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
132536         Do not include <assert.h>; no longer needed.
132537         Include xalloc.h.
132538         (memrchr): Remove decl.
132539         (dir_name_r): Remove.
132540         (dir_len): Renamed from dirlen.  All callers changed.
132541         Rewrite in terms of base_name, for simplicity and consistency.
132542         (dir_name): Never return NULL.  All callers changed.
132543         Do not include <stdlib.h> in test program; no longer needed.
132544         return 0; is fine for test program.
132546         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
132547         New macros.
132548         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
132550         * lib/path-concat.c (path_concat): Use base_len to compute
132551         base length, not strlen; this means we cannot rely on memcpy
132552         to null-terminate.
132554         * lib/same.c (STREQ): Remove.
132555         (same_name): Handle the case where the basename ends in trailing '/'.
132557         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
132558         a slash was stripped.  Do not strip the last slash after a
132559         file system prefix.
132561 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132563         * lib/Makefile.am (libfetish_a_SOURCES):
132564         Add strftime.c, since we now compile it on all hosts.
132566         * lib/strftime.c (my_strftime):
132567         Define to nstrftime if emacs, but only if my_strftime is not defined.
132568         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
132569         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
132570         Add one more extra argument: a nanoseconds value.
132571         All uses changed.
132572         (ns): New macro.
132573         (my_strftime function): Add %N format.
132574         (emacs_strftimeu): Renamed from emacs_strftime,
132575         with extra ut argument.
132577 2001-05-09  Paul Eggert  <eggert@twinsun.com>
132579         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
132581 2001-04-21  Jim Meyering  <meyering@lucent.com>
132583         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
132584         doesn't interfere.
132586 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132588         * m4/ftruncate.m4: Check for chsize.
132589         Link with ftruncate.o unconditionally if ftruncate is missing.
132590         This was required when cross-compiling to i586-mingw32msvc.
132592 2001-04-08  Jim Meyering  <meyering@lucent.com>
132594         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
132595         recomputed; that's necessary when the offset spans a DST transition.
132596         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
132598 2001-04-02  Jim Meyering  <meyering@lucent.com>
132600         * lib/regex.h, regex.c: Update from GNU libc.
132602 2001-03-24  Jim Meyering  <meyering@lucent.com>
132604         * m4/jm-macros.m4: Require autoconf-2.49d.
132606 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
132608         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
132610 2001-03-19  Paul Eggert  <eggert@twinsun.com>
132612         * lib/version-etc.c (version_etc_copyright): Update to 2001.
132614 2001-03-17  Jim Meyering  <meyering@lucent.com>
132616         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
132617         now that the version in autoconf is equivalent.
132618         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
132620         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
132621         Suggestion from Akim Demaille.
132623         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
132624         (jm_PREREQ_TEMPNAME): New function.
132626 2001-03-16  Paul Eggert  <eggert@twinsun.com>
132628         * lib/tempname.c (uint64_t): Define to uintmax_t if
132629         not defined, and if UINT64_MAX is not defined.
132630         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
132631         Reported by John David Anglin.
132633 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
132635         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
132636         resolve alias if codeset is empty.
132637         * lib/config.charset (BeOS): Use wildcard syntax.
132639 2001-03-13  Jim Meyering  <meyering@lucent.com>
132641         * lib/path-concat.c (path_concat)
132642         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
132643         concatenating e.g., `C:' and `foo'.
132644         From Bruno Haible.
132646 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132648         * lib/localcharset.c (locale_charset): Don't use
132649         setlocale(LC_CTYPE,NULL). Don't return NULL.
132650         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
132652 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132654         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
132655         support for DOS/DJGPP.
132657 2001-03-01  Paul Eggert  <eggert@twinsun.com>
132659         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
132660         lacks mkstemp.  Compile our own tempname.c if we compile our own
132661         mkstemp.c, as mkstemp relies on tempname.
132663 2001-03-01  Jim Meyering  <meyering@lucent.com>
132665         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
132666         AH_VERBATIM really does output its argument verbatim.
132668 2001-02-28  Paul Eggert  <eggert@twinsun.com>
132670         * lib/Makefile.am (libfetish_a_SOURCES):
132671         Add dup-safer.c, fopen-safer.c.
132672         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
132674         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
132675         * lib/unistd-safer.h: New files.
132677 2001-02-25  Paul Eggert  <eggert@twinsun.com>
132679         The mkstemp replacement is taken from glibc 2.2.2, with some
132680         portability fixes for use outside glibc, as follows:
132682         * lib/tempname.c (struct_stat64): New macro.
132683         (direxists, __gen_tempname): Use it.
132684         This avoids a portability problem with Solaris 8.
132686         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
132687         (<stddef.h>, <stdint.h>, <string.h>):
132688         Include only if STDC_HEADERS || _LIBC.
132689         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
132690         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
132691         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
132692         (__set_errno): Define this macro if <errno.h> doesn't.
132693         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
132694         Define these macros if <stdio.h> doesn't.
132695         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
132696         Define these macros if <sys/stat.h>
132697         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
132698         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
132699         __xstat64): Define if not _LIBC.
132700         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
132701         (__gen_tempname): Invoke gettimeofday only if
132702         HAVE_GETTIMEOFDAY || _LIBC;
132703         otherwise, fall back on plain "time".
132704         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
132706         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
132708         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
132710 2001-02-18  Paul Eggert  <eggert@twinsun.com>
132712         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
132714 2001-02-17  Paul Eggert  <eggert@twinsun.com>
132716         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
132717         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
132718         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
132719         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
132721 2001-02-17  Paul Eggert  <eggert@twinsun.com>
132723         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
132724         Remove workaround macros for hosts that have mbrtowc but not
132725         mbstate_t, as we now insist on proper declarations for both
132726         before using mbrtowc.
132728 2001-02-17  Jim Meyering  <meyering@lucent.com>
132730         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
132731         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
132732         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
132733         UnixWare 7.1.1.
132735         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
132736         rather than AC_CACHE_VAL.
132738 2001-02-17  Jim Meyering  <meyering@lucent.com>
132740         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
132741         around included file name.
132743         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
132745         * lib/strftime.c: Update from GNU libc (the only changes were to
132746         comments).
132748 2001-02-17  Jim Meyering  <meyering@lucent.com>
132750         * lib/regex.c: Update from libc.
132752 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
132754         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
132755         clash.
132757 2001-02-16  Paul Eggert  <eggert@twinsun.com>
132759         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
132760         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
132761         Reported by Mark Hounschell via Paul Eggert.
132763 2001-02-07  Jim Meyering  <meyering@lucent.com>
132765         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
132767 2001-02-05  Jim Meyering  <meyering@lucent.com>
132769         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
132770         it includes the patch required for `large file' support with at least
132771         HP-UX's 10.20 /bin/cc.
132773 2001-02-03  Jim Meyering  <meyering@lucent.com>
132775         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
132776         AS_IF, now that it works once again (mysteriously).
132777         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132779 2001-01-30  Jim Meyering  <meyering@lucent.com>
132781         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
132782         * m4/chown.m4: Rename conftestchown to conftest.chown.
132783         * m4/rename.m4: s/conftestdir/conftest.d1/ and
132784         s/conftestdir2/conftest.d2/.
132785         * m4/utimes.m4: s/conftestdata/conftest.data/
132786         Inspired by Pavel Roskin's change in autoconf.
132788 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
132790         * lib/config.charset: Update for FreeBSD 4.2.
132792 2001-01-27  Jim Meyering  <meyering@lucent.com>
132794         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
132795         a use of AS_IF.
132796         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132798 2001-01-26  Jim Meyering  <meyering@lucent.com>
132800         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
132801         quotearg.c includes it.
132803 2001-01-26  Jim Meyering  <meyering@lucent.com>
132805         * lib/quotearg.c: Include stddef.h.
132806         * lib/quote.c: Include stddef.h.
132807         Reported by Axel Kittenberger.
132809         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
132810         line in double quotes so that it evokes a better diagnostic.
132811         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
132812         Reported by Axel Kittenberger.
132814 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
132816         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
132817         as if it was a `charset'.
132819 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132821         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
132822         has const.
132824 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132826         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
132827         to avoid a warning.  Add back 'const' to inptr.
132829 2001-01-20  Jim Meyering  <meyering@lucent.com>
132831         Be sure that headers are checked before used in code compiled
132832         for the type checks.
132833         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
132834         In place of that, invoke jm_CHECK_ALL_TYPES.
132835         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
132836         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
132837         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
132838         The check for ssize_t was mistakenly run before the test for unistd.h.
132840         The configure-time check for stdbool.h was missing.
132841         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
132842         (jm_PREREQ_HASH): New function.
132844 2001-01-17  Jim Meyering  <meyering@lucent.com>
132846         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
132847         for autoconf-2.49c.
132848         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
132850 2001-01-16  Jim Meyering  <meyering@lucent.com>
132852         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
132853         From Bruno Haible.
132855 2001-01-14  Jim Meyering  <meyering@lucent.com>
132857         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
132858         foo and bar.  Create conftestdir/ in the script, not in the C code.
132859         Remove directories in the script, not in the C code.
132860         Remove conftestdir{,2} before trying to create the directory.
132861         Make the entire configure script fail if the mkdir fails.
132863 2001-01-14  Jim Meyering  <meyering@lucent.com>
132865         * lib/rename.c: New file.  From Volker Borchert.
132866         Include stdlib.h, string.h or strings.h, and xalloc.h.
132867         Use strip_trailing_slashes rather than open-coding it.
132869 2001-01-03  Paul Eggert  <eggert@twinsun.com>
132871         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
132873 2001-01-03  Jim Meyering  <meyering@lucent.com>
132875         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
132876         of local `inptr' to avoid warning with some system declarations of
132877         iconv.
132879 2001-01-02  Volker Borchert  <bt@teknon.de>
132881         * m4/rename.m4: New file.
132882         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
132884 2001-01-01  Jim Meyering  <meyering@lucent.com>
132886         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
132887         even on systems with utmpx.h.  It's necessary for the declaration of
132888         utmp's ut_user member.  Reported by Andreas Jaeger.
132890         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
132891         available. They are required for the declarations of getgrgid and
132892         getpwuid resp.
132893         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
132894         Reported by Andreas Jaeger.
132896 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
132898         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
132899         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
132900         so `make install' also works in VPATH builds.
132902 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
132904         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
132905         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
132906         can be used in subdirectories.
132908 2000-12-29  Paul Eggert  <eggert@twinsun.com>
132910         * lib/modechange.c: Do not assume that mode_t uses the
132911         traditional octal encoding.  E.g. "chmod 1 FOO" should set
132912         the other-execute bit of FOO even if S_IXOTH != 1.
132914         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
132915         WOTH, XOTH, ALLM): New macros.
132916         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
132917          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
132918         Use them.
132919         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
132920         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
132921         (mode_compile):
132922         No need to use uintmax_t; unsigned long is long enough.
132923         Don't bother to get suffix since we don't use it.
132925 2000-12-26  Jim Meyering  <meyering@lucent.com>
132927         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
132928         better with autoheader.
132930 2000-12-24  Jim Meyering  <meyering@lucent.com>
132932         * lib/hash.c (is_prime): Return explicit boolean values.
132933         (hash_get_first): Return NULL to appease Irix5.6's 89.
132934         Reported by Nelson Beebe.
132936 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
132938         * lib/localcharset.c (locale_charset): Add support for Win32.
132940 2000-12-18  Paul Eggert  <eggert@twinsun.com>
132942         * lib/physmem.h, lib/physmem.c: New files.
132944         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
132945         (noinst_HEADERS): Add physmem.h.
132947         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
132948         't' for compatibility with Solaris 8 sort.
132950 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
132952         * lib/config.charset: Add support for BeOS.
132954 2000-12-17  Jim Meyering  <meyering@lucent.com>
132956         * m4/dos.m4 (jm_AC_DOS): New file and macro.
132957         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
132959 2000-12-16  Jim Meyering  <meyering@lucent.com>
132961         This bug had a serious impact on chown: `chown N:M FILE' (for integer
132962         N and M) would have treated it like `chown N:N FILE'.
132964         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
132966 2000-12-16  Jim Meyering  <meyering@lucent.com>
132968         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
132969         SHELLS_FILE to a file name that's useful on djgpp systems.
132970         Include stdlib.h.
132971         (ADDITIONAL_DEFAULT_SHELLS): Define.
132972         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
132973         Based mostly on a patch from Prashant TR.
132975 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
132977         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
132978         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
132979         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
132981 2000-12-08  Andreas Schwab  <schwab@suse.de>
132983         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
132984         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
132986 2000-12-07  Jim Meyering  <meyering@lucent.com>
132988         * lib/stripslash.c (ISSLASH): Define.
132989         (strip_trailing_slashes): Use ISSLASH rather than comparing against
132990         `/'.
132991         From Prashant TR.
132993         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
132994         (dir_name_r): Declare this function as static.
132995         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
132996         manifest itself on a name containing a mix of slashes and
132997         backslashes.
132998         Make this function work with names starting with a DOS-style
132999         drive letter and colon prefix.
133000         (dir_name): Append `.' if necessary.
133001         Based mostly on patches from Prashant TR and Eli Zaretskii.
133003         * lib/dirname.h (dir_name_r): Remove prototype.
133005 2000-12-06  Paul Eggert  <eggert@twinsun.com>
133007         * m4/off_t-format.m4: Remove this file.
133008         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
133010 2000-12-06  Jim Meyering  <meyering@lucent.com>
133012         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
133013         replacement strtoull, we may well need the replacement strtoul, too.
133014         Check for declarations of strtoul and strtoull.
133015         Check for strtol.  Mainly as a cue to cause automake to include
133016         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
133017         Check for limits.h -- strtol.c needs it.
133019 2000-12-05  Jim Meyering  <meyering@lucent.com>
133021         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
133023 2000-12-04  Jim Meyering  <meyering@lucent.com>
133025         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
133026         Also include memory.h, stdlib.h, unistd.h if appropriate.
133027         Reported by Andreas Jaeger (conflicting declaration of malloc).
133029 2000-12-02  Jim Meyering  <meyering@lucent.com>
133031         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
133032         * m4/jm-macros.m4 (jm_MACROS): require it.
133034 2000-12-02  Jim Meyering  <meyering@lucent.com>
133036         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
133038 2000-12-01  Paul Eggert  <eggert@twinsun.com>
133040         * lib/memrchr.c: Include <config.h> before any system include file.
133042 2000-11-30  Jim Meyering  <meyering@lucent.com>
133044         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
133046 2000-11-30  Jim Meyering  <meyering@lucent.com>
133048         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
133050 2000-11-29  Paul Eggert  <eggert@twinsun.com>
133052         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
133054 2000-11-26  Jim Meyering  <meyering@lucent.com>
133056         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
133058 2000-11-22  Paul Eggert  <eggert@twinsun.com>
133060         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
133061         size of (size_t) -1; it's not portable.
133063 2000-11-17  Jim Meyering  <meyering@lucent.com>
133065         * lib/strstr.c: Update from GNU libc.
133067 2000-11-17  Akim Demaille  <akim@epita.fr>
133069         * lib/obstack.h: Formatting changes.
133070         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
133071         prevent type checking.
133072         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
133073         cast the value to (void *): assigning a `foo *' to a `void *'
133074         variable is valid.
133075         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
133077 2000-11-16  Jim Meyering  <meyering@lucent.com>
133079         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
133081 2000-11-11  Jim Meyering  <meyering@lucent.com>
133083         * lib/error.c: Add a couple #includes, merging from GNU libc version.
133085 2000-11-10  Jim Meyering  <meyering@lucent.com>
133087         * lib/obstack.h: Update from GNU libc.
133088         * lib/obstack.c: Likewise.
133090 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
133092         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
133094 2000-11-06  Paul Eggert  <eggert@twinsun.com>
133096         * lib/getusershell.c (setusershell): Use rewind rather than
133097         fseek/fseeko, to avoid configuration hassles with fseeko.
133098         Don't bother opening SHELLS_FILE if shellstream is NULL;
133099         it's not necessary.
133101 2000-11-05  Jim Meyering  <meyering@lucent.com>
133103         * lib/makepath.h (make_dir): Declare.
133104         * lib/makepath.c (make_dir): Remove `static' attribute.
133105         Tweak a comment.
133107 2000-11-04  Jim Meyering  <meyering@lucent.com>
133109         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
133111 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
133113         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
133114         last one in a bucket, advance to the next bucket.
133116 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
133118         * lib/fnmatch.c: Do not comment out all the code if we are using
133119         the GNU C library, because in some cases we are replacing buggy
133120         code in the GNU C library itself.
133122 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
133124         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
133125         (regex_compile): Catch bogus \(\1\).
133127 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133129         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
133130         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
133131         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
133133 2000-10-30  Paul Eggert  <eggert@twinsun.com>
133135         * lib/error.h, getline.h, modechange.h:
133136         Remove "2000" from Copyright line, as the file hasn't been
133137         changed this year other than in the copyright notice.
133139         * lib/xalloc.h: Add "2000" to Copyright line, as this file
133140         was changed this year.
133142 2000-10-29  Jim Meyering  <meyering@lucent.com>
133144         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
133145         renaming.
133146         * m4/ls-mntd-fs.m4: Likewise
133148 2000-10-29  Jim Meyering  <meyering@lucent.com>
133150         * lib/xstat.in: Fix grammar in comment.
133152 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
133154         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
133155         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
133156         doesn't define __restrict_arr.
133158 2000-10-28  Jim Meyering  <meyering@lucent.com>
133160         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
133161         (jm_PREREQ_MEMCHR): New function.
133163 2000-10-28  Jim Meyering  <meyering@lucent.com>
133165         * lib/memchr.c: Update from libc.
133166         Adjust for portability:
133167         [HAVE_STDLIB_H]: Include stdlib.h.
133168         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
133169         Undef __memchr, too.
133170         [!weak_alias]: Define __memchr to memchr.
133172         * lib/regex.c: Update from libc.
133173         * lib/regex.h: Likewise.
133174         * lib/getopt1.c: Likewise.
133175         * lib/memcmp.c: Likewise.
133177         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
133178         Avoid using fseek, when possible -- it's broken by design.
133179         Patch by Ulrich Drepper.
133181 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
133183         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
133184         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
133185         Giving in to popular pressure to shut up the compiler with casts.
133187 2000-10-26  Jim Meyering  <meyering@lucent.com>
133189         * lib/strftime.c: Update from libc.
133191 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
133193         * regex.c: More `unsigned char' -> `re_char' changes.
133194         Also change several `int' into `re_wchar_t'.
133195         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
133196         (PUSH_FAILURE_POINTER): Don't cast any more.
133197         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
133198         We want GCC to complain, since this piece of code makes
133199         re_match non-reentrant, which *should* be fixed.
133200         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
133201         (EXTEND_BUFFER): Use RETALLOC.
133202         (SET_LIST_BIT): Don't cast.
133203         (re_wchar_t): New type.
133204         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
133205         that those two functions will always properly return.
133206         (IMMEDIATE_QUIT_CHECK): Cast to void.
133207         (analyse_first): Use recursion rather than an explicit stack.
133208         (re_compile_fastmap): Can't fail anymore.
133209         (re_search_2): Don't check re_compile_fastmap for failure.
133210         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
133211         Now also sets the new value (passed in a new argument).
133212         (re_match_2_internal): Use it.
133213         Also, use a new var `reg' of type size_t when looping through regs
133214         rather than reuse the inappropriate `mcnt'.
133216 2000-10-25  Jim Meyering  <meyering@lucent.com>
133218         * lib/obstack.c: Update from libc.
133220 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
133222         * regex.c (regex_compile): Change the way of handling a range from
133223         a char less than 256 to a char not less than 256.
133225 2000-10-24  Andrew Innes  <andrewi@gnu.org>
133227         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
133228         NT-Emacs only.
133229         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
133230         so that re_search functions only quit when callers expect them to.
133232 2000-10-23  Jim Meyering  <meyering@lucent.com>
133234         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
133235         wrong.  That set_locale call must not have any side effects.
133236         From Paul Eggert.
133238 2000-10-22  Jim Meyering  <meyering@lucent.com>
133240         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
133241         [CYCLIC]: Remove now-unused definition.
133243         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
133244         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
133245         Suggestion from Ulrich Drepper.
133247 2000-10-21  Jim Meyering  <meyering@lucent.com>
133249         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
133250         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
133251         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
133253 2000-10-21  Jim Meyering  <meyering@lucent.com>
133255         * lib/dirname.c (memrchr): Declare if necessary.
133256         (dir_name): Remove the restriction that there be no
133257         trailing slashes.  Now, this code skips past them, effectively
133258         ignoring them.
133259         [TEST_DIRNAME] (main): New unit tests.
133261         * lib/memrchr.c: New file from GNU libc.
133262         Undef __memrchr, too.
133263         [!weak_alias]: Define __memrchr to memrchr.
133264         Guard weak_alias use with `#ifdef weak_alias'.
133266 2000-10-21  Jim Meyering  <meyering@lucent.com>
133268         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
133269         (dir_name): Use dir_name_r.
133270         * lib/dirname.h (dir_name_r): Declare it.
133272 2000-10-17  Jim Meyering  <meyering@lucent.com>
133274         * lib/quote.h (PARAMS): Define and use.
133275         Reported by Akim Demaille.
133277         * lib/getopt.c: Update from libc.
133279 2000-10-16  Jim Meyering  <meyering@lucent.com>
133281         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
133282         setlocale.
133283         From Jan Fedak.
133285 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
133287         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
133289 2000-09-25  Jim Meyering  <meyering@lucent.com>
133291         * lib/md5.h (rol): Define (from GnuPG).
133293         * lib/sha.c: Give credit (GnuPG) where due.
133294         (M): Use rol rather than open-coding it.
133295         Add a FIXME comment.
133297 2000-09-21  Jim Meyering  <meyering@lucent.com>
133299         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
133300         Reported by Michael Stone.
133302 2000-09-20  Jim Meyering  <meyering@lucent.com>
133304         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
133305         (noinst_HEADERS): Add sha.h.
133306         Based on code from Scott G. Miller and from GnuPG.
133308 2000-09-18  Jim Meyering  <meyering@lucent.com>
133310         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
133311         LIBS. Otherwise, everyone ends up linking with -lelf for some
133312         configurations.
133313         Reported by Mike Stone.
133315 2000-09-15  Jim Meyering  <meyering@lucent.com>
133317         * lib/regex.c: Update from libc.
133319 2000-09-10  Jim Meyering  <meyering@lucent.com>
133321         * lib/getopt.c (_getopt_internal): Update from glibc.
133323 2000-09-09  Jim Meyering  <meyering@lucent.com>
133325         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
133326         think it should be used as a general replacement for isascii.
133327         * lib/fnmatch.c: Likewise.
133328         * lib/mbswidth.c: Likewise
133329         * lib/regex.c: Likewise.
133331         Don't use atoi.
133332         * lib/userspec.c: Include sys/param.h and limits.h.
133333         Include xstrtol.h.
133334         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
133335         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
133336         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
133337         UID, GID.  Check range.
133339 2000-09-06  Jim Meyering  <meyering@lucent.com>
133341         * lib/getopt.c (_getopt_internal): Update from glibc.
133343 2000-08-30  Jim Meyering  <meyering@lucent.com>
133345         * lib/strftime.c: Merge in changes from GNU libc.
133347 2000-08-26  Jim Meyering  <meyering@lucent.com>
133349         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
133350         * m4/fpending.m4: New file.
133352 2000-08-26  Jim Meyering  <meyering@lucent.com>
133354         * lib/closeout.c: Include "__fpending.h".
133355         (close_stdout_status): Return right away if there's nothing to flush.
133357         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
133358         * lib/__fpending.c: New file.
133359         * lib/__fpending.h: New file.
133361 2000-08-20  Jim Meyering  <meyering@lucent.com>
133363         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
133364         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
133365         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
133367 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
133369         Improve fileutils installation on systems where running
133370         programs (like install) can't be unlinked.
133371         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
133372         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
133374 2000-08-07  Paul Eggert  <eggert@twinsun.com>
133376         Standardize on "memory exhausted" instead of "Memory exhausted"
133377         or "virtual memory exhausted".
133378         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
133379         "virtual memory exhausted".
133380         * lib/same.c (same_name): Invoke xalloc_die instead of printing
133381         our own message.
133382         * lib/userspec.c (parse_user_spec): Likewise.
133383         * lib/bumpalloc.h: comment fix
133384         * lib/same.c, userspec.c: Include xalloc.h.
133386         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
133387         not char *const and pointing to a constant array.
133388         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
133389         (xrealloc): Comment fix.
133391         * lib/userspec.c (parse_user_spec):
133392         Don't translate a message until just before returning,
133393         to avoid unnecessary translation.
133395 2000-08-07  Jim Meyering  <meyering@lucent.com>
133397         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
133398         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
133399         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
133400         getgroups.c, gethostname.c, getopt.h, group-member.c,
133401         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
133402         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
133403         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
133404         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
133405         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
133406         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
133407         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
133408         yesno.c: Back out Copyright date changes for each file with no change
133409         this year.  This eases coordination with other programs using the same
133410         source code modules.  From Paul Eggert.
133412 2000-08-06  Paul Eggert  <eggert@twinsun.com>
133414         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
133415         not char, for compatibility with glibc 2.1.3 strftime.c.
133417 2000-08-03  Greg McGary  <greg@mcgary.org>
133419         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
133420         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
133421         (EXTEND_BUFFER): Use them.
133423 2000-08-01  Jim Meyering  <meyering@lucent.com>
133425         * lib/dirname.c (ISSLASH): Define.
133426         (BACKSLASH_IS_PATH_SEPARATOR): Define.
133427         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
133428         both `\' and `/' may be use as path separators.
133429         Based on a patch from Prashant TR.
133431 2000-07-31  Paul Eggert  <eggert@twinsun.com>
133433         * lib/quotearg.c (quotearg_n_options): Don't make the initial
133434         slot vector a constant, since it might get modified.
133436 2000-07-31  Jim Meyering  <meyering@lucent.com>
133438         * lib/xmalloc.c: Use `virtual memory exhausted', not
133439         `Memory exhausted'.
133440         * lib/obstack.c (print_and_abort): Likewise.
133442 2000-07-30  Paul Eggert  <eggert@twinsun.com>
133444         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
133445         buffer, so that the caller can always quote one small
133446         component of a "memory exhausted" message in slot 0.
133447         From a suggestion by Jim Meyering.
133449 2000-07-30  Jim Meyering  <meyering@lucent.com>
133451         * lib/makepath.c (make_path): Quote the other instance, too.
133453         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
133454         (STATIC_BUF_SIZE): Define.
133455         (quotearg_n_options): Use only statically allocated storage when
133456         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
133457         than STATIC_BUF_SIZE.
133459 2000-07-29  Jim Meyering  <meyering@lucent.com>
133461         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
133462         * lib/dirname.c (dir_name): Likewise.
133464         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
133465         `/'.
133467         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
133468         (dir_name): Assert that there are no trailing slashes.
133470 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
133472         * lib/mbswidth.h (mbswidth): Add a flags argument.
133473         (mbswidth): New declaration.
133474         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
133475         * lib/mbswidth.c (mbswidth): Add a flags argument.
133476         (mbsnwidth): New function.
133478 2000-07-24  Jim Meyering  <meyering@lucent.com>
133480         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
133482 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133484         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
133486 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133488         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
133489         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
133490         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
133491         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
133492         invoke multibyte primitives.
133494 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133496         * lib/quotearg.c:
133497         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
133498         so that mbstate_t is always defined.
133500         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
133501         be 1 in at least one GCC installation, and this configuration
133502         error is likely to be common.  Ignoring MB_LEN_MAX hurts
133503         performance on hosts that have mbrtowc but have only unibyte
133504         locales, but I assume these hosts are rare.
133506 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133508         * lib/mbswidth.c (_XOPEN_SOURCE):
133509         Don't define; this causes problems on Solaris 7.
133510         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
133512 2000-07-23  Jim Meyering  <meyering@lucent.com>
133514         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
133515         too: getgrgid, getpwuid, getuid.
133517 2000-07-23  Jim Meyering  <meyering@lucent.com>
133519         * lib/basename.c (base_name): Add an assertion.
133521 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
133523         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
133524         shadow its mbsinit function.
133526 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133528         * lib/mbswidth.h: New file.
133529         * lib/mbswidth.c: New file.
133530         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
133531         (noinst_HEADERS): Add mbswidth.h.
133533 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133535         * lib/config.charset: Add support for FreeBSD. Improve support for
133536         HP-UX and IRIX 6.
133538 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
133540         * m4/mbswidth.m4: New file.
133541         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
133543 2000-07-15  Jim Meyering  <meyering@lucent.com>
133545         * lib/makepath.c: Include quote.h.
133546         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
133547         corresponding argument in a `quote (...)' call.
133548         Give better diagnostics.
133550         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
133551         (noinst_HEADERS): Add quote.h.
133553         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
133554         from tar's src/misc.c.
133555         * lib/quote.h: New file.  Prototypes for same.
133557 2000-07-14  Paul Eggert  <eggert@twinsun.com>
133559         From a suggestion by Bruno Haible.
133560         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
133561         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
133562         to decide whether to define the BeOS workaround macro;
133563         this adjusts to the change to AC_MBSTATE_T.
133565 2000-07-14  Jim Meyering  <meyering@lucent.com>
133567         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
133568         jm_AC_TYPE_UINTMAX_T.
133570 2000-07-13  Paul Eggert  <eggert@twinsun.com>
133572         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
133574         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
133575         quotearg_buffer_restyled): Add support for
133576         clocale_quoting_style.  Undo previous change to
133577         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
133578         and "{RIGHT QUOTATION MARK}" msgids.
133580 2000-07-10  Paul Eggert  <eggert@twinsun.com>
133582         From a suggestion by Bruno Haible.
133583         * m4/mbstate_t.m4 (AC_MBSTATE_T):
133584         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
133585         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
133586         and mbstate_t, to a single-part test that simply defines mbstate_t.
133587         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
133588         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
133590 2000-07-10  Jim Meyering  <meyering@lucent.com>
133592         * m4/strerror_r.m4: Mirror the correction made in autoconf.
133594         * m4/gnu-source.m4: Output to confdefs.h directly.
133595         Suggestion from Akim Demaille.
133597 2000-07-09  Paul Eggert  <eggert@twinsun.com>
133599         The old behavior of quoting `like this' doesn't look good with
133600         newer, ISO-style fonts.  See:
133601         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
133603         Instead, quote "like this" by default.  Let the translator
133604         tailor the locale-specific quoting behavior by providing
133605         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
133607         * lib/quotearg.c (N_): New macro.
133608         (gettext_default): New function.
133609         (quotearg_buffer_restyled): Use
133610         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
133611         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
133613 2000-07-09  Jim Meyering  <meyering@lucent.com>
133615         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
133616         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
133618         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
133619         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
133621 2000-07-09  Jim Meyering  <meyering@lucent.com>
133623         * lib/Most files: Update copyright dates to include 2000.
133625 2000-07-08  Jim Meyering  <meyering@lucent.com>
133627         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
133628         if not defined.
133629         (xgethostname): Remove now-unnecessary #ifdef.
133630         Move declaration of `err' into loop where it's used.
133632 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133633         and Bruno Haible  <haible@clisp.cons.org>
133635         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
133636         only if the test for an object-type mbstate_t fails.  This
133637         prevents us from mistakenly reporting that mbstate_t is a
133638         system object type after we "#define mbstate_t int" to work
133639         around its lack.
133641 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133642         and Bruno Haible  <haible@clisp.cons.org>
133644         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
133646 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133648         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
133649         to strerror_r.
133650         Include <ctype.h> for use of isalpha.
133652 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133654         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
133655         by allocating a larger buffer. Test the gethostname return value for
133656         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
133657         returns an error and ENAMETOOLONG isn't defined.
133659 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133661         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
133662         dimension.
133664 2000-07-04  Jim Meyering  <meyering@lucent.com>
133666         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
133667         of the deprecated AC_CHECKING.
133669 2000-07-04  Jim Meyering  <meyering@lucent.com>
133671         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
133672         Reported by Bruno Haible.
133674 2000-07-04  Jim Meyering  <meyering@lucent.com>
133676         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
133677         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
133678         lacks mbrtowc.
133680 2000-07-03  Paul Eggert  <eggert@twinsun.com>
133682         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
133683         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
133685 2000-07-03  Paul Eggert  <eggert@twinsun.com>
133686         and Bruno Haible  <haible@clisp.cons.org>
133688         * lib/quotearg.c (mbrtowc):
133689         Assign to *pwc, and return 1 only if result is nonzero.
133690         (iswprint): Use ISPRINT when substituting our own mbrtowc.
133692 2000-07-03  Jim Meyering  <meyering@lucent.com>
133694         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
133696 2000-07-03  Jim Meyering  <meyering@lucent.com>
133698         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
133699         This is necessary to get a definition of e.g., UTMP_FILE on
133700         HP-UX 10.20.
133701         From Bob Proulx.
133703 2000-07-02  Jim Meyering  <meyering@lucent.com>
133705         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
133707         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
133708         AC_LIBOBJ(function_name).
133709         * m4/chown.m4: Likewise.
133710         * m4/fnmatch.m4: Likewise.
133711         * m4/ftruncate.m4: Likewise.
133712         * m4/getgroups.m4: Likewise.
133713         * m4/getline.m4: Likewise.
133714         * m4/group-member.m4: Likewise.
133715         * m4/jm-macros.m4: Likewise.
133716         * m4/lstat.m4: Likewise.
133717         * m4/malloc.m4: Likewise.
133718         * m4/memcmp.m4: Likewise.
133719         * m4/nanosleep.m4: Likewise.
133720         * m4/putenv.m4: Likewise.
133721         * m4/realloc.m4: Likewise.
133722         * m4/regex.m4: Likewise.
133723         * m4/stat.m4: Likewise.
133724         * m4/strftime.m4: Likewise.
133726 2000-07-02  Jim Meyering  <meyering@lucent.com>
133728         * lib/quotearg.c (mbstate_t): Don't define here.
133730 2000-07-02  Jim Meyering  <meyering@lucent.com>
133732         * lib/nanosleep.c (SIGCONT): Define if not already defined.
133734 2000-07-01  Jim Meyering  <meyering@lucent.com>
133736         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
133738 2000-07-01  Jim Meyering  <meyering@lucent.com>
133740         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
133741         problem.
133743 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133745         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
133746         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
133748 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133750         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
133751         per change in ../m4/ls-mntd-fs.m4.
133752         (read_filesystem_list): Ignore symbolic links.
133754 2000-06-29  Jim Meyering  <meyering@lucent.com>
133756         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
133757         for declaration of strcmp.
133759         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
133761         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
133762         Avoid warning by casting result to `char *' to remove `const'.
133764 2000-06-28  Jim Meyering  <meyering@lucent.com>
133766         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
133767         included by quotearg.c, for which we perform this test.  From
133768         Bruno Haible.
133770 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133772         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
133773         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
133774         <utmpx.h> exists, put readutmp.o into LIBOBJS.
133776 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133778         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
133780 2000-06-26  Paul Eggert  <eggert@twinsun.com>
133782         savedir now sets errno on failure and invokes xmalloc to get memory.
133783         Fix a couple of other minor bugs while we're at it.
133785         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
133786         (NAMLEN): Remove macro.
133787         (malloc, realloc): Remove decls.
133788         (stpcpy): Likewise.
133789         ("xalloc.h"): Include.
133790         (NAME_SIZE_DEFAULT): New macro.
133791         (savedir): Use xmalloc / xrealloc to allocate memory.
133792         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
133793         Skip "" directory entries.
133794         Use strlen to calculate directory entry length, since the old method
133795         is rarely used these days and isn't worth supporting.
133796         Don't use a pointer after freeing it.
133797         Check for integer overflow when calculating allocation size.
133798         Use memcpy to copy entries, instead of stpcpy.
133799         Set errno properly when returning NULL.
133800         Check for readdir error.
133802 2000-06-26  Jim Meyering  <meyering@lucent.com>
133804         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
133806 2000-06-25  Jim Meyering  <meyering@lucent.com>
133808         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
133809         Linux header bug when _XOPEN_SOURCE is defined to 500.
133811 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133813         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
133814         deficiency.
133816 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133818         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
133819         Include xalloc.h.
133820         Don't include <stdlib.h>.  Don't declare malloc, realloc.
133822 2000-06-24  Jim Meyering  <meyering@lucent.com>
133824         * m4/strerror_r.m4: Revive this file -- to try out an experimental
133825         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
133826         for which strerror does return char*, but which lacks a conveniently
133827         accessible declaration of the function.  If the compile-test says
133828         strerror_r doesn't work, then resort to a `run'-test that works on
133829         BeOS and segfaults on DEC Unix.
133831 2000-06-24  Jim Meyering  <meyering@lucent.com>
133833         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
133835 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133837         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
133838         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
133840 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133842         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
133843         (mbrtowc, mbstate_t): Define substitutes if
133844         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
133845         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
133846         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
133848 2000-06-23  Jim Meyering  <meyering@lucent.com>
133850         * m4/afs.m4: Add missing AC_MSG_RESULT.
133851         Reported by Bruno Haible.
133853         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
133854         Suggestion from Bruno Haible.
133856 2000-06-23  Jim Meyering  <meyering@lucent.com>
133858         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
133860 2000-06-21  Jim Meyering  <meyering@lucent.com>
133862         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
133864 2000-06-21  Jim Meyering  <meyering@lucent.com>
133866         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
133867         (noinst_HEADERS): Add getstr.h.
133869         * lib/getline.c (getstr): Move into a separate file.
133870         * lib/getstr.c (getstr): New file, extracted from getline.c, with
133871         the following changes: new parameter, delim2; both delim[12]
133872         parameters have type `int', not `char'.  The latter would lose
133873         with 8-bit delimiters.
133874         * lib/getstr.h: New file.
133876 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133878         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
133879         than 1024, return a memory chunk of least possible size, instead
133880         of size PATH_MAX + 2. In the loop, increment the size proportionally.
133881         Use free/xmalloc instead of xrealloc to avoid copying for very long
133882         paths.
133884 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133886         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
133887         the empty string.
133889 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133891         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
133892         address, not strdup.  Include <stdlib.h> and don't declare free().
133894 2000-06-19  Jim Meyering  <meyering@lucent.com>
133896         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
133898 2000-06-18  Jim Meyering  <meyering@lucent.com>
133900         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
133902         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
133903         `checking whether...' message to be consistent with that of the
133904         lstat test.
133906 2000-06-18  Jim Meyering  <meyering@lucent.com>
133908         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
133909         Besides, these days every porting target provides a mkdir function.
133911         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
133912         needed. (this snippet comes from src/system.h).
133914 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
133916         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
133918 2000-06-15  Paul Eggert  <eggert@twinsun.com>
133920         * lib/human.c (adjust_value): New function.
133921         (human_readable_inexact): Apply rounding style even when
133922         printing approximate values.
133924 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133926         * lib/human.c (human_readable_inexact): Allow an input block
133927         size that is not a multiple of the output block size, and vice versa.
133928         Reported by Piergiorgio Sartor.
133930 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133932         * lib/getdate.y (get_date): Apply relative times after time
133933         zone indicator, not before.  Reported by Todd A. Jacobs.
133935 2000-06-13  Jim Meyering  <meyering@lucent.com>
133937         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
133939         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
133941 2000-06-12  Paul Eggert  <eggert@twinsun.com>
133943         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
133945 2000-06-12  Jim Meyering  <meyering@lucent.com>
133947         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
133948         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
133949         optional argument.
133950         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
133951         the optional argument, `lib'.
133953 2000-06-08  Jim Meyering  <meyering@lucent.com>
133955         * m4/largefile.m4: Remove file (now that it's part of autoconf).
133957 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133959         Rewrite largefile configuration so that we don't need to run
133960         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
133961         AC_CANONICAL_HOST in configure.in -- jmm]
133963         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
133964         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
133965         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
133966         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
133967         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
133968         All uses changed.
133969         Instead of inspecting the output of getconf, try to compile the
133970         test program without and with the macro definition.
133971         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
133972         for getconf.  Instead, check for the needed flags by compiling
133973         test programs.
133975 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133977         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
133979 2000-06-04  Jim Meyering  <meyering@lucent.com>
133981         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
133982         SunOS 4.1.4 for which gid_t is an unsigned type.
133984 2000-06-03  Jim Meyering  <meyering@lucent.com>
133986         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
133987         now that autoconf requires that.
133989         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
133990         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
133991         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
133993 2000-06-03  Jim Meyering  <meyering@lucent.com>
133995         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
133997 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133999         * m4/glibc21.m4: New file.
134000         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
134002 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
134004         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
134005         newer, don't install charset.alias.
134006         * lib/config.charset: Change the Linux/glibc rules so they become empty
134007         on glibc-2.1 or newer.
134009 2000-06-02  Jim Meyering  <meyering@lucent.com>
134011         * lib/mountlist.c: Back out last change.  Instead, do this...
134012         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
134013         me_dummy member using the same `ignore'-testing code.
134014         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
134015         fs_type strings.
134016         From Mark D. Roth.
134018 2000-05-29  Jim Meyering  <meyering@lucent.com>
134020         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
134021         mounts with the `ignore' attribute.  Based on a patch from
134022         Mark D. Roth.
134024 2000-05-28  Jim Meyering  <meyering@lucent.com>
134026         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
134027         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134028         * m4/stat.m4: Likewise.
134029         * m4/lstat.m4: Likewise.
134030         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
134032         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
134033         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
134035 2000-05-26  Jim Meyering  <meyering@lucent.com>
134037         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
134039 2000-05-24  Jim Meyering  <meyering@lucent.com>
134041         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
134042         autoconf requires that.
134043         * m4/lib-check.m4: Likewise.
134044         * m4/jm-macros.m4: Likewise.
134045         * m4/strftime.m4: Likewise.
134047         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
134048         AC_CHECK_DECLS, now that autoconf requires that.
134050 2000-05-22  Jim Meyering  <meyering@lucent.com>
134052         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134053         * m4/lstat.m4: Likewise.
134055 2000-05-22  Jim Meyering  <meyering@lucent.com>
134057         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
134059 2000-05-20  Jim Meyering  <meyering@lucent.com>
134061         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
134062         (jm_PREREQ): Use it.
134064 2000-05-18  Jim Meyering  <meyering@lucent.com>
134066         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
134067         back, too, since it may have been modified by allocate_entry.
134068         (hash_delete): Rewrite to use neither the assignment operator
134069         nor the comma operator in an if-expression.
134071 2000-05-15  Paul Eggert  <eggert@twinsun.com>
134073         * lib/closeout.c:
134074         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
134075         Remove; no longer needed.
134076         "quotearg.h": Add include.
134077         (file_name): Do not bother to explicitly initialize to NULL; it's less
134078         efficient on some hosts.
134079         (close_stdout_status): Remove test as to whether stdout was already
134080         closed; it breaks for the case "echo x | sort >&-".
134081         Quote file name colons.
134082         Do not assume that _("write error") lacks format strings.
134084 2000-05-15  Jim Meyering  <meyering@lucent.com>
134086         * lib/version-etc.c (version_etc_copyright): Update the copyright
134087         string used in all --version output.
134089 2000-05-14  Jim Meyering  <meyering@lucent.com>
134091         * lib/closeout.c (close_stdout_set_file_name): New function.
134092         (close_stdout_status): Use new file-scoped global.
134093         Return right away if fstat says the stdout file descriptor is invalid.
134094         * lib/closeout.h (close_stdout_set_file_name): Declare.
134096 2000-05-10  Jim Meyering  <meyering@lucent.com>
134098         * lib/closeout.c [default_exit_status]: New file-scoped variable.
134099         (close_stdout_set_status): New function.
134100         * lib/closeout.h (close_stdout_set_status): Declare.
134102 2000-05-09  Jim Meyering  <meyering@lucent.com>
134104         * m4/gettext.m4: Rename this...
134105         * m4/libintl.m4: ...to this.
134107 2000-05-08  Jim Meyering  <meyering@lucent.com>
134109         * lib/long-options.c: Don't include closeout.h.
134110         (parse_long_options): Don't call close_stdout for --version.
134112 2000-05-06  Paul Eggert  <eggert@twinsun.com>
134114         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
134115         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
134116         2.1.3 bug.  This avoids a clash when files like regex.c define
134117         _GNU_SOURCE.
134119 2000-05-06  Jim Meyering  <meyering@lucent.com>
134121         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
134122         (AC_REPLACE_FUNCS): Add strnlen.
134124         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
134125         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
134127         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
134128         AC_SEARCH_LIBS call for nanosleep.
134129         (LIB_NANOSLEEP): Set and AC_SUBST.
134131 2000-05-06  Jim Meyering  <meyering@lucent.com>
134133         * lib/strnlen.c: Undefine __strnlen and strnlen.
134134         [!weak_alias]: Define __strnlen to strnlen.
134136         * lib/atexit.c: New file, from libiberty.
134138 2000-05-06  Jim Meyering  <meyering@lucent.com>
134140         * lib/closeout.c (close_stdout_status): Also check for errors on the
134141         stderr stream.
134143 2000-05-05  Jim Meyering  <meyering@lucent.com>
134145         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
134146         AC_SEARCH_LIBS call for clock_gettime.
134147         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
134149         * m4/search-libs.m4: Update from autoconf.
134151         su doesn't work on Solaris 2.6.
134152         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
134153         <shadow.h>.  Reported by Dragos Harabor.
134155 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
134157         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
134158         memcpy instead of xmalloc, xrealloc, path_concat.
134159         (locale_charset): Treat empty environment variables as absent.
134160         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
134162 2000-05-04  Jim Meyering  <meyering@lucent.com>
134164         * lib/getopt.c: Update from glibc.
134165         * lib/obstack.c: Likewise.
134166         * lib/obstack.h: Likewise.
134167         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
134168         file
134170         * lib/regex.h: Likewise.
134171         * lib/strndup.c: Likewise.
134172         * lib/strnlen.c: New file, from glibc.
134174 2000-05-03  Jim Meyering  <meyering@lucent.com>
134176         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
134178 2000-05-02  Paul Eggert  <eggert@twinsun.com>
134180         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
134181         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
134182         compile-time test, rather than inspecting host and OS, to
134183         decide whether to define _LARGEFILE_SOURCE.
134185 2000-05-01  Jim Meyering  <meyering@lucent.com>
134187         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
134189         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
134190         Based on a patch from Bruno Haible.
134192 2000-05-01  Jim Meyering  <meyering@lucent.com>
134194         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
134196 2000-04-29  Jim Meyering  <meyering@lucent.com>
134198         * lib/path-concat.c: Declare strdup only if it's not defined.
134199         * lib/canon-host.c: Likewise.
134201 2000-04-28  Jim Meyering  <meyering@lucent.com>
134203         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
134204         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
134205         is included first, then limits.h is included by locale.h by libintl.h.
134206         From John David Anglin.
134208 2000-04-25  Jim Meyering  <meyering@lucent.com>
134210         * lib/makepath.c (S_IRWXUGO): Define.
134211         (make_path): Always perform explicit chmod if MODE specifies any
134212         of the `special' permission bits.  Prompted by a bug report against
134213         install from Mate Wierdl and Joost van Baal.
134215 2000-04-18  Jim Meyering  <meyering@lucent.com>
134217         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
134218         (jm_PREREQ): Use it.
134220 2000-04-18  Jim Meyering  <meyering@lucent.com>
134222         * lib/README: New file.
134224         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
134225         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
134227 2000-04-17  Jim Meyering  <meyering@lucent.com>
134229         Get it right :-)
134230         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
134231         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
134232         Suggestion from Akim Demaille.
134234 2000-04-17  Jim Meyering  <meyering@lucent.com>
134236         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
134237         the definition of it to rpl_strftime also defined-away the system's
134238         declaration.
134240 2000-04-15  Jim Meyering  <meyering@lucent.com>
134242         Use `C' to denote so-called `contiguous' files, the same way
134243         that tar does.
134244         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
134245         (ftypelet): Use S_ISCTG.
134246         From Michael Deutschmann.
134248 2000-04-14  Jim Meyering  <meyering@lucent.com>
134250         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
134251         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
134252         clobbered.
134254 2000-04-14  Jim Meyering  <meyering@lucent.com>
134256         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
134258 2000-04-13  Jim Meyering  <meyering@lucent.com>
134260         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
134261         AH_VERBATIM to insert required #ifndef into config.h.in.
134262         Suggestion from Akim Demaille.
134264 2000-04-12  Jim Meyering  <meyering@lucent.com>
134266         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
134267         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
134268         Christian Krackowizer.
134270         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
134271         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
134272         (AC_SYS_LARGEFILE): Require.
134273         (AM_C_PROTOTYPES): Require.
134275 2000-04-08  Jim Meyering  <meyering@lucent.com>
134277         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
134278         names don't conflict.  Reported by Eli Zaretskii.
134280 2000-04-07  Jim Meyering  <meyering@lucent.com>
134282         * lib/putenv.c: Move inclusion of errno.h so it follows that of
134283         sys/types.h, to work around system header problems on AIX 3.2.5.
134284         From Bruno Haible.
134286 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
134288         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
134289         bug.  Deal with the different error behavior of Irix iconv.
134291 2000-04-05  Paul Eggert  <eggert@twinsun.com>
134293         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
134294         IRIX if the installer said otherwise.
134296 2000-04-05  Jim Meyering  <meyering@lucent.com>
134298         Portability tweaks required for ultrix4.3.
134299         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
134300         (jm_CHECK_DECLS): Add getutent to the list of functions.
134301         (_jm_DECL_HEADERS): Add utmpx.h.
134302         From John David Anglin.
134304         * m4/strftime.m4: Back out the 2000-04-02 change.
134305         Instead of that change, simply undefine putenv in the test program.
134307 2000-04-05  Jim Meyering  <meyering@lucent.com>
134309         Portability tweaks required for ultrix4.3.
134310         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
134311         getutent.
134312         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
134313         * lib/canon-host.c: Declare strdup.
134314         * lib/path-concat.c: Likewise.
134315         From John David Anglin.
134317 2000-04-04  Jim Meyering  <meyering@lucent.com>
134319         Be more DOS 8.3-friendly.
134320         * lib/ref-add.sin: Renamed from ref-add.sed.in.
134321         * lib/ref-del.sin: Renamed from ref-del.sed.in.
134322         * lib/Makefile.am: Reflect renaming.
134323         Reported by Eli Zaretskii.
134325         Use a temporary file name that won't clash with `charset.alias'
134326         in the DOS 8.3 name space.
134327         * lib/Makefile.am (charset_tmp): Define.
134328         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
134329         (uninstall-local): Likewise.
134330         Reported by Eli Zaretskii.
134332 2000-04-03  Jim Meyering  <meyering@lucent.com>
134334         * m4/gettext.m4: Fix typo in comment.
134336         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
134337         textutils/configure.in).  Suggestion from Paul Eggert.
134338         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
134340 2000-04-02  Paul Eggert  <eggert@twinsun.com>
134342         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
134343         variable in the shell rather than using putenv, which isn't
134344         portable.  This avoids the configure-time inter-test dependency
134345         on the potentially-renamed putenv function.
134347 2000-03-30  Paul Eggert  <eggert@twinsun.com>
134349         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
134350         before checking struct stat.st_blksize, so that
134351         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
134353 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134355         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
134356         since strftime.c uses HAVE_STRFTIME to decide whether to use
134357         the underlying strftime.
134359 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134361         * lib/time/strftime.c (my_strftime): Make sure we call the system
134362         strftime, not ourselves, when invoking the underlying strftime.
134364 2000-03-24  Jim Meyering  <meyering@lucent.com>
134366         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
134367         (charset_alias): Define.
134368         (install-exec-local): Factor out common code.
134369         (uninstall-local): Split lines longer than 80.
134370         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
134371         (SUFFIXES): Define.
134372         (.sed.in.sed): New rule.  Don't redirect directly to $@.
134373         (CLEANFILES): Add ref-add.sed and ref-del.sed.
134375 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
134377         * lib/config.charset: Output a line containing "Packages using this
134378         file".
134379         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
134380         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
134381         ref-del.sed): New rules.
134383 2000-03-17  Jim Meyering  <meyering@lucent.com>
134385         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
134386         Otherwise, include <strings.h>
134388 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
134390         * lib/unicodeio.c (utf8_wctomb): New function.
134391         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
134392         format instead of in UCS-4 with platform dependent endianness.
134394 2000-03-10  Jim Meyering  <meyering@lucent.com>
134396         * m4/lib-check.m4: Look for getspnam in -lgen, too.
134397         From Marco Franzen.
134399 2000-03-07  Paul Eggert  <eggert@twinsun.com>
134401         * lib/savedir.c (savedir): Work even if directory size is
134402         negative; this can happen with some screwy NFS configurations.
134404 2000-03-06  Jim Meyering  <meyering@lucent.com>
134406         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
134407         if it's NULL (because we ran out of memory).  From Bruno Haible.
134409 2000-03-05  Jim Meyering  <meyering@lucent.com>
134411         * lib/localcharset.c ("path-concat.h"): Include.
134412         (get_charset_aliases): Use path_concat instead of ANSI string
134413         concatenation.
134415         * lib/unicodeio.h (PARAMS): Define.
134416         Use it to guard prototype.
134418 2000-03-04  Jim Meyering  <meyering@lucent.com>
134420         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
134421         for lib/localcharset.c.
134423 2000-03-04  Jim Meyering  <meyering@lucent.com>
134425         * lib/Makefile.am (install-exec-local): Create $(libdir) before
134426         installing into it.
134427         (uninstall-local): Uncomment this rule so `make distcheck' works
134428         once again.
134430         * lib/unicodeio.c (<errno.h>): Include it.
134431         (errno): Declare if not defined.
134433         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
134435         * lib/config.charset: New version, incorporating remarks from a linux
134436         i18n mailing list.  From Bruno Haible.
134438 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
134440         * m4/codeset.m4: New file.
134441         * m4/iconv.m4: New file.
134442         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
134444 2000-03-03  Jim Meyering  <meyering@lucent.com>
134446         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
134448 2000-03-02  Jim Meyering  <meyering@lucent.com>
134450         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
134451         the messages come out on separate lines.
134453         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
134454         rather than jm_CHECK_DECLARATIONS.
134455         * m4/decl.m4: Remove now-unused file.
134457         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
134458         geteuid.
134460 2000-03-02  Jim Meyering  <meyering@lucent.com>
134462         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
134464 2000-03-01  Jim Meyering  <meyering@lucent.com>
134466         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
134467         * lib/unicodeio.c: Likewise.
134469 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
134471         * lib/config.charset: New file.
134472         * lib/localcharset.c: New file.
134473         * lib/unicodeio.h, lib/unicodeio.c: New files.
134474         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
134475         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
134476         (noinst_HEADERS): Add unicodeio.h.
134477         (all-local, install-exec-local, charset.alias): New targets.
134479 2000-02-28  Paul Eggert  <eggert@twinsun.com>
134481         * lib/quotearg.c (ALERT_CHAR): New macro.
134482         (quotearg_buffer_restyled): Use it.
134484 2000-02-27  Jim Meyering  <meyering@lucent.com>
134486         * m4/check-decl.m4: Add getenv to the list.
134488 2000-02-27  Jim Meyering  <meyering@lucent.com>
134490         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
134491         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
134493         * lib/backupfile.c: Guard inclusion of stdlib.h with
134494         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
134495         Declare malloc if needed.
134497         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
134498         `#ifndef HAVE_DECL..'
134499         now that autoconf always defines the HAVE_DECL_ symbols.
134500         * lib/human.c: Likewise.
134501         * lib/same.c: Likewise.
134502         * lib/strtoumax.c: Likewise.
134504         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
134505         declaration check was not run.
134506         * lib/hash.c: Likewise.
134507         * lib/human.c: Likewise.
134508         * lib/same.c: Likewise.
134509         * lib/strtoumax.c: Likewise.
134511         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
134512         `.', then first look up the entire `.'-containing string as a login
134513         name.
134515 2000-02-23  Jim Meyering  <meyering@lucent.com>
134517         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
134518         in place of my hack.
134520 2000-02-18  Paul Eggert  <eggert@twinsun.com>
134522         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
134523         (textint): New typedef.
134524         (parser_control): Member year changed from int to textint.
134525         All uses changed.
134526         (YYSTYPE): Removed; replaced by %union with int and textint members.
134527         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
134528         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
134529         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
134530         (tSNUMBER, tUNUMBER): Now of type <textintval>.
134531         (date, number, to_year): Use width of number in digits, not its value,
134532         to determine whether it's a 2-digit year, or a 2-digit time.
134533         (yylex): Store number of digits of numeric tokens.
134534         Reported by John Kendall.
134536         (parser_control): Changed from struct parser_control to typedef (for
134537         consistency).  All uses changed.
134539         (tID): Removed; not used.
134540         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
134542 2000-02-14  Paul Eggert  <eggert@twinsun.com>
134544         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
134545         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
134547 2000-02-12  Jim Meyering  <meyering@lucent.com>
134549         * lib/userspec.c (ISDIGIT): Define it.
134550         (isdigit): Remove definition.
134551         (is_number): Use ISDIGIT, not isdigit.
134552         <libintl.h>: Include.
134553         (_ and N_): Define.
134554         (parse_user_spec): Mark translatable strings.
134556 2000-02-10  Jim Meyering  <meyering@lucent.com>
134558         With these changes, nanosleep.[ch] are finally enough like the other
134559         lib/* replacement files to compile on a few more losing systems.
134561         * lib/nanosleep.h: Don't include config.h.
134562         Remove prototype from declaration of nanosleep.
134563         (PARAMS): Remove now-unneeded definition.
134564         * lib/nanosleep.c: #undef nanosleep.
134565         (rpl_nanosleep): Rename from nanosleep.
134567 2000-02-10  Jim Meyering  <meyering@lucent.com>
134569         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
134570         gnu_nanosleep to rpl_nanosleep.
134572 2000-02-09  Jim Meyering  <meyering@lucent.com>
134574         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
134575         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
134577 2000-02-08  Akim Demaille  <akim@epita.fr>
134579         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
134580         `[' and `]' and remove uses of `changequote'.
134581         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
134582         (AC_SYS_LARGEFILE): Likewise.
134583         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
134584         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
134585         of changequote.
134586         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
134587         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
134588         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
134589         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
134591 2000-02-05  Jim Meyering  <meyering@lucent.com>
134593         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
134594         Remove explicit use of AC_HEADER_TIME.  It is required by
134595         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
134596         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
134597         in autoconf whereby the expansion of the latter ended up preceding
134598         the expansion of its prerequisite, AC_HEADER_TIME.
134599         Reported by Volker Borchert.
134601 2000-02-03  Jim Meyering  <meyering@lucent.com>
134603         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
134605 2000-02-03  Jim Meyering  <meyering@lucent.com>
134607         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
134608         rather than with `#if HAVE_UTMPNAME'.
134610 2000-02-02  Jim Meyering  <meyering@lucent.com>
134612         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
134613         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
134614         Reported by Eli Zaretskii.
134616 2000-02-01  Jim Meyering  <meyering@lucent.com>
134618         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
134620 2000-01-31  Jim Meyering  <meyering@lucent.com>
134622         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
134623         functions.  Add the time.h and sys/time.h headers along with the
134624         AC_REQUIRE'ment of AC_HEADER_TIME.
134626 2000-01-31  Jim Meyering  <meyering@lucent.com>
134628         * lib/nanosleep.h (nanosleep): Guard declaration with
134629         `#if ! HAVE_DECL_NANOSLEEP'.
134630         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
134631         the declaration in that vendor's sys/timers.h.
134632         Reported by Christian Krackowizer.
134634         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
134635         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
134636         (ISPRINT): Likewise.
134637         Reported by Tom Tromey.
134639 2000-01-30  Jim Meyering  <meyering@lucent.com>
134641         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
134643         * m4/prereq.m4 (utmp_includes): Define.
134644         Check for ut_user and ut_name members in both struct utmpx
134645         and struct utmp.
134647 2000-01-30  Jim Meyering  <meyering@lucent.com>
134649         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
134650         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
134651         header files where only utmpx.ut_user is declared.
134653         * lib/readutmp.h (UT_USER): Define.
134655 2000-01-29  Jim Meyering  <meyering@lucent.com>
134657         * m4/lib-check.m4: New file containing library-related checks from
134658         fileutils and sh-utils (textutils had none).
134660 2000-01-28  Jim Meyering  <meyering@lucent.com>
134662         * m4/perl.m4: Change format of warning message to look more like that
134663         from the missing script.  Suggestion from François Pinard.
134665 2000-01-25  Jim Meyering  <meyering@lucent.com>
134667         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
134668         well as time.h in the compile check.
134669         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
134670         Fix typo in cross-compiling case: s/yes/no/.
134672 2000-01-23  Jim Meyering  <meyering@lucent.com>
134674         * m4/jm-macros.m4: Move df-related tests here from
134675         fileutils/configure.in
134677         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
134678         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
134680         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
134681         s/space/ac_fsusage_space/.
134682         (jm_FILE_SYSTEM_USAGE): Take two parameters.
134684         * m4/ftruncate.m4: New file (derived from part of
134685         fileutils/configure.in).
134686         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
134687         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
134689         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
134690         AC_SUBST these here, rather than just in sh-util/configure.in, so
134691         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
134692         all the same.
134693         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
134694         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
134695         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
134696         (AC_SUBST(POW_LIBM)): Likewise.
134697         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
134699 2000-01-23  Jim Meyering  <meyering@lucent.com>
134701         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
134702         obstack.c.
134704 2000-01-22  Jim Meyering  <meyering@lucent.com>
134706         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
134708         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
134710         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
134711         configure.in
134712         (AC_CHECK_HEADERS): Likewise for sh-utils.
134713         (AC_CHECK_HEADERS): Likewise for textutils.
134714         Merge the three lists of headers.
134716         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
134717         from fileutils' configure.in.
134719         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
134720         code. Moved tests into their own function (_jm_DECL_HEADERS) in
134721         check-decl.m4.
134723         * m4/check-decl.m4: Use #if rather than #ifdef.
134724         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
134725         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
134726         (_jm_DECL_HEADERS): Define new function.
134727         (jm_CHECK_DECLARATIONS): Require it.
134729 2000-01-22  Jim Meyering  <meyering@lucent.com>
134731         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
134732         [! HAVE_DECL_STRTOULL]: Declare strtoull.
134733         Required for some AIX systems.  Reported by Christian Krackowizer.
134734         [TESTING] (main): New function.
134736         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
134737         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
134738         letters.
134740         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
134741         iswprint.
134743         * lib/strverscmp.c (ISDIGIT): Define.
134744         (strverscmp): Use ISDIGIT, not isdigit.
134746 2000-01-19  Jim Meyering  <meyering@lucent.com>
134748         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
134749         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
134750         defines `struct timespec' in <sys/time.h>
134752         * m4/c-bs-a.m4: Remove uses of changequote altogether.
134753         Thanks to Akim for explaining.
134755 2000-01-17  Paul Eggert  <eggert@twinsun.com>
134757         * lib/nanosleep.c (nanosleep):
134758         Don't use SA_INTERRUPT to decide whether to call sigaction, as
134759         POSIX.1 doesn't require SA_INTERRUPT and some systems
134760         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
134761         it's been part of POSIX.1 since day 1 (in 1988).
134763 2000-01-17  Jim Meyering  <meyering@lucent.com>
134765         * lib/interlock: Remove unused file.  Reported by François Pinard.
134767 2000-01-16  Paul Eggert  <eggert@twinsun.com>
134769         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
134770         alert, backslash, formfeed, and vertical tab unnecessarily in
134771         shell quoting style.
134773 2000-01-16  Jim Meyering  <meyering@lucent.com>
134775         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
134776         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
134777         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
134778         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
134780 2000-01-16  Jim Meyering  <meyering@lucent.com>
134782         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
134783         because the latter didn't work.
134785 2000-01-15  Jim Meyering  <meyering@lucent.com>
134787         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
134788         (AC_REPLACE_FUNCS): Add memcpy and memset.
134789         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
134790         Add strpbrk.
134791         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
134793 2000-01-12  Jim Meyering  <meyering@lucent.com>
134795         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
134796         (jm_PREREQ): Use it.
134797         (jm_PREREQ_READUTMP): New macro.
134798         (jm_PREREQ): Use it.
134800 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134802         Quote multibyte characters correctly.
134803         * m4/c-bs-a.m4: New file.
134804         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
134805         (jm_PREREQ): Use it.
134807 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134809         * m4/uintmax_t.m4: Port to autoconf 2.13.
134811 2000-01-08  Jim Meyering  <meyering@ascend.com>
134813         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
134814         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
134816 2000-01-04  Jim Meyering  <meyering@ascend.com>
134818         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
134819         jm_STRUCT_DIRENT_D_TYPE.
134820         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
134821         jm_STRUCT_DIRENT_D_INO.
134822         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
134823         jm_STRUCT_UTIMBUF.
134824         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
134825         renamings.
134826         * m4/utime.m4: Likewise.
134828         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
134829         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
134831 2000-01-03  Paul Eggert  <eggert@twinsun.com>
134833         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
134834         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
134836 2000-01-02  Jim Meyering  <meyering@ascend.com>
134838         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
134839         remember if this is necessary.
134841 1999-12-26  Jim Meyering  <meyering@ascend.com>
134843         * m4/jm-macros.m4: Use it here.
134844         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
134846 1999-12-23  Jim Meyering  <meyering@ascend.com>
134848         * m4/jm-macros.m4: Check for clock_gettime (moved from
134849         fileutils/configure.in)
134850         Check for gettimeofday.
134852 1999-12-20  Jim Meyering  <meyering@ascend.com>
134854         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
134855         autoconf-2.14a-1999-12-20.
134857 1999-12-19  Jim Meyering  <meyering@ascend.com>
134859         * m4/lstat-slash.m4: New file.
134860         * m4/jm-macros.m4: Use the new macro:
134861         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134863 1999-12-07  Jim Meyering  <meyering@ascend.com>
134865         * m4/perl.m4: Require that File::Compare be available, too.
134866         Too many systems seem to lack it.
134868         * m4/strftime.m4: Add checks for most of the cpp macros tested in
134869         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
134871 1999-11-18  Paul Eggert  <eggert@twinsun.com>
134873         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
134874         problem with the QNX 4.25 shell, which doesn't propagate exit
134875         status of failed commands inside shell assignments.
134877 1999-11-17  Jim Meyering  <meyering@ascend.com>
134879         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
134881 1999-11-07  Jim Meyering  <meyering@ascend.com>
134883         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
134885 1999-11-06  Jim Meyering  <meyering@ascend.com>
134887         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
134888         * m4/jm-macros.m4 (jm_MACROS): Use it here.
134890 1999-11-05  Jim Meyering  <meyering@ascend.com>
134892         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
134893         configure.in of textutils, fileutils, and sh-utils into this one
134894         (shared between those packages) file.
134895         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
134896         AC_STRUCT_ST_BLKSIZE.
134898 1999-11-03  Jim Meyering  <meyering@ascend.com>
134900         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
134901         of AC_CHECK_TYPE checks includes unistd.h.
134902         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
134903         Suggestion from Akim Demaille.
134905 1999-10-30  Jim Meyering  <meyering@ascend.com>
134907         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
134908         m4-quoted string.
134909         * m4/ls-mntd-fs.m4: Likewise.
134910         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
134911         * m4/jm-winsz1.m4: Likewise.
134913         * m4/const.m4: Remove file, since the fix made it into the experimental
134914         version of autoconf.
134915         * m4/mktime.m4: Likewise.
134917         * m4/check-type.m4: Remove file, now that the latest version of
134918         AC_CHECK_TYPE takes a third arg to specify additional #includes.
134920         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
134921         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
134922         AC_CHECK_TYPE.
134924 1999-10-04  Jim Meyering  <meyering@ascend.com>
134926         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
134928 1999-09-22  Paul Eggert  <eggert@twinsun.com>
134930         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
134931         2.95.1 bug with HP-UX 10.20.
134933 1999-09-17  Jim Meyering  <meyering@ascend.com>
134935         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
134936         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
134937         due to missing strdup (against sh-utils-2.0).
134939 1999-08-29  Jim Meyering  <meyering@ascend.com>
134941         * m4/jm-macros.m4: Require jm_BISON.
134942         * m4/bison.m4: New file.
134944 1999-08-17  Paul Eggert  <eggert@twinsun.com>
134946         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
134947         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
134949 1999-08-05  Jim Meyering  <meyering@ascend.com>
134951         * m4/getline.m4: Rename test file from conftestdata to conftest.data
134952         to avoid conflicts with `conftest' on 8+3 filesystems.
134953         Suggestion from Eli Zaretskii.
134955 1999-08-04  Jim Meyering  <meyering@ascend.com>
134957         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
134958         fileutils and sh-utils (textutils's getline test was inadequate).
134959         (AM_FUNC_GETLINE): Run this test.
134960         (AC_CHECK_FUNCS): Check for getdelim.
134961         Reported by Bob Proulx.
134963 1999-08-02  Jim Meyering  <meyering@ascend.com>
134965         * m4/jm-macros.m4: Add a comment.
134967 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134969         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
134970         <inttypes.h> defines strtoumax as a macro (and not as a
134971         function).
134973 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134975         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
134976         that we can shift, multiply and divide unsigned long long
134977         values; Ultrix cc can't do it.
134979 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134981         * m4/mktime.m4: New file, which is a preview of what should appear
134982         in the next public autoconf release.
134984 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134986         * m4/lfs.m4: Remove this file.
134987         * m4/largefile.m4: New file.  It contains the old contents of
134988         lfs.m4, except that all names with prefix AC_LFS have been
134989         changed to use the prefix AC_SYS_LARGEFILE instead, to be
134990         compatible with future autoconf versions.  Also, some minor m4
134991         quoting problems have been fixed.
134993 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134995         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
134996         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
134997         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
134998         and simplify the shell code.
135000 1999-08-01  Jim Meyering  <meyering@ascend.com>
135002         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
135003         m4.
135005 1999-07-20  Jim Meyering  <meyering@ascend.com>
135007         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
135009 1999-07-15  Jim Meyering  <meyering@ascend.com>
135011         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
135013 1999-05-22  Jim Meyering  <meyering@ascend.com>
135015         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
135017 1999-05-20  Jim Meyering  <meyering@ascend.com>
135019         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
135020         Add a colon after each `then' in case $4 is empty.
135022 1999-05-16  Jim Meyering  <meyering@ascend.com>
135024         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
135026 1999-05-10  Jim Meyering  <meyering@ascend.com>
135028         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
135030         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
135031         AC_FUNC_MKTIME.
135033 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
135035         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
135037 1999-05-04  Paul Eggert  <eggert@twinsun.com>
135039         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
135040         not CPPFLAGS, so that linking works correctly in IRIX.
135042 1999-04-30  Paul Eggert  <eggert@twinsun.com>
135044         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
135046 1999-04-20  Paul Eggert  <eggert@twinsun.com>
135048         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
135049         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
135050         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
135051         jm_AC_TYPE_UNSIGNED_LONG_LONG.
135052         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
135054         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
135056 1999-04-20  Jim Meyering  <meyering@ascend.com>
135058         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
135059         AC_REPLACE xstroull if necessary.  From Paul Eggert.
135060         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
135062 1999-04-18  Jim Meyering  <meyering@ascend.com>
135064         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
135065         * m4/jm-macros.m4: Use it.
135067 1999-04-06  Jim Meyering  <meyering@ascend.com>
135069         * m4/strftime.m4: Remove test for %f.
135071 1999-03-29  Jim Meyering  <meyering@ascend.com>
135073         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
135074         superset of the AC_TYPE_* checks in the textutils, fileutils,
135075         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
135076         AC_TYPE_PID_T.
135078 1999-03-28  Jim Meyering  <meyering@ascend.com>
135080         * m4/jm-macros.m4: Define GNU_PACKAGE here.
135081         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
135082         replaced e.g., in the *.sh files of the sh-utils.
135084 1999-03-20  Jim Meyering  <meyering@ascend.com>
135086         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
135087         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
135088         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
135090 1999-03-19  Jim Meyering  <meyering@ascend.com>
135092         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
135094 1999-03-12  Jim Meyering  <meyering@ascend.com>
135096         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
135098 1999-03-07  Jim Meyering  <meyering@ascend.com>
135100         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
135101         declared.
135103 1999-02-17  Jim Meyering  <meyering@ascend.com>
135105         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
135106         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
135108 1999-02-07  Jim Meyering  <meyering@ascend.com>
135110         * m4/group-member.m4: New file -- extracted from sh-utils'
135111         configure.in.
135113         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
135114         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
135116 1999-02-06  Jim Meyering  <meyering@ascend.com>
135118         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
135119         * m4/fnmatch.m4: Likewise.
135120         * m4/getgroups.m4: Likewise.
135121         * m4/lstat.m4: Likewise.
135122         * m4/malloc.m4: Likewise.
135123         * m4/putenv.m4: Likewise.
135124         * m4/realloc.m4: Likewise.
135125         * m4/regex.m4: Likewise.
135126         * m4/stat.m4: Likewise.
135127         * m4/strftime.m4: Likewise.
135128         Suggestion from Alain Magloire.
135130         * m4/chown.m4: Use `.$ac_objext', not `.o'.
135131         * m4/fnmatch.m4: Likewise.
135132         * m4/getgroups.m4: Likewise.
135133         * m4/getline.m4: Likewise.
135134         * m4/lstat.m4: Likewise.
135135         * m4/malloc.m4: Likewise.
135136         * m4/memcmp.m4: Likewise.
135137         * m4/putenv.m4: Likewise.
135138         * m4/realloc.m4: Likewise.
135139         * m4/regex.m4: Likewise.
135140         * m4/stat.m4: Likewise.
135141         * m4/strftime.m4: Likewise.
135142         Suggestion from Alain Magloire.
135144         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
135145         an argument.
135147         * m4/regex.m4: Add a run-time Test for proper operation of
135148         re_compile_pattern.
135150 1999-01-31  Jim Meyering  <meyering@ascend.com>
135152         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
135154 1999-01-30  Jim Meyering  <meyering@ascend.com>
135156         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
135158         * m4/jm-mktime.m4: Make this a wrapper around the official
135159         AM_FUNC_MKTIME rather than my private copy, now that the official one
135160         is up to date.
135161         * m4/mktime.m4: Remove file.
135163         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
135164         * m4/uptime.m4: Likewise.
135165         * m4/uintmax_t.m4: Likewise.
135167 1999-01-28  Jim Meyering  <meyering@ascend.com>
135169         * m4/jm-macros.m4: Use jm_AFS.
135170         * m4/afs.m4: New file (from fileutils' configure.in).
135172         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
135173         * m4/chown.m4: Likewise.
135174         * m4/d-ino.m4: Likewise.
135175         * m4/d-type.m4: Likewise.
135176         * m4/fnmatch.m4: Likewise.
135177         * m4/getgroups.m4: Likewise.
135178         * m4/gettext.m4: Likewise.
135179         * m4/jm-mktime.m4: Likewise.
135180         * m4/jm-winsz2.m4: Likewise.
135181         * m4/lcmessage.m4: Likewise.
135182         * m4/ls-mntd-fs.m4: Likewise.
135183         * m4/malloc.m4: Likewise.
135184         * m4/memcmp.m4: Likewise.
135185         * m4/putenv.m4: Likewise.
135186         * m4/realloc.m4: Likewise.
135187         * m4/st_mtim.m4: Likewise.
135188         * m4/strftime.m4: Likewise.
135190 1999-01-16  Jim Meyering  <meyering@ascend.com>
135192         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
135193         (ARGMATCH_DIE_DECL): Define.
135195 1999-01-12  Jim Meyering  <meyering@ascend.com>
135197         * m4/Makefile.am.in: Rewrite to avoid using fmt.
135198         Reported by Lars Hecking.
135200 1999-01-10  Jim Meyering  <meyering@ascend.com>
135202         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
135203         gross kludge.
135204         * m4/inttypes_h.m4: Likewise.
135205         * m4/lstat.m4: Likewise.
135206         * m4/malloc.m4: Likewise.
135207         * m4/readdir.m4: Likewise.
135208         * m4/realloc.m4: Likewise.
135209         * m4/st_dm_mode.m4: Likewise.
135210         * m4/stat.m4: Likewise.
135211         * m4/utimbuf.m4: Likewise.
135212         * m4/utimes.m4: Likewise.
135214         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
135215         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
135216         comments in config.h.in are meaningful.
135218         * m4/jm-macros.m4: Require autoconf-2.13 here.
135220         * m4/regex.m4: By default, don't use the included regex.c on systems
135221         with glibc 2.  Suggestion from Uli Drepper.
135223 1999-01-02  Jim Meyering  <meyering@ascend.com>
135225         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
135227 1998-12-18  Jim Meyering  <meyering@ascend.com>
135229         * m4/Makefile.am.in (Makefile.am): Simplify rule.
135230         Based on a suggestion from Lars Hecking.
135232 1998-11-16  Paul Eggert  <eggert@twinsun.com>
135234         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
135236 1998-11-16  Jim Meyering  <meyering@ascend.com>
135238         * m4/lfs.m4: Double-quote the `uname...` expression.
135240 1998-11-14  Jim Meyering  <meyering@ascend.com>
135242         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
135243         * m4/stat.m4: Likewise.
135245 1998-11-03  Jim Meyering  <meyering@ascend.com>
135247         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
135248         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
135250 1998-10-18  Jim Meyering  <meyering@ascend.com>
135252         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
135254 1998-10-17  Jim Meyering  <meyering@ascend.com>
135256         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
135257         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
135258         calls for those previously hard-coded headers.  Instead, take a new
135259         parameter.
135260         (jm_CHECK_DECLARATIONS): Reflect interface change.
135261         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
135262         (jm_CHECK_DECL_LOCALTIME_R): New macro.
135264         * m4/mktime.m4: Test for spring-forward gap before long-running test.
135266 1998-10-14  Jim Meyering  <meyering@ascend.com>
135268         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
135269         instead of "TZ=America/Vancouver".  From Paul Eggert.
135271 1998-10-11  Jim Meyering  <meyering@ascend.com>
135273         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
135274         This adds a test for a recently added compatibility fix for mktime.c.
135275         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
135277 1998-09-27  Jim Meyering  <meyering@ascend.com>
135279         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
135281         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
135282         ../configure.in, including a change from Gordon Matzigkeit to allow
135283         cross-compiling for the Hurd.
135285         * m4/glibc.m4: New file/macro to test for the GNU C Library
135286         versions 1 and 2.  From Gordon Matzigkeit.
135287         Indent.
135289 1998-09-21  Jim Meyering  <meyering@ascend.com>
135291         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
135293 1998-08-18  Paul Eggert  <eggert@twinsun.com>
135295         Port nanosecond-resolution times to UnixWare 2.1.2 and
135296         pedantic Solaris 2.6.
135298         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
135299         AC_STRUCT_ST_MTIM.
135300         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
135301         Generate name of ns member, instead of just 1 or undef.
135302         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
135304 1998-08-15  Jim Meyering  <meyering@ascend.com>
135306         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
135307         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
135308         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
135309         instead of jm_TYPE_SSIZE_T.
135311 1998-08-12  Jim Meyering  <meyering@ascend.com>
135313         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
135315 1998-08-02  Jim Meyering  <meyering@ascend.com>
135317         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
135318         in acconfig.h manually.
135320 1998-07-31  Paul Eggert  <eggert@twinsun.com>
135322         * m4/st_mtim.m4: New file.
135324 1998-07-28  Jim Meyering  <meyering@ascend.com>
135326         * m4/utimes.m4: Undef stat.
135328 1998-07-25  Jim Meyering  <meyering@ascend.com>
135330         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
135331         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
135333 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
135335         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
135336         uid and gid actually remain unchanged.
135338 1998-07-07  Jim Meyering  <meyering@ascend.com>
135340         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
135342 1998-07-04  Jim Meyering  <meyering@ascend.com>
135344         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
135345         to prove that this macro can be used in packages without regex.c.
135347 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
135349         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
135350         is to be used.
135352 1998-07-03  Jim Meyering  <meyering@ascend.com>
135354         * m4/gettext.m4: Add -lintl if it's found to be necessary.
135356         * m4/gettext.m4: New file -- from gettext-0.10.35.
135357         * m4/lcmessage.m4: Likewise.
135358         * m4/progtest.m4: Likewise.
135360         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
135361         * m4/jm-macros.m4: Require the new macro.
135363 1998-06-29  Jim Meyering  <meyering@ascend.com>
135365         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
135366         for the definition of NGROUPS (used in a system header included
135367         by sys/mount.h).
135369 1998-06-28  Jim Meyering  <meyering@ascend.com>
135371         * m4/ls-mntd-fs.m4: New file.
135372         * m4/fstypename.m4: New file.
135374         * m4/jm-macros.m4: Require the new macro.
135375         * m4/jm-glibc-io.m4: New file.
135377 1998-05-19  Jim Meyering  <meyering@ascend.com>
135379         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
135380         * m4/lchown.m4: New file.
135382         * m4/Makefile.am.in: New file.
135383         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
135385 1998-05-14  Jim Meyering  <meyering@ascend.com>
135387         * m4/Makefile.am (EXTRA_DIST): Add them.
135388         * m4/jm-macros.m4: New file.
135389         * m4/utimbuf.m4: New file.
135391 1998-05-12  Jim Meyering  <meyering@ascend.com>
135393         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
135395 1998-05-11  Jim Meyering  <meyering@ascend.com>
135397         * m4/isc-posix.m4: New file.
135399 1998-05-10  Jim Meyering  <meyering@ascend.com>
135401         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
135403 1998-05-09  Jim Meyering  <meyering@ascend.com>
135405         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
135406         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
135407         with automake.
135409         * m4/ssize_t.m4: New file.
135410         * m4/mktime.m4: Remove file -- the new automake has this now.
135412 1998-04-26  Jim Meyering  <meyering@ascend.com>
135414         * m4/assert.m4: New file.
135415         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
135417 1998-04-05  Jim Meyering  <meyering@ascend.com>
135419         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
135420         (jm_PREREQ): Use it here.
135422 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
135424         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
135425         in acconfig.h.
135427 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
135429         * m4/prereq.m4: New file.
135430         * m4/error.m4: New file.
135431         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
135433 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
135435         * m4/getline.m4: Don't set am_cv_func_working_getline before the
135436         cache-check for the same variable -- that defeated the purpose of
135437         the test; the test program was never run.  This was a problem only
135438         on systems with losing getline functions -- HP-UX 10.20 is one.
135439         Reported by Bjorn Helgaas.
135441 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
135443         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
135445 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
135447         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
135449         * m4/const.m4: New file.  Use an initializer in this declaration
135450         typedef int charset[2]; const charset x;
135451         Reported by Bob Glickstein.
135453 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
135455         * m4/chown.m4: Fix reversed types on -1 args to chown.
135456         From Kaveh Ghazi.
135458 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
135460         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
135461         Add lseek and memchr.
135463         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
135464         T.E.Dickey <dickey@clark.net> said that some older preprocessors
135465         have a 20-character limit on names.
135467 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
135469         * m4/inttypes_h.m4: New file.
135470         * m4/uintmax_t.m4: New file.
135471         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
135474         -----
135476         Local Variables:
135477         coding: utf-8
135478         End:
135480         Copyright (C) 1997-2021 Free Software Foundation, Inc.
135482         Copying and distribution of this file, with or without
135483         modification, are permitted provided the copyright notice
135484         and this notice are preserved.